tagora
container audit

GTM-WZ58DQ

12 tags, 8 custom scripts, 1 third-party host — an ordinary container, near the middle of what we measure (median: 39 tags, 4 custom scripts).

Tags12
Custom scripts8
Third parties1
Delivered365 KB
Versions610

What we observed

A real browser loaded broadbandchoices.co.uk a month ago and recorded every request it made. This is what happened, as distinct from what the container is configured to do. It is one page load — anything that fires only deeper in the site did not fire here.

Container loaded from googletagmanager.com — Google
Measurement sent to google-analytics.com — Google
Consent a consent banner was present and we accepted it. Measurement fired beforehand but carried no identifier — analytics_storage was denied, which is Consent Mode working as designed rather than a gap. 3 hosts appeared only after consent was granted. Google recorded gcs=G100 (all denied).
Third parties contacted 8 hosts — cdnjs.cloudflare.com, www.googletagmanager.com, cdn.monygroup.com, www.google-analytics.com, bat.bing.com, analytics.google.com, stats.g.doubleclick.net, www.google.co.il
dataLayer events seen gtm.js, gtm.dom, gtm.load, cookiePreferenceSet

Where the data goes

Not observed — on the page we loaded, measurement went to Google and nowhere else. observed on broadbandchoices.co.uk More info »

Findings

Ordered by consequence. review has a concrete cost when it bites; info is real but depends on your setup. Seen is how common it is across the containers we have measured — reported separately on purpose, because common and harmless are different claims.

reviewdocument.write (1)
1 piece of custom code call document.write.

Whydocument.write blocks the HTML parser while it runs, and browsers ignore it entirely once the page has finished parsing — so an async-loaded tag using it can silently do nothing.

CheckIf these tags fire on page load they are costing render time; if they fire later they may not be working at all. Worth confirming the tag still does what it was added to do.

Seenseen in 18.4% of 46,522 containers measured

reviewHardcoded http:// URL (1)
1 piece of custom code reference a plain http:// address.

WhyOn an https:// page the browser blocks or upgrades these. Blocked means the tag quietly stops working; upgraded only works if that host also serves https.

CheckCheck whether the hosts below still respond over https, and update the URLs.

Seenseen in 12.8% of 46,522 containers measured

infoConsent configuration detected (2)
The container declares one or more consent signals.

WhyConsent handling is present in the container. This describes what the artifact declares; what actually happened on the page is measured separately, above.

CheckConfirm these settings match the consent policy you intend to enforce, and compare them with the before-and-after observation.

Seenseen in 44.6% of 46,522 containers measured

Third parties it can reach

Each host is a party that can execute code or receive data in a visitor's browser. Follow one to see who else loads it. More info »

www.w3.org ×3

What the custom templates can do

Custom templates are third-party code shipped inside the container. Injecting scripts and running page globals is ordinary for them — most tag templates need it to work — so this is an inventory, not a warning. It lists the capability each template declares so you can match it against templates you meant to install.

__cvt_711703_577 private runs page-level globals

Detected on

Sites observed loading this container. A container used across many hosts is a shared template; one on a single host is a bespoke build. Follow a site to see every container it loads.

broadbandchoices.co.uk

What this audit describes

Containers change. These findings describe one specific artifact, and you can re-fetch it to check this reading.

ContainerGTM-WZ58DQ
Published version610 — the identity of this configuration. It changes only when someone publishes.
Read at2026-08-23 18:22:48 UTC (a month ago)
Sourcehttps://www.googletagmanager.com/gtm.js?id=GTM-WZ58DQ
Body checksum09eccebd6c548e6b701ab0f2e234e3b21dd828807fcefbb960d5a0501ff51c1b
Evidence of the exact bytes we read, not an identity: Google varies the response per request, so re-fetching an unchanged container yields a different checksum. Compare the published version instead.

Re-audit

This reading is from a month ago. A container can be republished at any time, and nothing here updates on its own — a fresh read is the only way to know whether it still says this. Running it again replaces this page in place, so the link keeps working.

Re-audit GTM-WZ58DQ

Check another container

Put this container under version control. Tagora exports it to a repository you own, so every change arrives as a pull request. How it works »