Three stacked bars on an orange-red background, standing in for events landing in a data layer.

Measurement · QUICK HIT

GTM now sends gtag config events to the dataLayer

Every Google Tag Manager container snippet now initializes when the container loads, whether or not the page runs a gtag('config') command.

Jerry Quin2 min read2 sources

Illustration: The Keywordless.

The short answer

What changed

Every Google Tag Manager container snippet now initializes when the container loads, whether or not the page runs a gtag('config') command. Those config commands now show up in the dataLayer as visible gtag.config events.

Who has it

Google's Oct 8 release note describes it as the behavior for all gtm.js container snippets.

What I'd do this week

Open your containers and look for custom event triggers that match on a wildcard or a regex like .*. Those are the tags most likely to start firing on the new gtag.config events.

Config commands no longer gate the container

Before this, a page's gtag('config') call could shape when things got going. Google's note says gtm.js snippets now initialize on container load "regardless of any gtag('config') commands." The goal Google gives is consistent, reliable behavior across every site that uses the Google tag.

A new event is now landing in your dataLayer

The part that can bite you is the new event. Config commands now surface in the dataLayer as gtag.config events. If a trigger listens for any custom event, Google says this change "may cause those tags to fire." That can mean duplicate hits, inflated event counts, or a pixel firing on a page where you never meant it to.

The fix is usually small. Tighten the trigger so it matches the event names you actually push, or add an exception for gtag.config. Then test it in Preview mode before you publish.

Keeping gtag config code means gtag.js on every page

If you still want to use the gtag configuration code on your site, Google says every page needs the Google tag (gtag.js) snippet. Sites that mix gtm.js on some templates and gtag.js on others are worth a quick crawl to find the gaps.

It fits a bigger cleanup Google started in August

Google's August help page on tag updates said new deployment snippets would all be the same and would drop the config command. It recommends setting initialization with the gtm init trigger, which can also wait for the config command if you want to keep a legacy setup. And on Oct 12, Google added a release note saying GTM containers now send data directly to Google measurement products, without loading gtag.js separately. That part is opt-in. Google says "no changes will be made automatically," and anyone with edit, approve, or publish permissions can start it from the optimization banner in the container.

Put together, the config command is turning into a dataLayer event rather than the thing that starts your tagging. Audit your wildcard triggers now, while the change is still fresh, rather than finding it in a reporting gap next month.

Jerry Quin

Jerry Quin is the pen name of a paid media practitioner who has managed Google Ads accounts at an agency for 10 years. He writes about Google Ads, Microsoft Ads, ChatGPT Ads, and the rest of paid media and digital marketing, from what's rolling out to what he'd actually do about it.