ANALYTICS · DATA · OPS · 10 AUGUST 2026 · 7 MIN READ
Analytics you can trust during peak
Peak is not when you fix your measurement. Decide in September which four numbers you will act on, prove they agree with the order data, then freeze the instrumentation.
Pick the small set of numbers you will actually act on during peak — orders, revenue, conversion rate by device, and the error rate on anything that takes money — and verify each one against Shopify order data before the freeze. Then stop changing the instrumentation. Peak analytics fail not because the tools are wrong but because teams add tags in November, consent behaviour shifts with traffic mix, and nobody agreed in advance which figure wins when two disagree.
IN SHORT
- Order data is the only authoritative number during peak; everything session-based is an estimate shaped by consent, blockers and bots.
- Freeze analytics changes at the same time you freeze code, because a tag added mid-peak makes every week-on-week comparison unreadable.
- Shopify's Customer Privacy API exposes four consent purposes — preferences, analytics, marketing and sale of data — and consent state changes with visitor location, so a shift in traffic mix changes your measured traffic without anything breaking.
- Web pixels run in a sandbox with deliberately limited access, so an event that used to be scraped from the DOM has to be published as a real event instead.
- Agree before peak which number wins a disagreement and who is allowed to call it, or the argument happens at 9am on Black Friday.
The failure is organisational before it is technical
The stories are always the same. GA4 says conversion fell 18% overnight and Shopify says revenue is up. Paid claims more revenue than the store took. The dashboard the board is watching disagrees with the dashboard the trading team is watching, and three people spend Black Friday morning reconciling numbers instead of trading.
None of that is a tooling failure. It is the absence of a decision made in September: which number is authoritative, what each one means, and who is allowed to say "ignore that panel today". Peak is a bad time to have the conversation because everybody is tired and the stakes make people argue for the number that flatters their channel.
So the work is mostly agreement, done early, written down. The technical part is confirming that the numbers you agreed on are actually measured the way you think.
Four numbers, and the definition written next to each
A peak dashboard should fit on one screen and every number on it should have a decision attached. If nobody would do anything differently based on a figure, it is not a peak metric — it is a post-peak analysis, and it can wait until December.
- Orders and revenue, from Shopify. This is the ground truth. It is the only figure that reconciles to money received, and it is the tiebreaker when anything else disagrees with it.
- Conversion rate split by device. The one ratio that tells you whether a problem is demand or delivery. A drop on mobile only is a site problem; a drop on both is usually traffic mix.
- Error rate on the paths that take money. Add to cart, checkout start, payment. A checkout error rate that doubles is the earliest warning you get, and it will show before revenue does.
- Inventory and fulfilment exceptions. Oversells, failed pushes to the 3PL, orders stuck unfulfilled. Peak revenue that you cannot ship is a refund with a delay on it.
Verify against orders, in September
For each number, do a reconciliation while there is time to fix it. Take a single ordinary day, pull the figure from the analytics tool and the equivalent figure from Shopify, and compare. You are not looking for equality — you will not get it, and chasing it wastes the autumn — you are looking for a stable, explainable gap.
A tool reporting 8% fewer transactions than Shopify, consistently, is usable: you know the offset and you can read a trend through it. The same tool reporting 8% one week and 22% the next is not usable, and finding that out in September gives you two months to work out why. The most common causes are ad blockers, consent, and a tag that fires on a page some customers skip.
Write the gap down next to the metric on the dashboard. "GA4 sessions run ~10% below server-side" is one line that stops a recurring argument for a whole season.
What consent actually does to your numbers
Shopify's Customer Privacy API defines four consent purposes — preferences, analytics, marketing and sale of data — and determines what is allowed by combining three things: the merchant's configuration, the visitor's location, and the consent they have given. In regions that require consent, the documentation is clear that non-essential purposes are not allowed by default until it is given; elsewhere processing defaults to allowed.
Read that again with a peak traffic mix in mind. Your November audience is not your October audience. More paid, more international, more first-time visitors who have never seen your banner before. The proportion of sessions that consent to analytics moves, and your measured traffic moves with it, without a single thing having broken.
This is why the year-on-year comparison everybody reaches for on the Monday after Black Friday is weaker than it looks. Order data is unaffected by consent — you took the money, you have the record. Session and attribution data is not. Lead with orders in anything that goes upward, and treat channel attribution as directional.
Pixels are sandboxed, so instrument events properly
If your measurement still depends on a script reading the page, peak will find it. Shopify's web pixels run in a sandbox: app pixels get analytics for subscribing to customer events, browser for asynchronous access to cookies and storage in the top frame, init for a snapshot of context and cart at render, and settings; custom pixels configured in the admin get the same minus settings. What neither gets is free rein over the DOM.
That constraint is a good thing and it has a consequence: anything you want to measure has to exist as an event. Shopify provides standard events such as page_viewed and product_viewed alongside the checkout progression, and you can publish custom events and subscribe in batches. A bespoke interaction — a size guide opened, a bundle configured, a delivery slot chosen — needs publishing deliberately.
Do that work in September too. Adding an event in peak week means the series starts halfway through the period you want to compare, which is worse than not having it.
Freeze the instrumentation with the code
Most teams run a code freeze for peak and exempt the tag manager, on the grounds that tags are not code. Tags are code. They execute on every page, they can break a checkout, and — the quieter problem — every one added mid-season makes the before-and-after incomparable.
Freeze tag changes at the same moment you freeze deployments, with the same exception process. If marketing needs a new pixel for a campaign that starts on the 20th, it goes in before the freeze or it launches with the campaign untracked and measured by order data. That is a real trade-off, not a formality, and being explicit about it beats discovering a stray tag in the diff in January.
One exception worth keeping open: turning things off. Removing a broken or slow tag mid-peak is almost always safe and occasionally saves the day.
What to skip
Do not stand up a warehouse in October because the reporting is frustrating. It is a quarter of work, the payoff is in analysis you will not do until January, and a half-finished pipeline during peak is a third source of numbers to argue about. If you want one, start it in February.
Do not re-platform attribution in the run-up either. Every model is a set of assumptions, changing the assumptions changes every historical comparison, and peak is the period you will most want to compare against next year. Keep last year's model through this year's peak even if you have decided it is wrong.
And do not add dashboards. The instinct under pressure is more visibility; the effect is a room full of people watching different screens. Four numbers, one screen, one person who calls it.
Questions this raises
How do you keep analytics reliable during peak trading?
Decide in September which numbers you will act on, reconcile each against Shopify order data so you know the size of the gap, instrument any missing events before the freeze, then stop changing tags. Reliability during peak comes from stability, not from adding measurement while the traffic is arriving.
Why does GA4 disagree with Shopify during peak?
Different things are being counted. Shopify records orders it processed; a session-based tool records events it was allowed to fire, which depends on consent, ad blockers, network conditions and where the visitor is. A stable, explainable gap is normal. A gap that changes week to week is the one to investigate.
Does consent change what we can measure?
Yes, and it changes with your audience. Shopify's Customer Privacy API decides what is permitted from merchant configuration, visitor location and consent given, and in regions that require consent, non-essential purposes are not allowed until it is given. A peak traffic mix with more international and more paid traffic shifts the consented proportion without anything breaking.
Should we include the analytics stack in the code freeze?
Yes. Tags execute on every page and can affect checkout, and each change made mid-season breaks comparability for the exact period you most want to compare. Freeze additions and changes; allow removals, since turning off a broken or slow tag is low risk and occasionally urgent.
What is the earliest signal that something is wrong on site?
Error rate on the money paths — add to cart, checkout start, payment — rather than revenue. Revenue is noisy enough hour to hour during peak to hide a real problem for a while; an error rate that doubles is unambiguous and shows up first.
Is it worth building a data warehouse before peak?
No. It is a quarter of work whose payoff is in analysis you will do after peak, and a partially built pipeline becomes another set of numbers to reconcile at the worst time. Start it in the quiet part of the year and have it proven well before the next season.
NEXT STEP
Free store audit
A senior Shopify engineer reviews your storefront, theme performance and checkout, then sends a prioritised list of fixes.
