Beta Position Eleven is live and still being built.
Home › Writing › Analytics

Two GA4 properties on one page

A surprising number of sites fire two Google Analytics properties from the same page. Usually nobody intended it, nobody knows, and every report produced from either one is defensible right up until somebody compares them.

How it happens

A migration nobody finished. The new property was added, the old one was left in place "until we're sure", and being sure never got scheduled.

Two teams, two tags. An agency adds a tag through Tag Manager; the developer adds one in the template. Neither can see the other's work without viewing source.

A theme or plugin with its own field. The site's theme has an "Analytics ID" setting, filled in years ago, and the current tag was added separately.

Tag Manager containing what the page already has. The container was set up to add GA4, on a site where GA4 was already hardcoded.

Why it matters more than "duplicate data"

The two properties are rarely configured identically. Different key events, different data retention, different filters, different attribution settings, different exclusions.

So you do not get two copies of one truth. You get two different, incomplete truths, and whichever one someone opens becomes the number in the meeting.

The second-order damage is worse: Google Ads is probably importing conversions from one of them. If that is the property with the incomplete key event configuration, your bidding is being steered by the worse dataset.

Finding it

View source and search for G-. Then check inside Tag Manager — most tags do not appear in page source at all, because the container adds them at runtime.

The container is publicly served at the same URL your browser requests, which means it can be read from outside without any access to the account. That is how our free audit finds duplicates: it reads the page, then reads the container.

Fixing it

Decide which property is authoritative — usually the one with the longer clean history and the correct key events. Then remove the other tag rather than deleting the property. The historical data in the losing property is still the only record of that period, and deleting it is irreversible.

Keep it, stop it collecting, and write down which one is which. The single most useful artefact after this cleanup is one sentence in the repository saying which property is real and where the tag lives.

Read next

Reading about it is slower than looking

Run the free audit on your own site. Public data, about ten seconds, no account.

Audit my site

Stop reporting what happened.

Start telling clients what to change — and prove it moved.

Get started
Beta · help shape it

What would make this worth paying for?

Everything on this site works today. It is early, so the roadmap is still genuinely movable — tell us what is missing and we will build it. Testers who give us something useful get a lifetime deal on whatever plan they end up on.

No account needed. Email is optional.