Everything the app can put on the page.
Sold So Many has one job: take the numbers your Shopify store already produces and say them, plainly, at the moment a shopper is deciding. This page is the full inventory of what it can say and how it can be configured.
The eight groups of labels
Every label is grouped by the store data that has to exist before it can appear.
| Group | Labels | The data behind them |
|---|---|---|
| Sales | Sold today, sold this week, sold this month, best seller in a collection, bought in quantity, recently ordered, trending, selling fast, often bought after viewing | Paid orders, ranked against the period before |
| Browsing interest | Viewed, added to cart, most viewed in a collection, add-to-cart rate | Product views and cart events on your storefront |
| Happening right now | Viewing now, in cart now | Live traffic and open carts, at this second |
| Since a shopper was last here | Sold since your last visit, viewed while you were away, carted while you were away | The difference between this visit and that shopper's last one |
| Reviews | Rating, new reviews | Your store's own product reviews |
| Stock | Back in stock, sells out often | Inventory history, including real restocks |
| When and where people buy | Peak hour, popular in a region | Order timestamps and shipping regions |
| Store-wide nudges | Store activity | Store-level shopper and order counts |
Every label, with the exact data each one needs.
One number, several registers
The same fact can be said plainly or warmly, and which one works depends on the store. Each label above is available in several registers on the same underlying number:
- Factual — “23 sold today”
- Social — “Chosen by 23 others today”
- Minimal — “23 sold”
- Ranked — “Top in Jackets today”
- Urgent — “Selling fast, 23 today”
- Ambient — “Selling well today”
Presets pick a register for you. Any line can then be overridden, so the voice can match the storefront without changing what is being claimed.
Where it appears
Placement is by app block, so the proof follows the theme rather than replacing it.
- Product page — beside the image, under the title, and near Add to cart.
- Collection and search grids — a badge on the product card, for shoppers who scan.
- Store-wide — one line of activity for the store as a whole.
Each placement toggles independently. Six preset families and three density levels (subtle, balanced, prominent) control presentation only — they change how a claim looks, never what it says.
Seventeen shopper languages
Shopper-facing copy ships in 17 languages: English, Arabic, Chinese (Simplified and Traditional), Danish, Dutch, French, German, Italian, Japanese, Korean, Malay, Polish, Portuguese (Brazil), Spanish, Swedish and Turkish.
They are written per language inside the app rather than machine-translated from the English, and every label is published in every language on this site — so a Danish shopper reading “solgt i dag” can be checked against the Danish page rather than taken on trust.
Out of the way by design
- Asynchronous. Proof is fetched after your storefront renders. It never blocks your theme's first paint.
- No layout shift. The label slot is reserved, so proof arriving does not push your content around.
- App blocks, not theme edits. Nothing is written into your theme files, so switching themes does not leave fragments behind, and uninstalling leaves no trace.
- Any Online Store 2.0 theme, including Dawn, Prestige, Impulse and Symmetry.
The thresholds, which are the actual feature
Every label has a minimum the data has to clear before it is allowed to render — enough orders, enough views, a real restock inside the window. Below that line the label is skipped rather than rounded down, padded or replaced with a vaguer sentence.
Small catalogues get a further layer: where an exact count would reveal more about the business than a shopper needs, the number is coarsened or withheld.
This is the difference between a proof label and a decoration. A quiet product showing nothing is the correct outcome, and it is the behaviour that makes the labels that do appear worth believing.
Measuring what actually works
The engine learns which proof signals convert for your store and runs holdout cohorts — a share of traffic that deliberately sees no proof — so the lift from each signal is measured against a control rather than assumed. It runs in the background and needs no configuration.