Nanobag · NB10 · 17 to 22 Sep 2026 · paused on day 6 · final readout

New homepage banner, and a calmer add to cart

Numbers as of 22 Sep 2026, 14:30 Hong Kong time, after the pause. Shopify stops labelling visits the moment a rollout pauses, so everything split by version here is the whole run and nothing after it. Blue is the current site (A), purple is the new version (B).

A · current siteB · banner + new add to cart
The result

B lost. The new add-to-cart behaviour costs orders on phones. The banner, for the second time, does nothing.

Shopify AnalyticsEvery figure in this card: sales report for money and orders, sessions report for visits and the funnel, both split by Shopify's own version label. Appendix queries 1, 2, 5 and 10.
  • Money. $24,698.57 on A against $22,474.23 on B, $2,224.34 less over five and a half days. Per visitor, $1.31 against $1.20, B 10% behind. Orders 481 against 451, basket $51.15 against $49.42.
  • Where it went wrong, exactly. Both versions fill baskets at the same rate (9.0% and 8.9% of visits). Both finish checkout at the same rate once there (57% and 58%). The one step that moved is the one right after add to cart: 48.4% of A's baskets carry on to checkout against 43.6% of B's, and at z -2.8 that is not chance.
  • It is a phone problem. On phones, 46.3% against 40.4% of baskets carry on, z -3.2. On desktop, 63.9% against 62.1%, level. The drawer that B stops opening covers the whole screen on a phone and is a side panel on desktop, which is exactly the pattern you would draw if the drawer were the cause.
  • The banner is cleared, twice. NB09 ran the same banner without the add-to-cart change and this step was level (45.6% against 44.1%). Across both tests and 64,045 visits, the banner moves add-to-cart by nothing: 8.93% against 8.96%. The section The same banner, twice lays it out.
  • Smaller baskets too. B orders hold 3.91 items against 4.12, 5% fewer. The drawer is where the cart recommendation lives; when it never opens, nobody sees it. Not proven, but it is the obvious mechanism and it fits the basket-size gap.
  • This was called on day two. The day-2 readout flagged the phone cart-to-checkout step as "the one number that moves in the direction the change could plausibly cause", at z -1.6 on 724 baskets. It grew to z -3.2 on 2,790. Noise shrinks with more data; this grew.

Decision: do not ship B's add-to-cart behaviour on phones. See What to do next. The end-to-end conversion gap on its own (2.46% against 2.24%, z -1.4) sits just inside chance; the step that causes it does not, and the money agrees with the step.

6/7
of 7 planned days, paused
Started 17 Sep · paused 22 Sep, about 12:00

The numbers that decide it: visits that buy, and money per visitor

Shopify AnalyticsConversion from the sessions report (query 1); sales and basket from the sales report (query 2). Money per visitor is sales divided by visits, so it crosses the two.
A · current site
2.46%
of 18,843 visits bought · $1.31 per visitor · 481 orders at $51.15
B · new version
2.24%
of 18,804 visits bought · $1.20 per visitor · 451 orders at $49.42
A ahead by 10% on conversion, A ahead by 10% on money per visitor, A ahead by 4% on basket. Every money metric points the same way.

The scoreboard

Shopify AnalyticsOrders and sales from the sales report; visits and conversion from the sessions report.
Money per visitor
$1.31$1.20
sales ÷ visits. Basket size and conversion in one number.
A ahead by 10%
Orders
481451
from 18,843 and 18,804 visits
A ahead by 7%
Visits that bought
2.46%2.24%
conversion rate
A ahead by 10%

Where B lost people

Shopify AnalyticsSessions report, the same four steps for every visit. Query 1 for all devices, query 5 by device, query 9 for the US. The z column is a two-sample test on the step; past ±2 the difference is real, past ±2.6 it is solid.

The four steps every shopper walks: visit, add to cart, reach checkout, pay. If the new version changed anything, it shows up as a band between two steps where B keeps fewer people than A. Three of the four bands are level. One is not.

