← All resources Product

Measuring real server-side uplift with GTM tag templates

"Server-side tagging recovers data that ad blockers and browser privacy features would otherwise cost you" is the whole pitch of this product — but it's usually stated as a general claim, not a number you can check for your own site. Measurebase's two downloadable GTM tag templates turn it into one: a real, per-event measurement of how much a web-side signal is lost compared to the matching server-side one, plus the visitor's actual Consent Mode v2 state.

Two templates, one paired signal

Both templates share three fields: Container ID (shown on each domain's page in your Measurebase dashboard), Event Name, and Event ID. You build a tag from the Client Event Signal template in your web container and a matching tag from the Server Event Signal template in your server container, wire each to whichever trigger corresponds to the event you want to measure (a purchase, a lead form, a page view — nothing is auto-detected), and give both tags the exact same Event Name and Event ID. Measurebase correlates the two by that combination, and reports the comparison on the Client-side vs server-side requests panel on the domain's page.

Client Event Signal (web container)

Fires a lightweight pixel carrying container_id, event_name, event_id, and all four Consent Mode v2 signals read directly from the browser — ad_storage, analytics_storage, ad_user_data, ad_personalization — each reported as granted or denied for that visitor at that moment.

There's a fourth field here the server template doesn't have: Tagging server URL. Fill in your own tagging subdomain and the pixel travels first-party through it instead of going straight to api.measurebase.com as a third-party request — the exact kind of request ad blockers and tracking prevention are built to catch. Skipping this field doesn't break anything, but it does undercount your web-side signals and inflate the very uplift number this is meant to measure honestly.

Server Event Signal (server container)

Fires the matching signal with container_id, event_name, event_id, and the incoming request's raw gcd (Google Consent Diagnostics) parameter, forwarded as-is rather than decoded inside the tag. Decoding happens centrally on Measurebase's own servers, so the logic can be corrected or improved for every customer at once without anyone re-importing a template. If a request has no gcd — consent mode isn't wired up, or a non-Google client sent the hit — consent is reported as unknown for that event rather than guessed.

This tag runs server-side, so it always fires once the event reaches your server container — it is never subject to browser-side ad blocking or tracking prevention. That asymmetry is exactly what makes the comparison meaningful: whatever share of matching web-side signals didn't arrive, but the server-side one did, is data server-side tagging recovered for that event.

Installing them

  1. Open Downloads in your Measurebase dashboard and download both .tpl files.
  2. In each GTM container, go to Templates → New → Import (or Admin → Import Container) and select the matching file — Client Event Signal in your web container, Server Event Signal in your server container.
  3. Build a tag from each template, choose the trigger that matches the event you're measuring, and fill in the same Event Name and Event ID on both.
  4. Publish both containers. Results start appearing on the domain's Client-side vs server-side requests panel as matching events come in.

Matching the two containers' setup is entirely on you — Measurebase pairs signals by Event Name and Event ID alone, so a typo or mismatch between the web and server tag just means that event won't correlate.

Continue reading

Ready to move your tagging to Europe?

Start free, no credit card required. Live in about 15 minutes.

Start free