Chapter 01
Migrating to server-side
Move conversions from the browser pixel to a GTM Server-side container without breaking attribution.
Why server-side, why now
iOS 14, ad-blocker prevalence, Safari ITP, and the broader cookie deprecation story have systematically destroyed browser-based pixel reliability. By 2026, browser-only conversion tracking misses 25-45% of real conversions on most ecom accounts. Server-side tagging recovers most of that loss because the tracking call originates from your server, not the user's browser.
The migration is not optional past $50K monthly spend. Smart Bidding consumes the conversion signal you give it; if 35% of conversions are missing, the bidder learns from a biased subset and bids on the wrong patterns. Server-side tagging, Conversions API, and Enhanced Conversions are the three pillars that restore attribution health.
Migration sequence
- 1
Audit the current setup
Document every event currently firing client-side. Conversion event, page-view, add-to-cart, lead-form. Note the parameters being sent.
- 2
Spin up the GTM Server-side container
Create a Server-side container in Tag Manager. Deploy to a Google Cloud Run or App Engine endpoint. Custom subdomain (e.g. analytics.yoursite.com) recommended for first-party signal.
- 3
Set up the dual-firing window
For 14 days, fire events both client-side and server-side. Compare conversion counts. They should match within 5%. If not, fix the server-side mapping before switching off client-side.
- 4
Wire Conversions API
For each major platform (Google Ads, Meta, TikTok), add the CAPI endpoint. Pass the same conversion event with hashed user identifiers (email, phone) for matching.
- 5
Enable Enhanced Conversions
On Google Ads, turn on Enhanced Conversions for Web. Hash the user data (email at minimum) and pass it server-side. EMQ score should climb from 4-5 to 8-9 inside two weeks.
- 6
Switch off client-side firing
Once dual-firing matches and EMQ is healthy, disable the client-side conversion tag. Server-side becomes the sole source of truth.
EMQ scoring read
| EMQ score | What it means | Action |
|---|---|---|
| 0-4 | Most conversions miss user data; matching is broken | Fix immediately, server-side data not flowing |
| 5-7 | Some matching working; missing key fields | Add email or phone to the server-side payload |
| 8-10 | Healthy first-party signal | Maintain; this is what you want |