Visitedeveryone in the test
18,843 · 100.0%
18,804 · 100.0%
Of those, carry on
9.0%8.9%Level
Added to cartput something in the basket
1,692 · 9.0%
1,671 · 8.9%
Of those, carry on
48.4%43.6%A keeps more · z -2.8
Reached checkoutstarted paying
819 · 4.3%
728 · 3.9%
Of those, carry on
56.7%58.0%Level
Paidfinished the order
464 · 2.5%
422 · 2.2%
Read it like this. Adding to cart: level, 8.89% against 8.98% (z -0.3). So the banner is not sending more people to the basket, and the animation is not putting anyone off adding. Cart to checkout: B keeps 43.6% against A's 48.4%, z -2.8. That is 91 fewer checkouts on the same number of baskets. Checkout to paid: level, 58.0% against 56.7%; the checkout page is identical in both versions and behaves identically. One band moved, and it is the band that begins the instant the shopper taps add to cart, which is the instant the two versions differ.

By device, and the US on its own

VisitorsA visitsA to cartA cart → checkoutA boughtB visitsB to cartB cart → checkoutB boughtz cart→chkz bought
Phones, all markets
the drawer covers the whole screen here
14,7749.5%46.3%2.49%14,7049.4%40.4%2.14%-3.2-2.0
US phones
the biggest single group
6,4649.1%48.4%2.82%6,5318.6%40.4%2.13%-2.7-2.5
Desktop, all markets
the drawer is a side panel here
3,1796.5%63.9%2.49%3,1806.5%62.1%2.52%-0.4+0.1
Tablet, all markets
small numbers
8568.6%44.6%1.99%8829.6%50.6%3.06%+0.8+1.4
The pattern is the mechanism. On a phone the cart drawer takes over the whole screen when it opens, with the checkout button in it; take that away and the shopper is left on the product page with a small badge on the cart icon as the only sign anything happened. On desktop the drawer is a side panel and the product page stays in view either way. So if suppressing the drawer were the cause, phones should suffer and desktop should not. Phones: 46.3% against 40.4% carry on, z -3.2. Desktop: 63.9% against 62.1%, z -0.4. US phones alone, the biggest single group: z -2.7 on the step and z -2.5 on buying. That is three independent cuts landing where the mechanism says they should.

The same banner, twice: NB09 against NB10

Shopify AnalyticsNB10 from this run. NB09 from its own readout, sales and sessions reports, 9 to 13 Sep. Both are the same Shopify version label, so the numbers are directly comparable.

NB09 tested this banner with the product-page tip text, and no change to add to cart. NB10 tested the same banner with the add-to-cart change, and the tip text in both versions. Put side by side, the two runs separate the banner from the drawer without a third test.

NB09 ANB09 B banner + tipzNB10 ANB10 B banner + drawerz
Visits13,15013,248—18,84318,804—
Added to cart8.86%9.06%+0.68.98%8.89%-0.3
Cart → checkout45.6%44.1%-0.748.4%43.6%-2.8
Visits that bought2.22%2.14%-0.52.46%2.24%-1.4
Basket$47.35$49.87—$51.15$49.42—
What the two runs say together. The banner was in B both times, and add-to-cart came out level both times: 9.06% against 8.86% in NB09, 8.89% against 8.98% in NB10, 8.96% against 8.93% pooled across 64,045 visits (z +0.1). Two tests, sixty-four thousand visits, and the banner has not moved a single step of the funnel. The cart-to-checkout band was level in NB09 (44.1% against 45.6%, z -0.7) and fell in NB10 (z -2.8). The only thing that changed between the two B versions at that step is the drawer. That is as close to isolating one change as two bundled tests can get.
Basket size flipped, and both movements have a candidate cause. NB09's B basket was 5% bigger, with the tip text under the buy button in B only. NB10's B basket is 4% smaller, with the tip text in both versions and the drawer, which carries the cart recommendation, suppressed in B. Neither gap is statistically solid on its own; the direction of each fits the thing that was different. The tip text is now standard, so the first is moot. The second is a reason to look at what the drawer's recommendation band is worth.

