The Personalized Item in the Cart

Three things change on a cart row: the picture becomes their design, an Edit personalization link appears, and their extras are listed. Each comes from a different place, and one of them lives only in their browser.

A shopper who has personalized something expects to see it in the cart, not your catalogue photo. Composerie changes three things on that row. This guide explains what each one is, where it comes from, and what makes it stop working, so a missing thumbnail is a five-minute diagnosis rather than a mystery.

What changes on the row

One row, three mechanisms. They fail separately.

The thumbnail

The row shows the shopper’s own design instead of the product image. The swap happens after the page renders, so on a slow connection the catalogue photo can appear first for a moment.

It runs from your theme, either through the app embed or through the cart line item preview block, and it re-applies when a cart drawer opens or the cart re-renders. See make Composerie visible on your store.

Below the item details, a link reading Edit personalization reopens the customizer on that exact cart line, with everything they chose still filled in. Saving replaces that line rather than adding a second one.

That link is built from a record kept in the shopper’s own browser, and it lasts thirty days. It is deliberately narrow: the link only works when the record matches the same product, the same variant and the same design.

A missing Edit link is almost always a different browser, not a fault.

The extras

Priced add-ons appear under the item as ordinary Shopify line-item properties, grouped as Extras. Composerie does not draw those; Shopify does, from the properties on the line. See charging extra for personalization.

What a shopper is stopped from doing

Rules you set on a field are enforced before anything reaches the cart, so the cart never holds a value your design cannot print.

A missing required field gives “Please complete”, naming the field. A value that breaks the rules gives “Please check”, naming the field, and a value in the wrong shape gives a format message. A required add-on gives “Please choose”, naming the add-on. See what a personalization field is for setting those rules.

When the row looks wrong

The photo is still your catalogue image. The swap is theme JavaScript, so start with the app embed. If it is off, nothing on the row changes. See troubleshoot theme placement.

The right design, on the wrong row. Composerie matches rows by their cart key and only falls back to position when a theme exposes no key. A theme in that group can mismatch rows after an update; report it with the theme name.

No Edit link, correct item. That is the browser-local record being gone. Expected on another device, after thirty days, or after clearing site data.

Common questions

Can a shopper change their design after checkout?

No. Editing is offered in the cart. Once the order exists it keeps its own revision, which is what makes production reproducible.

Does editing a cart line create a second line?

No. The edit replaces that line, keeping its quantity.

Why does the product photo flash before their design?

The swap runs after the page renders. On a fast connection it is not visible; on a slow one the catalogue image shows first.

Can I change the wording of the Edit link?

It comes from the app's theme extension and follows the store language rather than being set per shop.

Do the extras show at checkout too?

Yes, as line-item properties. Checkout is a Shopify surface with its own display. See checkout, thank you and order status.

Next

Read checkout, thank you and order status for the three surfaces after the cart, or how the cart interceptor works for what travels with the line.

Related articles