The challenge
The brand spent around £38,000 a month on Meta and Google. Shopify showed one number for revenue, GA4 another, and Meta a third. GA4 was missing 31% of Shopify revenue and Meta saw only about 65% of orders.
With that much signal missing, Meta’s algorithm was optimising toward the customers it could see, mostly desktop buyers, and under-spending on the iPhone audience that made up most of real sales.
What we did
- AuditWe compared two weeks of Shopify orders with what each platform recorded, event by event, and found duplicate purchase events, a missing checkout step and consent mode switched off.
- Server-side buildWe set up a server-side GTM container on the brand’s own subdomain, sent purchases to Meta through the Conversions API with deduplication, and switched on Google enhanced conversions.
- Consent and QAConsent mode v2 was configured with the brand’s cookie banner, and every event was checked against real orders before launch.
- MonitoringAn automated daily check now compares platform conversions with Shopify orders and alerts our team if the gap moves by more than 5%.
Who does what
Handled by automation
- Daily reconciliation of Shopify orders against GA4, Meta and Google Ads
- Alerts in Slack when an event stops firing or the gap widens
- Weekly data-quality summary
Owned by our team
- Tracking plan and event design
- Consent set-up with the brand’s legal advisor
- Fixing issues the alerts raise, usually the same day
Results
| Measure | Before | After |
|---|---|---|
| Purchases reported to Meta (share of Shopify orders) | 65% | 83% |
| Meta event match quality | 5.4 | 8.6 |
| GA4 revenue gap vs Shopify | 31% | 6% |
| Meta cost per purchase | £42.10 | £36.20 |
Ad spend stayed within 5% of its previous level during the three months measured, so the lower cost per purchase came from better optimisation, not lower spend.
Tools
- Shopify
- GA4
- Server-side GTM
- Meta CAPI
- Google Ads
This is a sample case study, shown while our client studies are approved for publication.