Day by day

Shopify AnalyticsSales report grouped by day, appendix query 3.

Orders and basket size for each day on its own. Day one was identical, 73 each. A led on four of the next five days. Read the running totals, never a single day.

DayA ordersA basketB ordersB basket
17 Sep73$49.1073$49.45
18 Sep88$48.5078$49.49
19 Sep117$53.4698$47.82
20 Sep100$53.3492$52.19
21 Sep66$53.0271$50.92
22 Sep to the pause at 12:0037$44.9439$43.96

What each shopper saw

Shoppers in the US, UK, Canada, Australia, Singapore, Hong Kong and the International market were split 50/50 and stayed in their version for every visit. EU was not in the test. The sticky "Choose your Nanobag" pill on phones and the tip text under the buy button are standard and were in both versions.

A · current site
  • Homepage: the hero video with its SHOP NANOBAG button on desktop.
  • Add to cart: the cart drawer slides open on every add, with the checkout button in it.
Hero video · SHOP NANOBAGAdd to cart → drawer opens → Checkout button right there.
B · new version
  • Homepage: Ashit's banner from NB09 with a Get Nanobag button on desktop.
  • Add to cart: the product image flies to the cart icon and the badge bumps; the drawer stays closed.
New banner · Get NanobagAdd to cart → image flies, badge bumps → shopper stays on the product page.

Where the visitors came from

Shopify AnalyticsSessions report grouped by the ad tag on the landing link, appendix query 6.

Every visit in the test, split by how it arrived. Paid = any click from a Meta or Google ad. Organic and direct = typed the address, searched, or followed an untagged link.

Paid ads
Meta and Google · the bigger group · most land on the homepage
Of those visits, how many bought
2.33%2.03%
309 orders from 13,237 visits · 269 from 13,234
B behind, 40 orders on the same traffic, z -1.7. New-to-brand shoppers are the ones a missing drawer confuses most.
Organic and direct
typed the address, searched, untagged links · the smaller group
Of those visits, how many bought
2.71%2.78%
149 orders from 5,498 visits · 152 from 5,472
Level, z +0.2. Returning shoppers know where the cart icon is.
Why this fits. The whole gap is in paid traffic, which is mostly people meeting the site for the first time. A returning shopper who taps add to cart and sees no drawer knows to look at the cart icon. A first-time shopper does not. That is the same story as the phone finding told from a different angle: the drawer was doing a job for people who did not yet know the site.

What people did on the page

