Shipping changes: before vs after
Pre/post test of free ground shipping on all orders (switch 16 Sep 2026), on orders per 100 US visitors: three 7-day blocks before the switch (26 Aug to 15 Sep) against three after (16 Sep to 6 Oct). Updates itself once a day at 06:20 UTC.
Week by week
refreshes every 2 hours · a week counts once the sheet has all 7 days| Window | Dates | US sessions | Orders | Orders / 100 visitors | Revenue | AOV | All sessions | PostHog buyers | Notes |
|---|---|---|---|---|---|---|---|---|---|
| Loading… | |||||||||
Background, if you need it
Why this number, and why these sources
expand
John asked for "the week prior visitors versus transactions, and then the next week visitors versus transactions". As one percentage that is orders per 100 US visitors. Orders, revenue and AOV sit next to it so a conversion lift that comes from smaller baskets is visible, not hidden.
- Orders and revenue come from the Revenue Tracker sheet. GA4 purchase events miss about 25% of orders (31 Aug – 6 Sep: 144 vs 193) and PostHog fires several purchase events per order. Neither is the record.
- Visitors are US sessions from the GA4 export. Total sessions jump from 9k to 19k in single weeks on non-US bot traffic while US sessions stay within 8.5k–9.9k. Total sessions would make conversion look like it crashed on a bot spike.
- PostHog is the daily glance, not the scoreboard. It sees about 93% of US sessions and 72% of buyers (ad blockers, no reverse proxy). Stable enough to show direction the day after the switch; not the number we report.
What changes, and what must not
expand
- Free ground shipping on all orders, live 16 Sep 2026. Free ground shipping on every product; the top banner "Free 2 Day Shipping On Orders Over $100, use code Ship28" becomes free ground shipping on all orders; checkout shows the free ground option first; SHIP28 stays as the paid 2-day upgrade.
- Frozen for the whole window: the 20% discount level, the coupon minimum, ad copy and budgets (Nicole is informed), prices. JC: "that would be too many variables". Each is its own pre/post test later.
- A/B tests: FP-114 (global nav) is a 50/50 split, so it does not bias a before/after read as long as it runs through both windows or neither. Do not start or stop it inside the window.
- Switch timestamp: 16 Sep 2026, 10:54 Central (JC's email "live on the site"; the site watcher saw the new nav text at 11:00 Central). 16 Sep is the first day of the first after block: the 10 hours before the switch are counted as after, which is a small, known bias against the switch. Blocks start on the switch day, so nothing is thrown away.
Rules of a clean pre/post read
expand
- Same length, same weekdays. Full Monday–Sunday weeks only. Funeral orders swing by weekday.
- Equal windows, at least two weeks each. Single baseline weeks already move between … and … with nothing changed. One week after the switch cannot be told apart from that noise. The "before" is the three blocks from 26 Aug to 15 Sep, the "after" is the three blocks from 16 Sep to 6 Oct, 21 days each. The read comes on 7 Oct. Each window shows its day count.
- Nothing excluded. Every complete 7-day block since 26 Aug counts, Labor Day week included; the band shows how much the baseline blocks already move on their own.
- Same denominator, same numerator, every time. US sessions and sheet orders. Never mix sources between the two windows.
- Pre-register the call. The decision rule under "The read" is written before the switch. Nobody moves the goalposts after seeing the number.
- Check seasonality against last year. The sheet's
yoytab has the same weeks in 2025. If the whole market dipped in those weeks last year, a flat result is not a failure. - Watch the side effects. Share of orders choosing ground vs 2-day (ShipStation), SHIP28 usage, AOV, calls to CS about shipping. They explain a result; they do not decide it.
Where PostHog fits
expand
The saved insight Free ground shipping — daily US buyers per 100 visitors plots US buyers against US visitors per day from 24 Aug, so the day after the switch you can already see whether the line moved. Its level sits below the sheet; the shape is what matters. The weekly table above is the record.
A PostHog A/B split was ruled out on the call because the free shipping option has to exist in checkout for everyone once it is on. Testing only the advertising of it later (banner on vs off, ground shipping available to both) is a normal web experiment and gets its own card.
Sources
expand
- Conversion Rate Weekly Meeting, 3 Sep 2026 (John 23:54, JC 13:37, 22:21, 38:57)
- Revenue Tracker sheet, tab Revenue, daily rows from 27 Jul 2026
- BigQuery
gtm-5z8b92d-zmqwz.analytics_355101599.events_*, session = user_pseudo_id + ga_session_id, US = geo.country - PostHog project 365336, HogQL on
purchaseand$pageview,$geoip_country_code = 'US' - JC Cheney, email "Re: FREE Ground Shipping on All Orders Launching Tomorrow", 16 Sep 2026 10:54 Central: "The Free ground shipping on all orders offer is live on the site."
- JC Cheney, email "Shipping change: which day did it go live?", 9 Sep 2026: "August 26", with before/after checkout screenshots (saved under /evidence/ground-shipping/)
- JC Cheney, "Fwd: Coupon Codes", 9 Sep 2026: internal thread. 23 Jul CSR (Leah) reports three refunds of $28 because the Stripe receipt showed shipping charged; 29 Jul JC identifies the Infigo/Stripe coupon config; 26 Aug JC changes SHIP28 to discount the shipping line
- Banner copy read from funeralprints.com on 8 Sep 2026 · feed:
scripts/fetch-ground-shipping.py, event dates inscripts/ground-shipping.config.json
FAQ
collapse
- Is Revenue the final line item or the subtotal before discount? The final line item: what the customer was charged, after coupons and discounts, including any shipping and tax on the order. It comes from the revenue tracker sheet, which matches the Stripe charge amount to the cent on most days (checked 3 to 7 Sep 2026). Refunds are not subtracted. Because the $28 two-day shipping line stops being charged on ground orders, Revenue and AOV will dip slightly after the switch on their own; conversion is the metric that decides.
- Which coupon codes are real customer orders? SHIP28, FP20, FP30, B2G1 and COMBO are customer codes (COMBO is advertised in paid search). Codes ending in 100 are internal: CC100 phone orders, AO100 Amazon orders re-entered by customer service, BM100 production or art reprints, MP100 memorial packages entered by customer service. Their revenue is real, their product mix is not a website signal.
- How often does this page update? Every 2 hours. US sessions and GA4-tracked purchases run through yesterday; orders and revenue come from the revenue sheet, which is filled in a day later. A 7-day block counts as complete once the sheet has all 7 days.
- Where do the numbers come from? Orders and revenue from the revenue tracker sheet, US sessions from the GA4 BigQuery export, coupon codes from the GA4 purchase event, visitors and buyers from PostHog. GA4 and PostHog track fewer purchases than the sheet, so their counts are lower; shares and rates still hold.