GA4 conversion coverage, measured against real Shopify orders
29% to 80%
- Before
- 29% (84 of 290 orders, 1–25 Jun)
- After
- 80% (176 of 219 orders, 26 Jun–12 Jul)
Herbal tea and supplements (DTC)Client work
How a Greek herbal-tea brand carried one Shopify variant ID across Merchant Center, GA4/Ads and Meta and lifted GA4 order coverage from 29% to 80%.
The brief
A Greek herbal-tea and supplements brand on Shopify, selling through catalogue and Shopping ads. I was brought in in May 2026 to fix a product-identity problem, followed by Google tag gateway work; in June the brand migrated to Fixel Pixel.
The two problems arrived as separate requests — catalogue ads that did not match products, and analytics that saw only a fraction of real sales. The catalogue side traced back to one store describing the same product with a different ID in every platform.
Sounds familiar?
The investigation
I set a single ground truth: every real non-test order in Shopify, pulled from the Admin API, independent of any tracking. I then read “tracked” straight back from the GA4 Data API, not from an estimate. Coverage is tracked orders divided by real orders, aggregated per phase.
Before migration (1–25 Jun): 290 real orders, 84 tracked → 29%.
After migration (26 Jun–12 Jul): 219 real orders, 176 tracked → 80%.
Server-side capture (26 Jun–13 Jul): 188 of 222 orders → 85%, against 39 of 222 (18%) for a browser pixel alone.
Traffic was steady across the whole period, so the change is tracking quality, not demand.
Handover
Delivery noteDelivered Jul 2026
item_id, and the Meta catalogue and pixel content_ids.g:id and the product ID as g:item_group_id, plus a sweep for archived, draft and duplicate products.view_item, add_to_cart, begin_checkout and the rest now carry the variant ID, so Shopping and dynamic remarketing use the same identity the feed does.Before → after
Client work Done for real clients. Client details are anonymised.
GA4 conversion coverage, measured against real Shopify orders
29% to 80%
Server-side order capture (ad-blocker and consent proof)
85%
Product identity across platforms
| What changed | Before | After | Read on |
|---|---|---|---|
| GA4 conversion coverage vs real orders | 29% (84 of 290) | 80% (176 of 219) | Jul 2026 |
| Server-side order capture | browser pixel only, 18% | 85% (188 of 222) | Jul 2026 |
| Product identity | different per platform | Shopify variant ID everywhere | May 2026 |
| Server-side Google Ads conversions | none | live from 10 Jul, 12 uploads in the first four days | Jul 2026 |
He’s probably the best freelancer I’ve worked with. He’s super responsive, incredibly knowledgeable, and always finds a solution to every problem.
Notes on the numbers
Two honest notes from the report itself. The migration was not clean: there was a one-day tracking gap on 26 June, the cut-over day, and a short window through about 7 July when old and new tracking briefly ran together and over-counted some days. Across the full after-period the totals still sum to 80%, so the period is not inflated. And GA4 finalises the most recent 24–48 hours, so the last days of any reading may still rise.
A note from Daniilbefore you decide
If your catalogue ads do not match your products, the cause is often identity, not creative. One product ID, agreed across the feed, the pixel, analytics and the catalogue, fixes matching on every channel at once, and it is cheap to check: open one product and compare its ID in each platform.
The same discipline applies to measurement. Measure coverage against your own orders, not against a platform’s summary, and treat a migration’s noisy window as something to disclose rather than something to round away. And a browser pixel alone is a lossy path: on this store it saw 18% of orders, while server-side capture from the order webhook saw 85%.
— Daniil
A UK jewellery store's PageSpeed score was faked for the benchmark. The honest score was 78; real optimisation reached 92 and LCP fell from 3.4s to 1.2s.
The first answer is free, within one working day. Or write directly: next@taskfordaniel.com