GA4Exploration NB10 – banner + ATC, tabs 1 to 4, test markets only, four tabs screenshotted together on 22 Sep 2026, afternoon Hong Kong time, covering 17 to 22 Sep.
Read the GA4 numbers with one caveat. The range runs to the end of 22 Sep, and after the pause at midday every homepage stamps A, so Arm A carries about 380 visits of post-test traffic (3% of it). That dilutes A toward the store average and makes every A-versus-B gap on this tab look a little smaller than it is. Rates inside B are clean. Nothing here decides anything; Shopify's version label stops at the pause and the sections above are the whole run.
📱
Tapped the pill
homepage · phones · in both versions
4,9474,912
36.9% and 37.9% of 13,389 and 12,969 homepage visits. Level. The banner sits above the pill in B and does not change how often it gets tapped.
🛒
Added to cart
product page · sticky button · visits
1,1391,104
15.6% vs 16.0% of 7,279 and 6,910 product-page visits. Level, and Shopify's own cart numbers agree.
🔁
Clicks per adding visit
sticky button · clicks ÷ visits
2.062.36
B presses 15% more once it starts. On day two this read 1.79 against 2.32; the gap narrowed. The main button shows no gap at all (2.46 against 2.32).
⏱️
Time on site
average engaged time per visit
1m 06s1m 10s
B holds people a few seconds longer. Staying on the product page instead of going to the drawer will do that; it did not turn into orders.
🧾
Purchases GA4 saw
tabs 1 and 2 · always under Shopify's count
333310
2.37% and 2.26% of version visits. A ahead, same direction as Shopify, gap understated by the caveat above.
🖥️
By device
purchases per visit · GA4
2.20%1.96%
phones. Desktop 4.23% against 4.31%, level. The same shape Shopify shows: B behind on phones, level on desktop.
The repeat-click signal weakened, and that is informative. On day two B pressed the sticky button 30% more per adding visit, which looked like shoppers unsure the add had worked. Over the full run it is 15% on the sticky button and nothing on the main one. A confusion effect should be similar on both buttons; a button-stays-reachable effect should be strongest on the sticky button, which is the one that stays under the thumb. The mundane reading fits better. The cost of the missing drawer is not people mashing the button, it is people not finding checkout, which is what the Shopify funnel measures directly.
What this test did not measure: homepage to product page. The banner's one job is to send more homepage visitors on to a product page, and no tab on the exploration counts that directly. Three things stand in for it, none of them the real thing. On phones the pill is the only route off the homepage in both versions, and it was tapped on 36.9% of A's homepage visits against 37.9% of B's, z +1.6: level. The next step down, adding to cart, was level in this test and in NB09, which it could not be if the banner were sending meaningfully more people to product pages. And a rough derivation from the tabs' own session counts, visits that saw both a homepage and a product page over visits that saw a homepage, comes out at 49% against 48% on one reading of the tabs and 52% against 50% on the other. Neither reading has B ahead, and neither is clean enough to put a significance on: the tabs were not built for it and A carries post-pause traffic. The proper number is a five-minute Funnel exploration, closed funnel, step one a page view on the homepage, step two a page view on /products/, segments Arm A and Arm B, 17 to 21 Sep. It should exist before NB11 starts, not after.
Where these come from, and the one artefact. Segments Arm A and Arm B are visits in the test markets whose homepage stamped a version; Test Market is the country rule alone. The product-page tab shows nb_arm_view twice because the tab nests the button-location field under an event that does not carry it; one row is GA4's "(not set)" and the second value is unexplained but feeds nothing here. The bare-id column (5,716 visits, 29%) is shoppers who landed straight on a product page and never saw a homepage; it belongs to neither version and is left out, which is why GA4's version visits run under Shopify's.

Four systems count this test. Here is how they compare.

Shopify AnalyticsSales report and sessions report, the whole run.
Shopify order tagsOrder search by tag in admin, bounded to before the pause. Covers US, UK, Canada, Singapore, Hong Kong, Australia only, the same six on both sides.
Shopify RolloutsThe Rollouts dashboard screen, last captured 18 Sep, 11:30 - a final screenshot is still to come.
GA4Exploration tabs 1 and 2, with the post-pause caveat above.

Shopify counts this test three separate ways and GA4 counts it a fourth. They do not match, and they are not supposed to. What matters is that they all point the same way.

Where it comes fromABHow much it seesWhat it actually counts
Shopify Analytics sales report481451
100%
Every order, version read from the rollout cookie at checkout, counted on Shopify's servers. This is the count that decides the test.
Shopify order tags via Flow, six markets, to the pause350328
73%
A tag our own workflow writes as each order is placed, independent of the reports. Six-country gate, the same on both sides. Ratio 1.067 against the sales report's 1.067. A further 25 and 24 orders were tagged after the pause, because shoppers' browsers still held a version; those are left out, as NB09 taught us to.
Shopify Analytics sessions report464422
95%
Tracked visits that ended in an order. Lower by design. Carries every rate on this page.
GA4 purchases, 17 to 22 Sep333310
69%
Only the orders the shopper's browser reported back, and only from visits that saw the homepage. A includes some post-pause traffic. Always the lowest.

What they agree on

All four put A ahead on order count. The lead runs from 7% to 10% depending on which one you read, and the two counts that are fully independent of each other - the sales report and our own order tags - agree to three decimal places on the ratio (1.067 against 1.067). Four systems that count different things pointing the same way is what a real difference looks like.
The rule Compare A with B inside one system. Never compare a number from one system with a number from another and call the difference a result.

