Ad blockers and Safari are eating a third of your conversion data. Server-side GTM through Stape puts tags on your own subdomain, extends cookie life, and sends clean first-party data to Google and Meta.
Google Ads says you got 40 purchases. Shopify says 70. Meta says 55. The gap is not a bug in any one platform. It is the browser dropping cookies, extensions blocking pixel requests, and iOS cutting attribution windows.
Client-side tracking is fighting the browser now and losing. Each month the numbers drift further from reality and the ad platforms optimise on whatever is left.
›
Safari’s ITP caps JavaScript-set cookies at seven days, so a returning customer looks like a new one after a week.
›
Ad blockers and privacy extensions block requests to google-analytics.com and facebook.com outright. On some audiences that is 25% or more of sessions.
›
iOS 14.5 and later strips click IDs and limits what the Meta Pixel can report from the browser.
›
Every tag you add client-side slows the page, which hurts Core Web Vitals and conversion rate.
01
Set up a Stape container on a first-party subdomain like data.yourstore.com, with a custom loader so GTM and GA4 requests come from your own domain.
02
Move GA4, Google Ads and Meta to server-side tags. The browser sends one request to your server; the server fans out to the platforms.
03
Set cookies from the server with HttpOnly and a two-year expiry so Safari respects them.
04
Add Meta Conversions API with hashed customer data and event deduplication against the browser pixel.
05
Measure before and after on the same week of traffic so you can see the recovered events, not just trust that they exist.
A working server container on Stape, a client container that talks to it, GA4 and Meta receiving events from the server, a comparison of recovered conversions against the previous setup, and documentation of the whole pipeline.
Stores spending more than about $5k a month on ads where a 20 to 30% data gap is costing real optimisation, and brands selling into the EU and UK where first-party data matters for consent.
Stape’s plans start around $20 a month and scale with request volume. A store doing a few thousand orders a month usually sits on the $20 to $60 tier. There is no Analytigrow markup; you pay Stape directly.
No, and it shouldn’t. Consent signals travel with the event to the server. If a visitor rejects, the server honours that. It recovers data lost to technical blocking, not to user choice.
No. Expect to recover a meaningful share, often 15 to 35% more conversions visible to Google and Meta. Anyone promising 100% is selling something.
Yes, but for most stores Stape is cheaper and has less to maintain. I use Cloud Run when a client already has GCP infrastructure and someone to look after it.
Yes. Shopify customer events feed the client container, which forwards to the server container. Purchase data comes through with the order ID intact for deduplication.
A tracking audit tells you exactly which events are wrong, why, and what it takes to fix them. No pitch deck, just the findings.