Tracking & AnalyticsService
GA4 ecommerce tracking repair for Shopify
Fix GA4 ecommerce tracking: purchase events, items array, revenue accuracy, and unassigned traffic — verified in DebugView and reconciled against orders.
- Published
- Reviewed
Prefer email? next@taskfordaniel.com
The problem
Why does GA4 break so often on Shopify?
GA4’s ecommerce reporting is only as good as the events feeding it, and on Shopify those events break more often than most merchants realize — silently.
A checkout theme update, an app install, or the migration to checkout extensibility can stop the purchase event from firing correctly, drop the items array, misreport revenue net of discounts, or dump a growing share of sessions into “Unassigned.” None of it throws an error. It just quietly makes GA4 wrong.
The result is a dashboard that looks complete and isn’t: revenue figures that don’t match Shopify, a funnel that can’t be trusted for optimization, and channel data too broken to inform ad spend decisions.
Scope
What I do
I repair the GA4 ecommerce pipeline at the data-layer level — not by patching the report, but by fixing what generates the events GA4 receives. That covers:
-
Purchase and checkout eventscorrect triggering, complete parameter sets, and an accurate items array (product ID, price, quantity, variant).
-
Revenue accuracymaking sure GA4’s reported revenue reflects what Shopify actually charged, including tax and shipping handling.
-
Unassigned traffictracing why sessions land unattributed (broken UTM parameters, a channel-group misconfiguration, a consent-mode gap) and correcting the source.
-
Attribution configurationGA4 channel groups and UTM hygiene, so campaign data actually reflects where traffic came from.
-
Verificationconfirming the fix in DebugView in real time, and in BigQuery’s raw export if you have it linked, not just in the standard reports (which lag).
A defined GA4 task is quoted directly. When the cause isn’t clear, describe the symptom first; that’s free. If it still needs establishing, the read-only Tracking Health Check gives a written conclusion and, where the fix has a definable scope, a fixed quote.
The process
How it runs
-
Access and symptom review
GA4 editor access, Shopify access, and GTM container access if one exists. You describe what looks wrong — revenue mismatch, missing purchases, Unassigned growth — or I identify it if you’re not sure.
-
Reconciliation and inspection
I compare GA4’s purchase count and revenue against actual Shopify orders, and inspect the event and parameter structure behind the numbers.
-
Root cause and fix
I trace the break to its source — a script, a trigger condition, a data-layer variable — and rebuild it rather than patching around it.
-
Verification
Every fix is confirmed in DebugView on a real test event, then watched against live orders for a follow-up window before I call it done.
Handover
What you get
A working, verified GA4 ecommerce implementation: correct purchase and checkout events, an accurate items array, revenue that reconciles against Shopify, and attribution data that reflects real traffic sources.
You also get documentation of exactly what was changed and why, so a future developer doesn’t undo it by accident, plus a short reconciliation check in the days after the fix goes live.
Handover kit
- Purchase and checkout event repair, including the items array
- Revenue, tax, and shipping accuracy fixes
- Unassigned-traffic root-cause fix (UTM hygiene, channel-group correction)
- Verification in GA4 DebugView and, where relevant, BigQuery export
- 7-day post-fix reconciliation against Shopify orders
- Documentation of what changed and why
Price and timeline
Next step
If the task is already clear, I can quote the implementation directly. If we first need to establish the cause or scope, we agree a separate diagnostic engagement: the Tracking Health Check, a read-only diagnosis that ends in a written verdict and a fixed quote.
Email next@taskfordaniel.com with your GA4 property and what looks off — discussing the task is free — or request a Tracking Health Check when the cause needs establishing first. Where GA4 issues trace back to GTM configuration, that work is covered under Google Tag Manager consulting.
QuoteFixed before work starts
- Price
- Focused Fix from USD 450 · Custom Engineering Project from USD 1,500 · quoted in writing
- Turnaround
- 2–8 business days depending on scope
A note from Daniilbefore you decide
What this is not
This doesn’t rewrite historical data — nothing can. It also doesn’t fix ad performance; it fixes measurement, which is a separate thing from whether your ads or offer are working.
And a small variance between GA4 and Shopify after the fix is normal, not a defect — perfect 1:1 matching isn’t realistic given how browser-based measurement works, even when everything is configured correctly.
— Daniil
Questions
FAQ
Why doesn't GA4 match Shopify exactly, even after a fix?
A small, stable variance is structural: timezone boundaries, ad blockers, and consent declines all remove some browser-side signal even from correctly configured tracking. The problem isn't that gap; it's a gap that is large, or keeps growing week over week, which points to a broken purchase event, a missing items array, or duplicate/blocked hits.
Do you work with checkout extensibility and Customer Events?
Yes. Most GA4 breakage on Shopify in the last two years traces back to that migration — legacy checkout.liquid scripts silently stopped firing, and the replacement Customer Events pixel wasn't rebuilt to match. That's one of the most common root causes I find.
Can you fix historical data that's already wrong?
No — no tool can rewrite what GA4 already recorded. What I can do is stop the bleeding, document exactly when the tracking broke, and make sure the data going forward is correct, so you at least know where the clean baseline starts.
Is this an audit or an implementation?
It is an implementation service. If the task is already clear, I can quote the implementation directly. If we first need to establish the cause or scope, we agree a separate diagnostic engagement — the read-only, fixed-price Tracking Health Check, which ends in a written verdict and a fixed quote. Either way the fix begins only after you accept a written quote.
Do I need GTM access, or is this done natively in GA4/Shopify?
Depends on your setup. Some fixes live in GA4 configuration itself (channel groups, data streams); others require GTM or direct changes to how Shopify's Customer Events pixel sends data. I'll tell you which applies once I've seen the account.
Where to go next
- Solution GA4 Revenue Doesn't Match Shopify: Full Diagnosis
- Solution GA4 Not Tracking Purchases on Shopify: Diagnosis
- Solution GA4 Unassigned Traffic on Shopify: Diagnosis
- Article Why GA4 Revenue Doesn't Match Shopify Orders
- Article Fix the GA4 Purchase Event on Shopify (Step by Step)
- Article Your AI Search Dashboard: GSC Impressions, Bing Citations and GA4 Revenue by Page
- Article ChatGPT, Perplexity and Copilot Visits in GA4 and Shopify: Referrers, utm_source=chatgpt.com and the AI Assistant Channel
- Knowledge Base What Is Cross-Domain Tracking in GA4?
- Knowledge Base What Can the GA4 Measurement Protocol Do?
- Situation How Much Traffic Does ChatGPT Send You? AI Search Reporting by Landing Page
- Situation Many Add-to-Carts, Few Purchases: Experiment and CRO Measurement Into GA4 and Ad Platforms
- Situation Profit and ROAS After COGS, Shipping and Refunds: Marketing Warehouse
- Situation SaaS Signups Don't Map to Revenue: Signup to Activation to Paid Measurement
- Case study Silent Zeros: When a Reporting Pipeline Says Success and Delivers Nothing
What do you need to get working?
Describe your taskThe first answer is free, within one working day. Or write directly: next@taskfordaniel.com