What Changed When GTM Containers Became Google Tags

Google Tag Manager
What Changed When GTM Containers Became Google Tags

If you manage tags across a portfolio of client sites, you've probably noticed GTM's container model has shifted. Containers can now function as Google Tags, with legacy Google Tags running as Destinations underneath them. Most agencies opted into this when the upgrade flow rolled out. Plenty haven't yet, and the ones who did don't always know what actually changed under the hood.

What changed

Before the upgrade, GTM and Google Tag operated as related but separate products. Each Google Tag in your container loaded its own gtag.js file. Three Google products on one site meant three separate library loads.

Now everything routes through the same library. Upgrade a container and the container itself becomes a Google Tag. Any existing Google Tags inside it migrate to "Destinations" of that container. Only one gtm.js file loads. Every Google product (GA4, Ads, Floodlight) runs through it.

Unupgraded containers keep working as before. The upgrade is opt-in, and if it breaks something you publish an older version to roll back.

What doesn't change

Worth saying out loud, because Google's announcements always trigger a round of bad takes. The container doesn't start collecting data automatically. Tags still need triggers to fire, and consent mode works the same way it did before. If your tags respect consent today, they still respect consent after the upgrade. All that changed is how the library loads.

sGTM users can relax too. Server containers handle events the same way they always have. The upgrade only affects how Google Tag libraries get delivered on the client side.

Why this matters for agency setups

If a client only runs GA4, the savings are modest. Agencies stacking GA4, Google Ads conversions, remarketing, and Floodlight on the same site notice a bigger difference.

Bandwidth is the obvious win. One library load instead of three or four means less JavaScript on the page, and on client sites with already-bloated tag stacks that adds up to measurable performance.

Settings also get consistent across destinations. The container holds a centralized set of Google Tag settings that apply to every destination, so you configure cross-domain measurement, session timeout, IP redaction, and ignored referrals once and they apply everywhere. Per-destination overrides still work when a client needs different behavior, so you don't lose flexibility.

And if you're running server-side GTM, the savings are real money. Only one library loads through your server instead of separate files for each Google product, which means egress costs drop and Cloud Run (or whatever you're using) does less work per request.

What you actually do during the upgrade

Run the upgrade wizard from inside the container. The wizard creates a set of workspace changes the same way any normal edit does. That means you get full preview mode, you can test in a separate workspace, and nothing goes live until you publish a new version.

If something breaks after publishing, roll back by publishing the previous version. There's no special "undo upgrade" flow. The version history handles it.

Permissions stay normal. You need Edit access on the container to run the wizard. Publishing the resulting version still requires Publish permission. If your agency splits roles where junior team members edit and seniors publish, that workflow stays intact.

The container snippet detail nobody talks about

Future Google Tags get deployed with the GTM container snippet by default. The snippet now carries both a GTM container ID and a product ID. If the snippet uses the GTM ID, you have full GTM functionality. If it uses the product ID, the container can only deploy Google's tags.

This becomes an audit point. When inheriting a client account, check which ID is in the snippet on the actual website. Most of the time you want full GTM. But if an organization has dodged GTM in the past over governance worries, scoping to product-ID-only gives them a way in that didn't exist before.

UI quirks worth knowing

The Overview page got useful. It shows the data flow through the container and is worth opening when debugging.

The side menu hides some items behind an "Advanced" section. If you live in GTM all day, expect an extra click for things you used to reach directly. Annoying, but not deal-breaking.

The visual event builder lets you walk through a conversion flow on a real site and auto-generate tags, triggers, and variables based on what you click. Useful for fast onboarding of clients with simple setups. For anything custom, you'll still build manually.

What we'd suggest

For containers that haven't been upgraded yet, just do it. Rollback is one click, and the wins on bandwidth, settings consistency, and sGTM costs are worth the hour it takes to test.

When you inherit accounts from another agency, check the container snippet before anything else. Whether you have full GTM or scoped product-ID-only access changes what you can do next.

If you want a second set of eyes on a multi-client migration or a sGTM setup that's costing too much, that's the kind of work we handle. Reach out and we'll walk through your stack.

Put this into practice

Manage your agency smarter

SmartMetrics gives agencies the tools to track client health, automate reporting, run audits, and deliver a fully branded client experience — all in one place.

  • No credit card required
  • Setup in minutes
  • Cancel anytime