Friday night in Manchester, the new site goes live. Monday morning, Google Ads still reports a 4.2x ROAS on paper, while GA4 has gone quiet on generate_lead. Media buyers in London, Leeds and Bristol know that pattern. The rebuild looked faster, the CMS is cleaner, and the GTM container is still the same ID. What died was the contract between the page and the tags: IDs moved, the thank-you URL vanished, and every click trigger that hunted a CSS class from 2023 now fires on a cookie banner instead of a quote form.
This playbook is for the person who owns the marketing number in GBP, not for a developer who wants another snippet dump. You are running Search, Performance Max, and often Meta into UK landing pages. You need event tracking that survives a website redesign because smart bidding only stays honest if the same lead still means the same thing after the DOM changes. GTM tracking for a website redesign in the UK is not a weekend tidy. It is the system that keeps paid and organic pipeline comparable when design, consent, and CMS all move at once.
The Monday after go-live, when paid conversions vanish but spend does not
UK redesigns rarely fail because nobody installed GTM. They fail because the agency and the web team treated tags as decoration. The container loads. The Google tag fires. Consent Mode v2 is “on”. Then the enquiry form is rebuilt as a React island, the call button becomes a tel: link inside a new header, and your conversion action in Google Ads still listens for a page view of /thank-you that no longer exists. Spend continues. Learning does not.
You will usually find three leaks at once. Click triggers bound to old classes fire twice on the new nav. Form listeners that waited for a native submit never see a fetch-based send. Duplicate tags from a leftover UA property and a fresh GA4 config both mark the same generate_lead, so last-click looks busy while CRM bookings stay flat. Buyers already talk about “unreliable attribution” and “missing or broken tracking”. After a redesign, that complaint is not philosophical. It is a broken selector.
Privacy makes it worse. Clients already lose 20%+ of conversion data to ad-blockers and consent refusals. If your remaining first-party events are tied to brittle CSS, you starve Enhanced Conversions and Conversions API of the few high-quality hits you still have. Automated bidding then looks greedy: CPCs hold or climb (search still sits near the £2-£3 band in many UK accounts) while quality drops because the model is training on ghosts. That is the failure mode. Not “we need more tags”. You need events that do not care what the new theme is called.
Mobile is unforgiving here. More than 60% of paid search clicks arrive on phones, and conversion rates still lag desktop. A redesign that “passes Core Web Vitals” on desktop can still stall INP on a Glasgow commuter’s 4G, so the form never submits and GTM never sees the event. Only 55.9% of origins pass all three Core Web Vitals in recent CrUX data. If your UK site is in the failing half, you are not just slow. You are dropping the signal that bidding needs. If the handoff between new templates and GTM is already messy, a focused pass on Google Tag Manager and events is cheaper than another month of polluted PMax learning.
Get a free marketing audit - we review your search, ads, and landing pages and send back what to fix first.
Get a free audit
A GTM system UK teams can keep when the CMS, consent banner and header all change
Treat GTM as a product with a published interface, not a bag of triggers. The interface is a data layer. Designers can rename buttons. Developers can swap Webflow for WordPress or a headless stack. Your events stay the same names, the same parameters, and the same conversion IDs in Google Ads and GA4. That is how GTM tracking for a website redesign in the UK actually survives: you freeze meaning, not markup.
Lock the event catalogue before anyone opens Figma. For a typical UK lead-gen site you need a short list, not a museum: generate_lead (form success with form_id and page_path), call_click (tel: with location of the click), email_click, and, if you use it, a chat or WhatsApp click that is explicitly not a CRM lead until a human qualifies it. One conversion action per real business outcome. Deduplicate in GTM or at the Ads import so a thank-you page plus a form listener cannot both fire. Push to the data layer from the application code on success, not from a CSS click that might be a validation error.
Playbook: freeze tracking before the new templates ship
-
Export the live container and list every tag that hits Google Ads, GA4, or Meta. Kill anything still pointing at Universal Analytics or a retired pixel. Name the survivors in a shared sheet: event name, trigger type, conversion ID, and whether it is a primary action for bidding.
-
Write the data layer contract in plain English for the web team. Example: on successful quote request, push event generate_lead with form_id, lead_type (callback, brochure, demo), and value in GBP if you have a known enquiry value. No CSS class names in that document.
-
Map consent. UK visitors expect a real choice. Fire ads and analytics tags only after the relevant Consent Mode signals. Do not “fix” a quiet GA4 property by forcing ads storage granted. You will poison Enhanced Conversions and pick up ICO risk for a handful of extra hits.
-
Rebuild triggers against the contract, not the mock. Prefer custom events from the data layer. Keep one click trigger per tel: and mailto: as a backup, scoped to the new header and footer with a regex that will still match after the next brand refresh.
-
Wire Enhanced Conversions with hashed email or phone from the form payload, not from a scraped thank-you page. That is the first-party signal that offsets the 20%+ you already lose to blockers.
-
Stage the new site on a hostname GTM can see. Use Preview against the staging URL, then a published container version labelled with the release date. Never overwrite Version 47 called “copy of copy” the night of launch.
-
Prove each event on a real phone on EE or Vodafone, not only in Chrome on the office network. Submit the form, tap Call, refuse cookies once, accept once. Confirm GA4 DebugView, Google Ads conversion diagnostics, and the CRM row all agree on a single lead.
-
After cutover, watch 72 hours of generate_lead volume against spend. If Ads conversions jump while CRM bookings do not, you have a double-fire. If both drop while sessions hold, the data layer never shipped with the templates.
Free tools - try these yourself
Measurement that proves booked work is dull on purpose. Weekly, compare Google Ads conversion count, GA4 generate_lead, and CRM-created records with UTM source. A healthy UK account after a rebuild shows those three within a tight band, not identical to the penny, but not 40% apart. Session recordings then explain the rest. HeyLead Insights is how you see whether the new multi-step form is abandoning on the postcode field, whether the sticky call bar covers the submit button on iPhone, or whether people never reach the proof that used to sit above the fold. Behaviour data is not a vanity heatmap. It is the reason you keep or kill a GTM trigger.
Do not reset campaign structure the same week you cut over the site. Constant structure changes already reset learning. If tracking is unstable, you will teach Performance Max that “a conversion” is a header click. Keep campaign count low, keep conversion actions stable, and only then argue about ROAS. Google’s own advertiser data suggests ROAS benchmarks vary widely by sector - your number is only as good as the event that still fires after the designer ships a new hero.
![]()
Two UK cutovers: the data layer held, and the one that counted header clicks as leads
A head of growth at a Birmingham B2B services firm rebuilt on a Friday. The old site used a native HTML form and a /thanks page. The new one used a JavaScript widget that never changed the URL. GTM still had a Page View trigger on /thanks. Ads went dark on conversions by Monday. They did not add more tags. They had the developer push generate_lead from the widget’s success callback, with form_id and a hashed email for Enhanced Conversions. Volume returned in 11 days, and CRM bookings matched Ads within a few points. The mechanism was the missing success event, not “better reporting”.
A founder who owns marketing at a Liverpool professional-services practice had the opposite problem. The redesign added a sticky Call bar. An old Click trigger used a CSS class that the new bar reused. Every scroll-triggered tap on Call fired a conversion. CPL looked cheap overnight. They scoped the trigger to links whose href started with tel:, added a 30-second cooldown in GTM, and stopped importing that event as a primary conversion. Call clicks stayed as an observation metric. Bidding went back to generate_lead only. Quality recovered. Spend did not need to double.
Both stories share a rule you can steal. Primary conversions are CRM-shaped. Secondary events (call, email, file download) inform creative and landing tests. If you let a redesign collapse those two layers, you will scale the wrong thing. If you want a second pair of eyes on the container before the next CMS migration, use the same Google Tag Manager and events work as a pre-launch gate, not a post-mortem.
![]()
FAQs
Should we pause Google Ads during a UK website redesign?
Usually no, if staging Preview is clean and you can switch the container version at cutover. Pausing resets learning on Performance Max and Search. Better to keep spend modest, keep conversion actions identical, and watch CRM, not just the Ads UI, for 72 hours.
Do we need a new GTM container for the new site?
Almost never. A new container throws away version history and makes dual-running painful. Keep the container, publish a labelled version, and point staging and production hosts with lookup tables if the domains differ.
What if the new site is a single-page app?
Page View triggers will lie. Use History Change plus data layer events on real success. Fire generate_lead only when the API returns 200 and the user sees confirmation, not when they click Submit.
How do we stop counting the same enquiry twice after the rebuild?
One primary event, one conversion action, form success from the data layer. Do not also fire on the thank-you URL. If Meta and Google both need the hit, send both from that single custom event, not from two unrelated click listeners.
How do I check GTM is firing correctly after a site redesign?
Use GTM Preview on staging, then prove each event on a real phone: submit the form, tap Call, refuse cookies once and accept once. Confirm GA4 DebugView, Google Ads conversion diagnostics, and the CRM row all agree on a single lead. Tracking is only “done” when a phone test, a refused-consent test, and a CRM match all agree, and when the next small template change does not require a marketer to rewrite CSS selectors.
Does a website redesign break Google Ads conversion tracking?
It often does - not because GTM was uninstalled, but because IDs, thank-you URLs, and CSS-based click triggers no longer match the new DOM. Keep the same conversion actions, fire generate_lead from a data layer success event, and watch Ads conversions against CRM for 72 hours after go-live.
Putting it to work
Execution sprint
This week
- Pull 30-90 days of performance for event tracking that survives a website redesign (Search Console, ads, CRM, or call logs - whatever you have).
- Flag the top leak: wrong intent, weak page, slow response, or dirty conversion tracking.
- Ship one fix on the highest-traffic money path (page, campaign split, or response rule).
- Run the free tools below on that same URL or account and log the findings.
Free tools for this sprint
Next 30 days
- Expand the fix to the next one or two money paths only after the first one shows cleaner bookings.
- Align creative, keywords, or content with the same offer the page now states.
- Review booked outcomes weekly; cut anything that still only produces unqualified volume.
Pull the last 14 days of generate_lead in GA4 against Google Ads conversions and CRM creates, then open GTM Preview on the staging hostname your designer is about to ship. You want mismatches in the open before the DNS flip, not in a board pack.
This week
-
Export the live container and mark every tag that is still a primary conversion.
-
Write a one-page data layer contract (event names, GBP value rules, consent).
-
Run Preview on staging: form, tel:, cookie reject, iPhone.
-
Check Core Web Vitals on the new templates so INP is not silently killing submits.
-
Label and publish a GTM version tied to the release, not “latest”.
Next 30 days
-
Reconcile Ads, GA4 and CRM weekly until they stay inside a tight band.
-
Demote call and email clicks from primary conversions if they inflated after the new header.
-
Keep Enhanced Conversions mapped to the new form fields.
-
Re-test after the first content or landing tweak so selectors have not crept back in.
If the work you cannot staff is the data layer, consent, and conversion hygiene through a UK rebuild, HeyLead can own the GTM contract so generate_lead still means a real enquiry after the templates change. Chat with us on WhatsApp (Martin is based in London - WhatsApp works internationally)
Free marketing audit, or reach Martin directly:
Get a free audit Connect on WhatsApp · martin@heylead.com