funeralprints.com
Live
Ground shippingClick to Design
Tests
WireframesFP-114 global nav backgroundQA documentation
Sales
Is the sales dip seasonal?Is the drop just prayer cards?Source comparison by monthSales dashboardThree-way revenue reconciliationSales coverageDecompositionSales drop investigation
Checkout
Where buyers quit registrationRegistration form: current vs PreProd
Site and speed
Tools in useDesigner load monitorDaily HealthReal-user speedThird-party services
Everything
All, by date

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.

Data as of · refreshes every 2 hours (sessions and GA4 purchases through yesterday); sheet orders and revenue land a day later; a block counts as complete once the sheet has all 7 days Orders, revenue: Revenue Tracker sheet Visitors: GA4 export, US sessions Daily glance: PostHog insight
Orders per 100 US visitors
clean weeks · orders / sessions
Orders per week
average of all clean weeks
Revenue per week
AOV
Status

Week by week

refreshes every 2 hours · a week counts once the sheet has all 7 days
WindowDatesUS sessionsOrdersOrders / 100 visitorsRevenueAOVAll sessionsPostHog buyersNotes
Loading…
baselinebefore / after windowrange the number already moves in with no change ()Window column: before / after the ground shipping switch · a row is one 7-day block counted from 26 Aug

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
  1. Same length, same weekdays. Full Monday–Sunday weeks only. Funeral orders swing by weekday.
  2. 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.
  3. 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.
  4. Same denominator, same numerator, every time. US sessions and sheet orders. Never mix sources between the two windows.
  5. Pre-register the call. The decision rule under "The read" is written before the switch. Nobody moves the goalposts after seeing the number.
  6. Check seasonality against last year. The sheet's yoy tab has the same weeks in 2025. If the whole market dipped in those weeks last year, a flat result is not a failure.
  7. 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 purchase and $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 in scripts/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.