What to do next

  1. Do not ship the drawer change on phones. Roll the rollout back rather than apply it. The fly-to-cart code stays on the theme behind its switch, off, exactly as it was before the test.
  2. If the animation is still wanted, it needs a route to checkout on phones. The drawer was doing two jobs: confirming the add, and putting a Checkout button under the thumb. The badge bump replaces the first and not the second. Options, cheapest first: keep the drawer on phones and fly-to-cart on desktop only, where it is level; or fly-to-cart everywhere with a persistent "View cart · Checkout" bar that appears after the add. Either is a new test, not a tweak.
  3. Run the homepage-to-product-page funnel before deciding the banner. Two runs, sixty-four thousand visits, no movement at add to cart or beyond. The one step the banner exists to move was never measured directly, and the rough derivation above leans, if anywhere, against it. Five minutes in GA4 settles it: if B sends fewer homepage visitors to product pages, drop the banner; if level, ship it on taste. Either way, no third test.
  4. Look at what the drawer's recommendation band is worth. B's baskets held 5% fewer items and were $1.73 smaller. If that is the missing upsell, the drawer earns more than its confirmation job. Worth a look before anyone proposes hiding it again.
  5. Housekeeping before NB11. Switch off the NB09 workflow, which is still tagging live orders. Put the country exclusion on all three branches of the NB10 workflow, or its successor, so the unattributed bucket stops collecting Europe. And build the page-to-page funnel exploration for whatever NB11 changes before it starts, so the step the test exists to move is measured from hour one.
Markets and devices
Shopify AnalyticsSessions report grouped by country and by device, appendix queries 4 and 5. Bought = visits that completed checkout.

By country

CountryA visitsA boughtA rateB visitsB boughtB rate
United States9,0972302.53%9,2461972.13%
Australia4,1341092.64%4,1321052.54%
Canada1,132221.94%1,180201.69%
United Kingdom1,111514.59%1,100514.64%
Singapore55291.63%470102.13%
Indonesia39400.00%39200.00%
New Zealand36241.10%319103.13%
Hong Kong22762.64%24052.08%

The gap is American: the US is 49% of visits and 33 of the 42 order difference. Australia, the UK and Canada are level. Indonesia and the Philippines have never bought in either version.

By device

DeviceA visitsA boughtB visitsB bought
Mobile14,77436814,704315
Desktop3,179793,18080
Tablet8561788227

Basket by shipping country

Shipping toA ordersA netper orderB ordersB netper order
United States242$13,167.66$54.41214$10,831.66$50.62
Australia113$5,396.06$47.75112$5,667.09$50.60
United Kingdom54$2,002.43$37.0852$1,950.16$37.50
Canada23$1,130.44$49.1523$1,279.21$55.62

The same from GA4

GA4Exploration tabs 1 and 2, 22 Sep 2026, afternoon Hong Kong time, covering 17 to 22 Sep, post-pause caveat applies to A.
CountryA visitsA ordersB visitsB orders
United States5,8761495,820137
Australia3,4831023,42981
United Kingdom1,239411,24242
Canada8071485520
Singapore46263768
Indonesia35103270
New Zealand30242737
Hong Kong18352005
Thailand20871542
Philippines17001720
DeviceA visitsA ordersB visitsB orders
Mobile11,88826211,670229
Desktop1,325561,20752
Tablet8961588029
Which numbers to trust, and where they live
Decides

Shopify Analytics · sales report

Orders, sales and basket size per version. Every order, counted by Shopify. Self-cleaning at a pause: the version label simply stops.

Rates

Shopify Analytics · sessions report

Visits, carts and checkouts per version, country, device and traffic source. Every band on this page.

Built in

The Rollouts dashboard

Shopify's own test screen. No money, no export; it is a screenshot each time. Last captured 18 Sep: 2.53% against 2.55%, bounce 56.01% against 53.66%.

Behaviour

GA4 exploration

