Website problems

Tracking tag loaded twice

When the same measurement or advertising tag is installed through two routes — a tag manager and a template, or two templates — it fires twice on every page. Every page view, every event and every conversion is counted twice, so revenue, conversion rate and cost per acquisition are all wrong by a factor of two. The numbers look plausible, the trend looks right, and every decision made from them is made on doubled figures.

How the duplication happens

A tag added directly to a template, and later added again through a tag manager by someone who did not know about the first.

A tag in a shared header partial and again in a page-specific template.

A migration to a tag manager where the original snippets were never removed.

A theme or plugin that injects the tag automatically, alongside a manual installation.

A consent platform re-injecting a tag that the page had already loaded.

What it does to the numbers

Page views double, which inflates every per-visit metric and halves every per-view rate.

Conversions double, which makes cost per acquisition look half what it is.

Revenue doubles on platforms that receive a value, which is the figure that gets reported upward.

Bounce rate and session duration shift in ways that are hard to predict, because the second event arrives in the same session.

The distortion is consistent rather than noisy, which is what makes it survive: nothing looks anomalous.

Why it survives so long

Doubled numbers look good, and numbers that look good are not investigated.

The trend is unaffected, so period-on-period comparisons continue to make sense.

The platform does not warn, because two events from one page is a legitimate pattern for some implementations.

It is only found by comparing against a system that counts independently — orders, sign-ups, support tickets.

Which is why the discovery is usually accidental and the correction is usually uncomfortable.

Several identifiers is a different thing

Two distinct property identifiers for one product is frequently deliberate: a separate property per subdomain, or an agency tag alongside a client's own.

That is not duplication — each identifier receives one event, and both counts are correct.

The finding is the same identifier receiving the same event twice.

Distinguishing the two matters, because reporting a deliberate multi-account setup as a defect is noise on exactly the sites configured most carefully.

How to fix it

Decide on one installation route — a tag manager is the usual choice — and remove every direct snippet.

Search the templates rather than trusting the tag manager's inventory, since the direct snippets are the ones it does not know about.

Check theme and plugin settings, which inject tags without appearing in any template.

Verify after the change by loading a page and counting the requests to the platform's collection endpoint.

Expect the reported numbers to halve, and tell whoever reads them before it happens.

How to check it yourself

Open the network panel, filter to the platform's collection endpoint, and load a page.

Two requests carrying the same identifier for the same event is the finding.

Do it on several page types, since a duplicate can exist on one template only.

Compare reported conversions against the system that actually processed them — a consistent factor of two is the signature.

Check with the consent banner both accepted and refused, since the re-injection case only appears in one of them.

How VeriFixScan detects it

`privacy.duplicate_trackers` reports the same tracker loaded several times, kept distinct from several deliberate identifiers.

`privacy.tracker_inventory` consolidates every tracker the detector could see, plus the ones it could not.

`ecommerce.conversion_tracking` reports whether conversion tracking is present at all, which is the neighbouring finding on a commerce site.

`performance.third_party_resources` reports the cost of the tags, since a duplicate is also a duplicated download.

Detection is from served markup and known script hosts, so a tag injected by a tag manager at runtime may not be visible.

The cost beyond the numbers

Each duplicate is a second download of the same script, which on a heavy tag is a real share of the page weight.

It is also a second execution, competing for the main thread at exactly the moment the page is trying to become interactive.

And a second set of requests to the platform, which some of them bill for.

The duplicate frequently sets its own cookies too, which inflates the cookie inventory and the per-request overhead alongside it.

So removing it improves the measurement, the page weight and the interaction responsiveness at once, which is unusual for a single change.

Frequently asked questions

Are two tracking identifiers a problem?
Not necessarily. Separate properties per subdomain, or an agency tag alongside a client's, are deliberate. The finding is the same identifier receiving the same event twice.
How do I confirm it?
Filter the network panel to the platform's collection endpoint and load a page. Two requests with the same identifier for the same event is the confirmation.
Will fixing it make my numbers look worse?
They will halve, because they were doubled. Tell whoever reads the reports before you deploy the fix rather than after.

Sources

Related

VeriFixScan crawls a site and applies its checks to every page it reaches, keeping the evidence behind each finding. Scanning one website is free.

Scan a website