Build your cart

Shopper copy

Rewrite any of the words the cart drawer shows a shopper, in one language or several, and see what happens to a box you leave empty.

What it is

Every word the drawer shows a shopper comes from us by default — Checkout, Subtotal, You might also like, and around eighty more. The Shopper copy screen is where you replace any of them with your own wording.

You do not have to fill anything in. Each box shows our current wording as grey placeholder text. Leave it alone and the shopper keeps seeing that. Type something and yours replaces it.

The same screen holds your other languages. Each language is a separate set of boxes, so a French shopper can read words you wrote in French.

Where the words appear

The boxes are grouped by where in the drawer the shopper sees them, not by which module they belong to. Each box is labelled with its internal name — checkout_button, empty_cart_heading — because that name is what the widget looks up. Use the group heading, the short description under it, and the grey placeholder to work out which box you want.

Screen-reader wording lives here too, in Announcements and errors. Those strings are mostly spoken rather than shown, and they are still words a shopper receives.

Change a word

  1. In the app, open Carts and click the cart you want to edit. You land on the Cart builder screen.
  2. Under See it and style it, press Shopper copy.
  3. Scroll to the group that holds the words you want — the groups are listed in the table below.
  4. Type your wording into the box. The grey text in an empty box is what shoppers see today.
  5. Press the save button at the bottom. It is labelled with the language you are editing, so on a shop with one language it reads Save en.
  6. Press Back to the cart, then Review and publish. Nothing you change here reaches a shopper until you publish.

There is one save button for the whole screen, and it saves the language you are on. Pressing a language button, or pressing Add under Add a language, loads a fresh form — anything you typed and did not save is gone. Save first, then switch.

Putting a word back

Clear the box and save. There is no separate reset button and none is needed: an empty box means "use theirs". Typing our exact wording back in has the same effect — the app recognises it as unchanged and stores nothing, so those words follow ours if we ever reword them.

The groups

GroupWhat it covers
Drawer heading and closeThe title at the top of the drawer and its close button.
Cart linesEach item in the cart — its controls, badges and stock notes.
Totals and checkoutThe subtotal block and the checkout button.
Rewards barThe progress bar toward free shipping or a discount tier.
Free giftThe gift badge on the line, the picker, and the locked teaser.
Recommended productsThe upsell block below the cart lines.
Discount codeThe code field, and what a shopper is told when a code does nothing.
Quantity limitsShown when a cart is over or under a limit you set.
Order notes and termsThe notes box and the terms checkbox, when those modules are on.
SubscriptionsThe delivery-frequency editor on a subscription line.
Checkbox add-onThe tick-box add-on block, when that module is on.
CountdownThe countdown timer block, when that module is on.
Announcements and errorsMostly read aloud by screen readers rather than shown. They are still shopper-facing. The sticky bubble's label and the empty-cart wording are here too.

Every group is always shown, whether or not you use the module it belongs to. Wording for a module you have not added simply never appears on your storefront.

Placeholders and plurals

Some of our wording contains a placeholder in double curly brackets — {{product}}, {{total}}, {{code}}. The drawer fills those in when it draws the line. Where a box accepts placeholders, the hint under it lists exactly which ones, for example You can use {{limit}}, {{product}}, {{have}}.

The counting brackets

A few defaults contain a single-bracket block that picks a word by number:

{count, plural, one {# item} other {# items}}

That is what makes "1 item" and "2 items" both come out right, in languages with more plural forms than English too. Edit the words inside it if you like, but keep the brackets matched. If they do not match up, the screen says so and refuses to save rather than letting the shopper read the raw brackets.

Length

Each box takes up to 500 characters.

Another language

  1. On the Shopper copy screen, find the Language section at the top.
  2. In Add a language, type a two-letter code such as fr, or a regional one such as pt-BR, and press Add.
  3. A button for that language appears next to the others and the boxes below empty out. You are now writing that language.
  4. Fill in the boxes you want to translate and press the save button — it now reads Save fr.
  5. Publish, as usual.

Adding a language writes nothing on its own. A language you add and then leave blank is a tab and not a change; it is stored the moment you save words into it, and it disappears again if you reload before saving.

To remove a language, clear every box in it and save. The language is dropped rather than kept as an empty one.

Which words a shopper actually gets

The drawer takes the language from Shopify — whatever language the shopper is browsing your storefront in. It then looks, in this order, for:

  1. Exactly that language, region and all: fr-CA.
  2. The language on its own: fr. So writing fr covers fr-CA without you writing it twice.
  3. Your default language, which is en.
  4. Our wording.

Only one language's boxes are used at a time, and any box you left empty in that language falls back to our wording, not to your English. If you rewrote checkout_button in en and then added fr, a French shopper gets your French where you wrote it and our English everywhere else — including that checkout button. To keep your wording throughout, fill in the same boxes in each language.

Arabic, Hebrew, Persian, Urdu and the other right-to-left languages flip the drawer's layout automatically. That follows the shopper's language and needs nothing from you.

The size banner

Your cart's settings are written into the HTML of every page on your store, and copy is part of that. If the whole thing passes 80% of the 8 KB we aim for, a banner appears on this screen telling you the current size in bytes.

Going over does not break anything — your cart works exactly as it did. It is a page-weight note. The thing worth knowing is the arithmetic: each extra language costs roughly as much again, because every language you write is carried on every page view, for every shopper, whichever language they read.

Limitations

These are things merchants reasonably expect and the app does not currently do. They are listed here rather than left to be discovered.

Next steps

Saving here does not change your live store. The success banner says so: these changes go live the next time you publish. Finish with Review and publish — your wording shows up in the publish summary under Text. See Preview and publishing.