"NB10 – banner + ATC", four tabs. Explains, never decides; contaminated after a pause, so read to the pause only.

Check

Order tags

Our own Flow. Independent of the reports, bounded to the pause, six markets. Used only to confirm the other three.

Launch checks and open items

CheckResult
Code on main is the code on live
Nine arm-critical files pulled from the live theme are byte-identical to origin/main.
verified
Only the homepage decides the version
The product page reads the stored version and no longer invents one; every reference uses the versioned key.
verified
The version matches what the shopper sees
26 held sessions, six markets, phone and desktop: B always banner + animation, A always neither.
verified
Version A is untouched
The animation is off by default; nothing reaches the current site unless the rollout turns it on.
verified
The tip text cannot skew the result
Renders identically in both versions in every test market.
verified
Order tags exclude non-test markets
The workflow kept NB09's six-country gate for the whole run: the two version tags are symmetric but miss the rest of International, and the unattributed branch has no country rule. Fix drafted, never applied; it did not affect the readout.
open
NB09's workflow is switched off
Still writing NB09 tags to live orders during NB10. Different tag names, nothing on this page affected.
open

Where the test actually ran

Measured on the live storefront, 49 countries. "Seven markets" includes International, which is every country without a market of its own, so only the excluded set is finite.

In the test · 21 confirmed

US GB CA SG HK AU NZ JP AE IN MX BR CH KR TW ZA NO IS RS TR UA

Plus every country not listed opposite.

Not in the test · 28

AT BE BG CY CZ DE DK EE ES FI FR GR HR HU IE IT LI LT LU LV MT NL PL PT RO SE SI SK

Europe only. These shoppers always saw the current site and always stamped A.

Order tags, in full

Shopify order tagsShopify Admin, order search by tag, created before 22 Sep 04:00 UTC (the pause).

350 tagged control, 328 treatment, 309 unattributed, before the pause. The unattributed count is not a test figure: that branch has no country rule and collects European direct-to-product-page shoppers as well. After the pause the workflow kept tagging (25 and 24) because shoppers' browsers still held a version; the same fault NB09 had, and the reason every count here is bounded to the pause.

How this test was read

  1. Visits that buy and money per visitor decide.
  2. The funnel bands say where. A two-sample z past ±2 on a band is a real difference, past ±2.6 a solid one.
  3. Device and market cuts say whether the "where" matches a mechanism. Here they do.
  4. Clicks and traffic sources explain, they never decide.
  5. A finding flagged early that grows with more data is trusted more than one that appears at the end.
Appendix: queries, IDs and events

Everything on this page comes from Shopify's own Analytics on the live store, run in Analytics → Reports → New report, plus the Rollouts dashboard and the GA4 exploration. Paste any query to reproduce the exact figure. Because the rollout is paused, the version label stops at the pause and UNTIL today returns the whole run.

