Blog

Move from Google Tag Manager to sGTM without losing reports

The migration is additive: server-side tagging adds a route, it does not replace your client GTM.

A common confusion: server-side GTM is sometimes presented as a replacement for client-side GTM. It is not. The two work together. Your client GTM continues to capture events from the browser; your server GTM is a new destination that those events route through. Migrating means setting up the server side, not removing the client side.

The architecture before

Your client GTM container has tags that fire on triggers. Each tag sends events directly to its destination: GA4 sends to google-analytics.com, Meta Pixel sends to facebook.com, etc. The browser makes one request per destination, all to third-party hostnames.

The architecture after

Your client GTM still has the same triggers and the same tags. But the tags now point at your custom tagging server URL instead of the destination directly. The browser makes one or two requests to your first-party hostname. Your server container then forwards to all the destinations.

What stays the same

  • Every trigger in client GTM. Click triggers, page view triggers, form submission triggers continue to fire identically.
  • The data layer. Whatever your page pushes, your client GTM still reads.
  • The events that fire. Same names, same parameters, same payload structure.
  • The destinations. GA4, Meta, TikTok, etc. all still receive their events.

What changes

  • Each tag in client GTM is reconfigured to send to your server container instead of directly to the destination.
  • Your server container has matching tags that receive the event and forward it.
  • The hostname the browser hits is your domain, not the third-party domain.
  • You gain the ability to centrally hash, dedupe, enrich, and filter before forwarding.

Migration in three phases

  1. Set up the server container. Provision, custom domain, basic clients. The setup walkthrough covers this.
  2. Migrate one tag at a time. Add a server-side tag mirroring the client-side one. Verify in preview mode. Run both for a week, comparing event counts.
  3. Cut over. When you trust the server-side counts, change the client-side tag to forward to your server URL instead of firing directly. Or remove the client-side tag if it is fully replaced.

Reports that benefit immediately

GA4 reports that were affected by ad blockers see an immediate lift, typically 5-20 percent in event volume. Match rates on Meta CAPI improve. The GA4 thresholding drops as user_data flows server-side. None of this requires changing how the reports are configured; the data quality just improves.

Reports that need rebuilding

If your custom dimensions or events depended on a specific client-side parameter that gets transformed during the migration, those reports may show different values for a brief period. Run client and server in parallel during the transition; the parallel data is your audit trail for any unexpected changes.