Google Tag Manager is a free Google tool that holds all of your website’s tracking code in one place, called a container, so tags can be added, changed and switched off without editing the site itself. I set up new containers and untangle old ones for UK businesses: every analytics, advertising and chat snippet moved into a single container, each one firing only when the visitor has agreed to it, and the whole thing written down so the next person can follow it.
Who this suits, and who it does not
This is for small and medium-sized UK businesses whose tracking has grown without a plan. The usual signs are a developer ticket every time marketing wants a new pixel, three copies of the same analytics code in the page source, or a cookie banner that appears but changes nothing about what loads.
It is less useful in a few situations.
- A brand-new site with one analytics tag and no ads. A container is still worth having, but setting one up is a small job, not a project.
- A hosted shop platform that manages tags for you. Some ecommerce platforms restrict what a container can see at checkout, so part of the work moves to the platform’s own settings instead.
- You want reports and dashboards rather than tags. Tag Manager only collects and sends data. Deciding what to measure and reporting on it are separate pieces of work, and I would scope them separately.
What Tag Manager changes for you
The practical change is control. Once every tag sits in the container, marketing can launch a campaign without waiting for a developer release, and a developer can change the site without quietly breaking the tracking.
The second change is accountability. Each published version of a Google Tag Manager container is saved with a note of who changed what. If enquiries suddenly drop in your reports, you can see whether anyone touched the tracking that week and roll back to the previous version.
The third, and the one that matters most for a UK site, is consent. With all tags in one place, it becomes straightforward to make each of them wait for the visitor’s choice on the cookie banner, rather than hoping every hard-coded script respects it.
What the work covers
An inventory of what loads today
Before building anything I list every script, pixel and cookie the site currently sets, where each one is installed (theme file, plugin, platform setting or an old container) and whether anyone still uses it. Tags for tools that were cancelled long ago are a common find, still sending visitor data to a supplier who no longer has a contract with you.
A clean container structure
Tags, triggers and variables are named to one convention, so “GA4 event, quote form submitted” means the same thing to everyone. Folders group tags by platform. Only the people who need it get publish rights, and the container belongs to your company’s Google account, not mine.
Events from a data layer, not from page scraping
Wherever the site allows it, form submissions, bookings and purchases are passed to the container through a data layer: a small, structured message the website sends when something happens. That is far sturdier than a trigger that watches for a button’s text, which breaks the day someone rewrites the button.
Consent-gated firing with Consent Mode v2
Under PECR, cookies and similar technologies that are not strictly necessary need the visitor’s agreement first, and the ICO treats tracking pixels the same way as cookies. The Data (Use and Access) Act 2025 creates an exemption for some analytics cookies, but it comes with conditions, so unless it clearly applies to your setup I treat analytics tags as needing consent too. I connect the container to your consent management platform and set up Google’s Consent Mode so the four consent signals (analytics storage, ad storage, ad user data and ad personalisation) default to denied and only change when the visitor accepts. Non-Google tags, such as the Meta Pixel or LinkedIn Insight Tag, get their own consent checks, because Consent Mode on its own only governs Google’s tags.
Google offers a basic and an advanced version of Consent Mode. Advanced sends cookieless signals before consent so Google can model the missing data; basic sends nothing until the visitor agrees. I explain the trade-off in plain terms and, unless your own legal advice says otherwise, I start UK sites on basic, because it is the easier one to defend if anyone asks what left the browser before consent.
Advertising and analytics tags
GA4, the Google tag for Google Ads conversions and remarketing, the Meta Pixel, LinkedIn, Microsoft Ads and the rest are rebuilt inside the container, with the conversion events each platform’s bidding relies on. The old hard-coded copies come out at the same time, so nothing is counted twice.
How I run a Tag Manager project
- Access and inventory. You add me as a user on the container and the ad accounts. I crawl the site and record what fires on each key page, before and after consent.
- Agree the list. I send a short sheet of the tags I propose to keep, rebuild or remove, and the events each one should record. Nothing changes until you sign it off.
- Build in a workspace. The new container is built in a separate workspace so the live site is untouched while I work.
- Test before publishing. Every tag is checked in preview mode with Tag Assistant, once with consent refused and once with it accepted, on desktop and mobile. I also submit real test forms and confirm they arrive in GA4 and the ad platforms.
- Publish and remove the old code. The container goes live, and I work with your developer (or edit the site directly, if you prefer) to strip out the old snippets the same day.
- Check again a week later. I compare conversions recorded before and after, and look for anything that has stopped or doubled.
Container problems I see most often on UK sites
- Tags firing before the banner is answered. The banner is decorative and the pixels load on page view regardless. This is a common problem, and the one most likely to interest the ICO.
- Two installs of the same tool. GA4 added once by a plugin and again in the container, which doubles every page view and every key event.
- Dead tags. Universal Analytics tags still firing years after Google switched it off, alongside pixels for tools nobody pays for any more.
- Conversions triggered on the wrong thing. A “thank you” page that anyone can reach by typing the address, or a click on the submit button counted whether or not the form went through. If you suspect this, my guide on checking that conversion tracking records real enquiries walks you through a quick test.
- Nobody owns the container. It sits in a former agency’s or freelancer’s account, and the only person with publish rights left long ago.
- Custom HTML everywhere. Pasted scripts doing jobs that a built-in tag template does more safely, and which nobody can now explain.
What you receive
- A published container, owned by your business, with every tag named, foldered and consent-gated.
- A tag register: each tag, what it does, what triggers it, which consent category it needs and who asked for it.
- A record of the tests, showing what loaded with consent refused and with it accepted.
- A list of the cookies and similar technologies the site now sets, which your privacy and cookie notices can be checked against.
- A short handover call, recorded if you like, covering how to add a tag and how to roll back a mistake.
Where this fits with other work
Tag Manager setup is often the first job before paid campaigns can be trusted. Bidding in Google Ads account management and in Facebook and Instagram ads optimises towards whatever conversions the tags report, so a container that double-counts or misses enquiries steers the spend in the wrong direction. It also belongs in any website redesign, because a new theme is exactly when hard-coded tags get lost or duplicated, and planning the container alongside the build avoids a gap in your data.
What it costs
The price depends on how many tags and platforms are involved and whether the site can send events through a data layer. The quote, in GBP, follows the inventory and is agreed in writing, so you know the cost before any build starts.
Next step
Send me your website address and a list of the ad and analytics platforms you use, and I will tell you what is loading on your site today, including anything firing before consent. Send your site and platform list through the contact page.
