Google Tag Manager (GTM)
- Free from Google
- Browser and server containers
- Our own client template
- Tested in Preview
Holds every tag, in the browser and on the server, so a change goes in once and gets tested before it goes live.
- 5+sites we've set up to send server-side from GTM, ours included
- 20+tags in our own browser container
- FreeGoogle doesn't charge for Tag Manager
- 5+client stories
What GTM gives you
Tags without code changes
Add, edit or pause a tag in GTM and publish it. Nobody has to edit your website's code for each new pixel or event.
Preview before publish
Preview mode shows which tags fire on which events before anything goes live. We still check the numbers that arrive afterwards.
Browser plus server
A browser container collects events. A server container, hosted on Stape, passes them on to GA4, Google Ads, Meta and BigQuery.
Versions you can roll back
Every publish is a numbered version. If a change breaks something, you can go back to the one before.
Leads you can trace
On our own site, a tag writes a first-party ID and the ad click IDs into form fields, so a lead can be tied back to the ad click.
Safe for health sites
For clinics and therapists, the lead event carries an ID and a click ID, never a name, email or phone number.
We build our clients' tracking in Google Tag Manager: a browser container, plus a server container for the ones who spend on ads. We change what fires from GTM, not from the website code. On our own site the browser container holds 20+ tags.
What sits in our own container
It includes:
- A server Google Tag that sends events on to GA4.
- Pixels for Meta, LinkedIn, Pinterest, Reddit and Microsoft, plus Microsoft Clarity.
- The Google Ads tag and the Conversion Linker.
- The cookie banner (Termly). On our own site, marketing tags wait for the visitor's choice in the banner.
- A small tag that writes the visitor's first-party ID and ad click IDs into hidden form fields.
Events our site pushes
Our site pushes its own events into GTM's data layer. booking_open fires when someone opens the booking window, and says which button they used. A form event fires when a form goes through. Neither carries personal details, only IDs and form names.
How a new client starts
- We copy our own browser and server containers. We don't start from a blank one.
- We change every variable that's marked as client-specific: the tracking server, the pixel IDs, the consent banner.
- We give the client its own first-party ID name, so nothing is shared with another site.
- GTM loads from the client's own domain, through Stape.
How we know a tag fires
A tag sitting in a live version isn't proof that it fires. So we check in order:
- The network tab, for requests to the client's own loader rather than Google's.
- Preview on the browser container, then Preview on the server container.
- GA4 Realtime or DebugView, and Google Ads if there's a conversion.
- The next day's BigQuery export.
To audit a container we can read it through Google's Tag Manager API, using Stape's open-source GTM connector. Read-only first, and publishing only when it's agreed. Reading a container tells you what's configured, not what fires, so Preview is still the test.
Why Preview isn't enough
Set up wrong, a Stape power-up can write the word "stape" where Google's click ID should be, and GTM Preview still looks fine. It only shows up in the data, so we check the next day's export. More on the Stape page.
Health clients
For clinics and therapists, the lead event carries an ID and a click ID. We never map a name, email, phone number or message into GTM, and we leave out the form click-ID tag.
How should Tag Manager be set up?
Not every site needs the same set-up. Pick what you're doing and we'll tell you what we'd use.
Several platforms to track
| What matters | Tags pasted into the site | |
|---|---|---|
| Where the tags live | In the GTM container, away from your site's code | In the page template or the site's custom-code box |
| Changing or pausing a tag | Edit it in GTM, preview, publish | Edit the site and publish it |
| Testing | Preview mode shows what fires on each event before it goes live | Check on the live page |
| Going back | Every publish is a numbered version you can return to | Undo the site edit |
| Who can change what | Access is set per person, and changes are made in workspaces | Whoever can edit the site |
| Good for | Two or more platforms, or tags that change | One tag that never changes |
| What you pay for | Nothing for Tag Manager | Nothing |
Our pick: Tag Manager. Every platform wants its own snippet, and each one means editing the site and publishing it. In GTM it's one container, a preview and a version you can roll back. One tag that never changes is the exception, but it rarely stays that way once ads start.
Ads that bid on conversions
| What matters | GTM with a browser container only | |
|---|---|---|
| Where the tags run | A browser container sends each event to your server container, which passes it on | Each platform's script runs in the visitor's browser |
| Ad blockers and Safari | Requests go to your own domain, so fewer are blocked | Requests go straight to Google and Meta, which blockers often catch |
| Meta | Conversions API from the server, matched to the pixel by event ID | The pixel only |
| Setup | Two containers, a subdomain or two and testing | One container |
| What you pay for | Tag Manager is free. The server container needs hosting, and we use a Stape plan priced by requests a month | Nothing extra |
Our pick: A browser container and a server container, with the server one hosted on Stape. If Google Ads or Meta set your bids from conversions, sending them from the server means fewer go missing. A site with no ad spend can stay browser-only, and we'll say so.
Google Tag Manager facts (free, preview, workspaces, access controls) are from Google's Tag Manager page, October 2026. The count of sites with server-side tagging, the 20+ tags in our own browser container and the set-up steps are from our own client records, October 2026. Stape's plans and features are on our Stape page.
What we connect it to
A tag does not know who a visitor is. Without a first-party ID and a place to store the data, events cannot be joined to a lead or a sale.
StapeStape hosts the server container, so the same events reach your tools when the browser blocks them.
GA4GTM sends the events that GA4 counts.
BigQueryThe first-party ID that GTM passes lets BigQuery rows be joined later.
Google AdsGTM fires conversions with the right value.
MetaGTM fires the browser half of each Meta event. The server container sends the matching one.
WebflowGTM reads forms and clicks on Webflow and other sites where we install the container.
HubSpotPasses the click identifier into the form, so the lead keeps its source.
CursorTracking audits and changes through MCP, always reading first.
Show 4 more
It's one part of the setup.
If another part is broken, this one wastes money.
What's a customer worth?
- 1
- 2
- 3
- 4
Where we've used Google Tag Manager (GTM)
- Client work
Hear Me London
A London audiology clinic got local pages, an online hearing test that logs to a sheet and emails the clinic, and server-side tracking behind every booking: 378 online bookings in 15 months, over half from organic search.
Read the story - Built by us
Pacing Journey
The stored visits and forms from one person on one timeline.
See the build+4
- Client work
Sector7
An award-winning rebuild, 177% more new users in 2025 than 2024, and Jon calls it "executed flawlessly, on time and on budget".
Read the story - Built by us
This website
How we rebuilt pacing.agency in Astro, with Keystatic as the editor and one Cloudflare Worker, in three weeks, with AI agents opening 95% of the pull requests.
See the build+4
- Client work
FE fundinfo
Paid media and measurement for Wealth Management, plus a custom journey analyser so the team can see real multi-touch journeys
Read the story - Client work
Aqualona
A headless Webflow and Shopify store that went from a handful of orders to 1000s tracked in its first months, each matched to the visit that started it
Read the story - Client work
Belrose Group
A self-storage investment, development and consulting firm got a new Webflow site with a page for each of its three divisions, a lead funnel it trusted, and its investor portal moved to a new platform.
Read the story
Services that use it
We don't sell it on its own. Each of these services uses it alongside the rest of your setup.
- Management, Support & ReportingAfter launch, we check your ads, website and tracking every month, fix what slipped, and send you a report that ends with what to do next.Related tools: Looker Studio, Google Analytics 4 (GA4), BigQuery, Google AdsHow it fits
- Place in the loop: TrackingTech & TrackingTracking that ties every visit and lead back to where it came from, and follows it into your CRM, set up so your data and your customers' data stay safe.Related tools: Google Analytics 4 (GA4), Stape, Looker Studio, Google Tag Manager (GTM)How it fits
- Funnel ManagementDon't let leads fall through the gaps. We build the whole funnel, from the ad to the follow-up, then keep improving it.Related tools: Webflow, Google Tag Manager (GTM), Stape, CloudflareHow it fits
- Place in the loop: AdsPaid MarketingGoogle, Meta and LinkedIn ads, run end to end and judged on the customers they bring in, not the clicks.Related tools: Google Ads, Meta, LinkedIn, Google Tag Manager (GTM)How it fits
- Place in the loop: WebsiteWebsite Design & DevelopmentWebsites that look the part, turn visitors into enquiries, and that your team can update without a developer.Related tools: Webflow, Astro and Keystatic, Shopify, FigmaHow it fits
What Google Tag Manager (GTM) is
Google Tag Manager (GTM) is a free tool from Google that holds the tracking code on your site. Instead of pasting a separate snippet for Google Analytics, Google Ads or Meta into your pages, you add one GTM container and manage the tags inside it. A tag is a small piece of code that sends data somewhere. A trigger says when it fires.
You can preview a change before it goes live, publish it as a numbered version, and go back to an earlier one if something breaks. A second kind of container, the server container, runs on a server instead of in the visitor's browser and passes events on from there. Tag Manager costs nothing, but a server container needs somewhere to run, which is where Stape comes in.
Questions about Google Tag Manager (GTM)
Straight answers on how we work, what it costs and what to expect. If yours isn't here, just ask.
Still have questions?
Talk to usHow do you set up website analytics and tracking?
We agree with you what counts as a conversion, then set up Google Tag Manager and GA4, plus server-side tracking through Stape for sites that spend on ads. Before we hand over, we check the data is actually arriving.
What is ad platform integration and why does it matter?
Ad platform integration means joining your website, tracking and CRM to the ad platforms, so they receive the leads and sales that came from their ads. Without it, bidding learns from clicks and form fills instead of customers.
What are the most important GTM tags for digital marketing?
It depends on where you advertise, but sites that run ads need this core set:
- GA4, for what visitors do and which events count as conversions.
- Google Ads conversion tracking and the Conversion Linker, if you run Google Ads.
- The Meta Pixel, if you run Meta ads, ideally with the Conversions API alongside.
- Tags for any other platform you actually advertise on, such as LinkedIn, and only those.
- Your cookie banner, so the rest can follow the visitor's choice.
Custom HTML tags are a last resort. Our technical tracking service covers the Tag Manager set-up.
What is technical and tracking infrastructure?
It's the set-up that counts what happens on your site and sends it where it needs to go: tracking tags, analytics, ad-platform conversions, your CRM connection and cookie consent, plus the hosting and security around your website.
Why is tracking important for my marketing?
Without it you're guessing which ads, pages and emails bring customers. Ad platforms also bid on what you tell them, so missing or wrong conversions mean they find the wrong people.
How do you debug and troubleshoot GTM tracking issues?
We check in order, because a tag showing up in Preview isn't proof it reached GA4 or Google Ads. Each step rules out a different kind of fault.
- Network tab: are requests going to your own loader, or straight to Google?
- GTM Preview on the browser container: did the event fire, and which tags ran?
- Preview on the server container, if there is one: did the request arrive, and what went out?
- GA4 Realtime or DebugView, and the Google Ads conversion status.
- The next day's data, in BigQuery where we have it.
The last step has caught things the others missed. Our technical tracking service includes the whole check.
Can Cloudflare integrate with other marketing and analytics tools?
Cloudflare doesn't plug into your marketing tools directly, but it sits next to them. It holds the DNS for tracking subdomains such as the ones Stape uses, and an n8n workflow can call its API, for example to clear the cache when a Webflow site publishes.
How do you integrate GA4 with other marketing tools and platforms?
GA4 links to Google Ads and BigQuery from its Admin screen, and Tag Manager sends it the events. On sites that spend on ads a server container feeds it, and the raw events go to BigQuery, where we can join them to your CRM. Looker Studio reads it for the reports.
It's part of our technical tracking service.
How do you ensure data security and compliance?
We secure what we build and connect your cookie consent tool to your tags, then test it. Where your domain is on Cloudflare, we use it for SSL, caching and protection against attacks, and we add spam checks to forms that attract junk and logins in front of private pages such as staging. We don't give legal advice or promise compliance, so a qualified person needs to sign off your policy.
How do you integrate Webflow with marketing tools and analytics?
We add a Google Tag Manager container to the Webflow site before launch, so analytics, ad pixels and the cookie banner all run through one place. Forms post to an n8n flow that logs the enquiry and passes it on to your CRM or sheet.
Show 11 more questions
How do you handle compliance management for my website?
We work with your cookie consent tool, or suggest one we've worked with, and connect it to your tags so they follow the visitor's choice. How that's wired depends on the project, so we test what your tags actually do. We don't write legal text or give legal advice, so your privacy policy needs sign-off from someone qualified.
What is CRM and lead flow management?
A CRM is where your contacts and deals live. Lead flow is how an enquiry gets there: the form, the tracking behind it and the follow-up. We connect them so each lead arrives with its source attached.
How do you troubleshoot Stape server-side tracking?
We check the data, not just the setup. GTM Preview can look fine while something is wrong, so we look at the real events the next day. The usual suspects:
- Click IDs: the Click ID Restorer power-up can write the word "stape" where Google's click ID should be. We've seen it on live sites. Preview won't show it, BigQuery will.
- Request limits: a container over its plan limit can pause tracking.
- Double counting: Meta needs the same event ID from the pixel and the server.
- Wrong events: the server passes on whatever the browser sends.
Our ongoing management service includes these checks.
How does Stape improve data accuracy compared to client-side tracking?
It cuts the conversions lost to ad blockers and browser limits, but it doesn't remove the loss, and we don't promise a percentage. With server-side tracking, events go to a server container that sends them on to GA4, Google Ads and Meta, and each conversion carries one event ID so the platforms count it once. On our own site we load the tags from our own domain through Stape's Custom Loader, and the gain is resilience to ad blockers.
How do you optimise GTM performance and avoid slowing down your website?
We keep the container lean, because what slows a page is mostly what's inside it: too many tags, old tags nobody removed, and heavy scripts firing before the visitor sees anything.
- Take out tags for platforms you've stopped using.
- Fire tags on the event that needs them, not on every page.
- Use a server container, so the page sends one stream of events rather than loading a script for each platform. Tag Manager itself still loads.
On our own site, GTM loads after the page has finished loading and marketing tags wait for the visitor's choice in the cookie banner. Our technical tracking service covers the container set-up.
What is the GTM data layer and why is it important?
The data layer is a list of events and details your website writes for Tag Manager to read. Instead of guessing from the page, GTM waits for your site to say "a form was submitted" or "the booking window opened".
On our own site, opening the booking window pushes booking_open and which button was used. A form that goes through pushes its ID and name. Neither carries a name, email or phone number.
Our technical tracking service includes the data layer design.
How do you manage GTM permissions and collaborate with team members?
Tag Manager lets you set access for each person on each container, from no access up to publish. Give people the lowest level that lets them do their job. When we work in your container, we make changes in a separate workspace and publish only once a change is agreed.
- No access means they can't see the container.
- Read lets someone look but not change anything.
- Edit lets them build changes in a workspace.
- Approve lets them approve a workspace's changes into a version.
- Publish lets them push a version live.
Every publish becomes a numbered version, so you can see what changed and go back to an earlier one. Our technical tracking service covers the Tag Manager set-up.
What are GTM triggers and how do you use them effectively?
A trigger tells Tag Manager when to fire a tag. A page view, a click, a form submission, a scroll or an event your site sends can all be triggers, and the most reliable is an event your site sends on purpose.
Our own site uses custom events only:
booking_open, pushed when someone opens the booking window.- A form event, pushed when a form has gone through, so a lead tag fires once.
Neither carries a name, email or phone number. Our technical tracking service covers the Tag Manager set-up.
How do you set up conversion tracking with Google Tag Manager?
We start from the action that counts, usually a form, a booking or a purchase. Your site pushes a named event to the data layer when it happens, a trigger in Tag Manager listens for that event, and the tags it fires send the conversion to GA4, Google Ads and Meta with the same event ID. We test it in a set order, and we don't treat Preview alone as proof.
Why is Google Tag Manager essential for marketing teams?
It puts all your tags in one place, so adding or changing one doesn't mean a developer editing the site. Google doesn't charge for it.
- Add, change or pause tags from one screen.
- Preview a change before it goes live.
- Every publish is a numbered version you can go back to.
- Set a level for each person, from no access to publish.
It's not strictly essential for a site with a single tag that never changes. Once you run ads on more than one platform, it earns its place. Our technical tracking service sets it up.
Why do my leads lose their source in Salesforce?
Usually because something overwrites it on the way in: a form that doesn't pass the campaign, a chatbot, an import, or a duplicate record. The ad then looks worse than it is.
It's a wiring job. We keep the click ID and campaign tags with the lead from the form to the CRM, so the source survives.
We've written about this
Your website data is probably lying to you (and it’s not your ads’ fault)Conversions not adding up? Event match score low? Blocked tags can leave gaps that inflate your CPA.Read the note
The secret life of the user ID: what it is, why it matters, and when you can’t use itIf you're not using User IDs, do you really know what your website users are doing? Probably not.Read the note
How to make a free websiteYou can make a free website and own it. Here's how we built our own, pacing.agency, with AI coding tools and hosting that can cost nothing, step by step, and the parts that still cost money.Read the note
Start with your numbers.
We'll tell you which tools you need and which connections are missing.
Bring your numbers.
We'll tell you if the spend makes sense.
- A 15-minute callYour goals, your challenges, and whether we're the right fit.
- A 1-hour discovery callWe dig into your numbers. Worth a hundred emails.
- A concrete planAds, a custom build or both, as a one-off project or ongoing.







