-- 1. Funnel by version
FROM sessions
SHOW sessions, sessions_with_cart_additions, sessions_that_reached_checkout, sessions_that_completed_checkout
WHERE rollout_treatment_ids CONTAINS 18022536 OR rollout_treatment_ids CONTAINS 18055304
GROUP BY rollout_treatment_id
SINCE 2026-09-17 UNTIL today ORDER BY sessions DESC LIMIT 2
-- 2. Orders and basket by version
FROM sales
SHOW orders, net_sales, average_order_value
WHERE rollout_treatment_ids CONTAINS 18022536 OR rollout_treatment_ids CONTAINS 18055304
GROUP BY rollout_treatment_id
SINCE 2026-09-17 UNTIL today ORDER BY orders DESC
-- 3. The same, by day
FROM sales
SHOW orders, net_sales, average_order_value
WHERE rollout_treatment_ids CONTAINS 18022536 OR rollout_treatment_ids CONTAINS 18055304
GROUP BY rollout_treatment_id, day
SINCE 2026-09-17 UNTIL today ORDER BY day ASC
-- 4. Visits and orders by version and country
FROM sessions
SHOW sessions, sessions_that_completed_checkout
WHERE rollout_treatment_ids CONTAINS 18022536 OR rollout_treatment_ids CONTAINS 18055304
GROUP BY rollout_treatment_id, session_country
SINCE 2026-09-17 UNTIL today ORDER BY sessions DESC LIMIT 16
-- 5. Funnel by version and device
FROM sessions
SHOW sessions, sessions_with_cart_additions, sessions_that_reached_checkout, sessions_that_completed_checkout
WHERE rollout_treatment_ids CONTAINS 18022536 OR rollout_treatment_ids CONTAINS 18055304
GROUP BY rollout_treatment_id, session_device_type
SINCE 2026-09-17 UNTIL today ORDER BY sessions DESC LIMIT 6
-- 6. Visits and orders by version and traffic source
FROM sessions
SHOW sessions, sessions_with_cart_additions, sessions_that_completed_checkout
WHERE rollout_treatment_ids CONTAINS 18022536 OR rollout_treatment_ids CONTAINS 18055304
GROUP BY rollout_treatment_id, utm_medium
SINCE 2026-09-17 UNTIL today ORDER BY sessions DESC LIMIT 10
-- 7. Returning customers inside the test, by version
FROM sales
SHOW orders, returning_customers, new_customers
WHERE rollout_treatment_ids CONTAINS 18022536 OR rollout_treatment_ids CONTAINS 18055304
GROUP BY rollout_treatment_id
SINCE 2026-09-17 UNTIL today ORDER BY orders DESC LIMIT 2
-- 8. Basket by version and shipping country
FROM sales
SHOW orders, net_sales, average_order_value
WHERE rollout_treatment_ids CONTAINS 18022536 OR rollout_treatment_ids CONTAINS 18055304
GROUP BY rollout_treatment_id, shipping_country
SINCE 2026-09-17 UNTIL today ORDER BY orders DESC LIMIT 16
-- 9. US only, by version and device
FROM sessions
SHOW sessions, sessions_with_cart_additions, sessions_that_reached_checkout, sessions_that_completed_checkout
WHERE (rollout_treatment_ids CONTAINS 18022536 OR rollout_treatment_ids CONTAINS 18055304)
  AND session_country = 'United States'
GROUP BY rollout_treatment_id, session_device_type
SINCE 2026-09-17 UNTIL today LIMIT 10
-- 10. Items per order
FROM sales
SHOW orders, net_items_sold
WHERE rollout_treatment_ids CONTAINS 18022536 OR rollout_treatment_ids CONTAINS 18055304
GROUP BY rollout_treatment_id
SINCE 2026-09-17 UNTIL today ORDER BY orders DESC LIMIT 2
-- 11. Finding the pause: attribution by hour on the last day
FROM sessions
SHOW sessions
WHERE rollout_treatment_ids CONTAINS 18022536 OR rollout_treatment_ids CONTAINS 18055304
GROUP BY rollout_treatment_id
TIMESERIES hour
SINCE 2026-09-22 UNTIL today

Order tags: admin order search tag:NB10-control created_at:<2026-09-22T04:00:00Z and the same for treatment. Paid = every non-blank utm_medium (paid_social, cpc, paid, social). Organic and direct = blank utm_medium. Query 9 also returned three visits carrying NB09's old version id from a stale cookie; ignored.

Rollout 9011336 "NB10 - Mobile ATC + Add to cart animation". Control 18022536 · Treatment 18055304. Theme version values 149369520264-A / -B, bare 149369520264 = no version. GA4 events, all carrying nb_arm: nb_arm_view, nb_home_sticky_click, nb_home_cta_click, nb_atc_click with atc_location sticky or main. GA4 segments: Arm A / Arm B = nb_arm_view carrying the version, same event, and Country ID not matching ^(AT|BE|BG|CY|CZ|DE|DK|EE|ES|FI|FR|GR|HR|HU|IE|IT|LI|LT|LU|LV|MT|NL|PL|PT|RO|SE|SI|SK)$.