Playbook · Shopify admin analytics / reports not matching GA4 purchase data

Shopify analytics not matching GA4 — Admin reports vs purchase events.

Written for a Shopify owner or ops lead whose Shopify Admin Analytics / reports purchase counts and revenue do not match Google Analytics 4 purchase / ecommerce data. DIY-first: lock the same date window and timezone; separate refunds, test orders, and Markets currencies; confirm Customer Privacy / consent is not silently dropping analytics; verify customer events / Google & YouTube channel pixels fire purchase without double-count; stop treating a dead pixel sandbox, a forever-deny consent banner, or Admin webhook delivery failures as the same reconciliation bug. Distinct from customer events / pixels broken, cookie consent banner broken, and webhooks not delivering. Related missing GA4 purchase only: GA4 purchase event missing. No earnings claims, no invented case studies.

Nico at Latch AI Ops · Sep 10, 2026 · ~11 minute read

Buy the 72-hour install — $997Customer eventsCookie consentMerchant FAQ

01

Admin Analytics vs GA4 mismatch — not pixels broken, consent forever blocking, or webhooks.

Several products can look like “tracking is wrong.” They do not share a fix. This page is only when Shopify Admin Analytics / reports and GA4 both show purchase data but the counts or revenue disagree for a comparable window. Custom pixels / customer events that never fire page_viewed / checkout_completed is customer events / pixels broken. Cookie consent / Customer Privacy banner missing, looping, or leaving analytics blocked forever after Accept is cookie consent banner broken. Admin / app webhook POSTs failing HMAC or HTTPS is webhooks not delivering. GA4 purchase event missing entirely (zero purchases while Shopify has orders) is GA4 purchase event missing. This page is only: Admin Analytics ≠ GA4 for the same window when both sides have data.

Six ordinary reasons the numbers diverge: store timezone vs GA4 property timezone / reporting lag; refunds, cancellations, and test / staff / draft orders counted on one side only; Markets / multi-currency revenue vs GA4 currency settings; Customer Privacy / consent blocking analytics for a share of sessions while Shopify still records the order; Google & YouTube channel / customer events purchase firing twice or with wrong value / transaction_id; last-click / session attribution in GA4 vs Shopify’s order-date sales reports. Walk them in that order. You already pay for Shopify Admin and GA4. You do not need another SaaS to prove why the reports disagree.

02

Prove the same window, timezone, currency, and Shopify vs GA4 surface.

Open Shopify Admin → Analytics → Reports (or Overview) and pick a fixed date range in the store timezone. Export orders / sales for that window. In GA4, open the same property timezone and Monetization → Ecommerce purchases (or an Explore with transaction_id / purchase revenue). Capture: order count, gross sales / total sales, refunds, currency, and whether you are comparing order-created date vs session attribution date.

Side-by-side: list which GA4 tag path you use (Google & YouTube sales channel, custom customer event pixel, theme gtag). If customer events / custom pixels never fire at all, leave this page and use customer events / pixels broken. If the consent banner loops or analytics stays denied after Accept, open cookie consent banner broken. If you are debugging Admin webhook delivery to a middleware warehouse (not GA4), open webhooks not delivering.

03

Fix attribution, consent, customer events / pixels, and retest same-day orders.

Align the store timezone → GA4 property timezone → consent → customer events / Google channel purchase → transaction_id / value → same-day retest chain: match Admin and GA4 timezones; confirm analytics consent where required; ensure purchase fires once with a stable transaction_id matching the Shopify order name/id; exclude test and draft orders; allow GA4 processing lag (often hours) before declaring a permanent gap. Do not paste a second theme gtag and expect Admin Analytics to match session-attributed GA4 revenue.

Retest with a known paid order (private window, consent Accept if shown). Confirm Admin shows the order and GA4 DebugView / Realtime shows purchase once. Related entirely-missing purchase: GA4 purchase event missing. Related GA4 vs ops install framing: GA4 / Shopify customer events vs ops install.

04

Checklist and how to prove Admin Analytics and GA4 agree within expected variance.

Checklist: (1) screenshot Admin Analytics / report for a fixed window in store timezone, (2) screenshot GA4 ecommerce purchases for the same timezone and dates, (3) subtract refunds / test / draft / staff orders, (4) confirm Customer Privacy allows analytics for the sessions you care about, (5) confirm Google channel or customer events purchase fires once with matching transaction_id / value, (6) if pixels never fire, consent blocks forever, or webhooks fail, switch playbooks.

Prove it: after timezone / refund / consent / single-purchase hygiene, Admin order count and GA4 purchases stay within an expected variance for the same window (consent opt-out and attribution differences remain normal — not a broken install). If GA4 shows zero purchases while Shopify has paid orders, open GA4 purchase event missing.

05

You tested customer events pixels, cookie consent, or webhooks instead.

Customer events / custom pixels never firing is customer events / pixels broken. Cookie consent banner broken or forever blocking pixels is cookie consent banner broken. Admin / app webhooks not delivering is webhooks not delivering. GA4 purchase event missing entirely is GA4 purchase event missing. Cookie banner blocking ATC / checkout UX (not analytics reconciliation) is cookie banner blocking checkout. None of those finish an Admin Analytics vs GA4 mismatch where both sides have purchase data but disagree.

Finish prove same window / timezone / refunds / consent / single-purchase → variance proof first. Only then open the related playbook that matches the remaining symptom.

06

When to stay DIY vs pay $997.

Stay DIY if you can spend one afternoon on the list above: prove the same window and timezone; subtract refunds and test orders; confirm consent and a single purchase event; and stop treating dead pixels / forever-deny consent / webhook delivery as the same bug. That is the whole playbook. No agency required. Short answers also live on the merchant FAQ. Related pages: customer events / pixels broken, cookie consent banner broken, webhooks not delivering, GA4 purchase event missing, GA4 / Shopify vs ops install.

Pay for help when the work is not the Analytics export — it is connecting the stack you already have so lead capture is not dying in DMs, cart / ops exceptions land in a channel you already check, and the live store is one workflow instead of a spreadsheet plus a Slack bot you forgot. That is the Latch AI Ops install.

What $997 USD one-time buys: lead capture on the live store, ops alerts in a channel you already check, and a checkout-ready workflow. 72 hours after collaborator access, not after payment. One live Shopify store. Access plus a delivery thread. Store URL collected at checkout. Not a SaaS seat, not an upsell retainer, not a conversion guarantee, not a brand or theme job.

Other shops’ public ranges, not testimonials: a checkout / ops install typically runs $500–$2,500. A full ops consulting block typically runs $2,000–$5,000. $997 is the cheap end of that work, sold as a 72-hour install of three systems — not as an earnings number or uptime claim.

What it does not buy: more orders, automatic Plus eligibility, a custom GA4 BigQuery pipeline, or a case study. Latch AI Ops has not published customer proof because there are no customers yet. You are buying the install.

Checkout is on Whop. Operator is Nico. United States offer. You can revoke collaborator access after handoff. We do not take owner passwords.