Digital marketing

Google Tag Manager setup

One Google Tag Manager container for all your tracking: analytics, ad and chat tags moved out of the website code, named and documented, and firing only after the visitor consents. For UK businesses tired of tracking that needs a developer for every change.

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.

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

  1. 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.
  2. 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.
  3. Build in a workspace. The new container is built in a separate workspace so the live site is untouched while I work.
  4. 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.
  5. 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.
  6. 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.

Frequently asked questions

Is Google Tag Manager free?

Yes. The standard version of Tag Manager costs nothing, and it is all most small and medium-sized businesses need. The cost is in the time to plan, build and test the container properly, not in the tool.

Will moving to Tag Manager slow my website down?

Not if it is done properly. The container script itself is light, and a clean-up normally removes duplicate and abandoned tags that were adding weight. What slows a site is the number of third-party tags you load, so the inventory is also a chance to drop the ones nobody uses.

Do I still need a cookie banner if I use Consent Mode?

Yes. Consent Mode does not ask visitors anything; it only tells Google's tags what the visitor chose. You still need a cookie banner that records that choice, and the container then reads it to decide which tags may fire.

Who owns the container when you have finished?

You do. I build it in, or move it to, a Google account controlled by your business, and you decide who has access. If we stop working together, you remove my user and nothing else changes.

Do I need server-side Tag Manager?

Most small businesses do not, at least at first. Server-side tagging needs a hosted server with a monthly running cost and more upkeep, and it does not remove the need for consent. I suggest it when ad spend is high enough that recovering lost conversions is worth that cost, and only once the standard container is clean.

Can you work with our existing web developer?

Yes, and it usually helps. I write a short specification of the data layer events I need and the old code to remove, so the developer can make those changes in one release. The tag work itself then happens in the container, without further developer time.

Ready to talk about your project?

A straight answer about what would move the numbers, and a written proposal if we are a fit.