5 common causes
- Property key starts with underscore (intentionally hidden)
- Cart-item.liquid missing properties loop
- Cart drawer JS overrides template
- App not adding properties on add-to-cart
- Wrong property syntax
cart-item.liquid template
{% for property in item.properties %}
{% unless property.first[0] == '_' %}
<div>{{ property.first }}: {{ property.last }}</div>
{% endunless %}
{% endfor %}
Hidden underscore properties
Properties starting with _ (underscore) are hidden by Shopify convention. Used for print file URLs + metadata.
App conflict
Cart drawer app may override theme template. Check theme + app compatibility.
Frequently asked questions
Why doesn't cart show my personalization?
5 causes — underscore-prefix hides it, cart template missing loop, drawer JS overrides, app not adding, wrong syntax.
What are underscore line-item properties?
Hidden by Shopify convention. Used for metadata like print file URLs.
How to add properties loop to cart template?
Cart-item.liquid: {% for property in item.properties %}{{ property.first }}: {{ property.last }}{% endfor %}.
Cart drawer vs cart page?
Drawer uses JS. Page uses Liquid. Ensure both display properties.
App not adding properties?
Verify in personalizer dashboard. Test order end-to-end.
Wrong property syntax?
Must be properties[Field Name]. Case-sensitive. No leading/trailing spaces.
Photo upload URL in cart?
App stores URL as property. Cart template renders as image if value is URL.
Cart display in checkout?
Checkout auto-displays properties. Theme edit not needed for checkout.
Related reading
Try it free on Shopify
Print It My Way's permanent Free plan includes live preview, custom options, and Cart Transform pricing.
Install Print It My Way