How Store Decode measures a Shopify store
Store Decode measures your Shopify store with a small script on your storefront pages and Shopify’s web pixel. It prints every number with three labels: the device, the window of days, and n, the number of sessions behind it. A percentage appears only once enough sessions back it, usually 300. Below that you see the count, never an estimate, and your numbers are never set against another store’s.
The method in plain words
Section titled “The method in plain words”The script runs on your storefront pages through the app embed. It notes which sections of each page come into view, for how long, and where visitors click. A section is one block of your theme, such as a slideshow or a product grid. The script sends what it saw about 30 seconds after a page opens, and again when the visitor leaves.
Shopify’s web pixel reports the shopping events: cart adds and removes, checkouts, orders and searches. It runs in Shopify’s own sandbox.
Each hour, Store Decode adds the day’s page views up into numbers per section, page and visit, and leaves bots out at that point. Each night it finishes the day before and runs the rules that write observations. The pages of the app read those numbers, never the raw page views.
Sessions, devices and days
Section titled “Sessions, devices and days”- A session is one visit. It ends after 30 minutes without activity and counts once, on the day of its first page view, as Shopify defines an online store session. A session keeps the device, traffic source and country of its first page view.
- The device is the screen width of that first page view: under 768 px is mobile, and 768 px or wider is desktop, so tablets count as desktop.
- Days follow your store’s time zone. A window is 1 to 30 days ending on a day you choose, today by default, and today’s numbers are at most an hour old.
Store Decode’s session count is usually lower than Shopify’s. Why Shopify Analytics, GA4 and Store Decode numbers differ gives every reason, one number at a time.
Orders after a click
Section titled “Orders after a click”An order is credited to the section of the visitor’s last click on a product, on your store, within 7 days before the order. The script keeps that click in a cookie, and the pixel reads it on the thank-you page. Store Decode labels these numbers “last click, 7 days” wherever they appear.
They show where the last click was, not why the visitor bought. They compare your sections with each other and do not add up to your store’s sales: an order with no product click, or one the pixel missed, credits no section.
What it means for your numbers
Section titled “What it means for your numbers”- A new store shows counts first. Until a page type has 300 sessions on a device, you see “x of y” in place of a percentage, and no signal.
- A section has its own base. A homepage section’s Views is a share of the sessions that had that section on the page, never of every homepage session. A section added part-way through a window is not measured against visits that did not have it.
- Comparisons are with your own store. A number is set against your store’s own earlier days: the previous period of the same length on the same device, or, for a change, the 7 days before it. Within the same days, Store Decode can also set two sections, two creatives or two groups of visitors side by side.
- A click is not an add. A click on an add-to-cart control is something the script saw on the page. An add to cart is an event the pixel reported. A click can end without an add, for a sold-out variant for example, and an app can add a gift with no click. The app says “clicked add to cart” or “added to cart”, and never sums the two. A removal from the cart never counts as an add.
- Each fact has one source. Cart adds and removes, checkouts, orders and searches come from the pixel. Page facts, such as how many products a collection holds, come from your theme’s page through the app embed. What visitors see and click comes from the script. On Activity, every table names its source in a “Source:” caption.
- A dash is not a zero. A fact a page view could not carry, such as one recorded by an earlier version of the script, shows “—”, never 0.
- Bots are left out of every view, click and section number. How Store Decode leaves bots out lists the rules.
The exact rules
Section titled “The exact rules”The minimums every number waits for:
| What you see | It needs | Below that |
|---|---|---|
| A percentage or a signal for a page type | 300 sessions on that device in the window | the count, as x of y |
| A homepage section’s percentage or signal | 300 sessions that had the section on the page, on that device | the count |
| A comparison with the previous period | 50 sessions in this window and 50 in the one before | no comparison |
| A rate compared over time | 300 sessions in every window it uses | the count, or “too few to compare” |
| “Working well” on a section | 100 sessions that viewed the section, besides the 300 | no signal |
Each observation rule also has its own minimum, counted in the unit that rule looks at, from 30 dead clicks on one element to 1,000 sessions for the rarer homepage patterns. How Store Decode chooses an observation lists every rule with its minimum.
Below a minimum the app prints what it counted over its base, in the form “x of y sessions with it on the page”. It never scales a small sample up or fills a gap from elsewhere.
The app’s copy follows ten rules, and so does this site:
- Only measured numbers, each with its device, window and n.
- No predictions: the words lift, boost and guarantee never appear, nor a forecast of what a change would do.
- Describe what happened, never its cause: “caused” appears only inside a caveat saying a comparison does not show it.
- Options, not instructions: the option follows “You could:” and ends with what to compare afterwards.
- Few, careful observations: at most three on Home.
- No flip-flopping: after you mark a card done, no card about that section appears for 60 days.
- Before and after is a date split, read as Higher after, About the same or Lower after.
- Empty states say what will appear and when, and never apologise.
- Every observation has a fixed template with its measured numbers; a rewrite by a language model must keep them, or the template stays.
- Zero impact on your storefront: a lost measurement is acceptable, a slower page is not.
Rule 2 also rules out any benchmark: Store Decode never uses another store’s data.
See a before and after on the sample store on the home page.
See the page map on your own store.
Install free →Something missing or wrong? Tell us through Support.