Server-side · CAPI · Consent Mode
We rebuild your measurement server-side so Google, Meta and Microsoft optimise on conversions that actually happened, and we audit what you already have, free, before you commit to a fixed fee from £995 a month per platform.
No pitch. No obligation. We reply within one business day.
Conversion tracking is what your bidding algorithms learn from, so broken tracking is a bidding problem rather than a reporting one. We build server-side Google Tag Manager, Enhanced Conversions, Meta CAPI, Microsoft UET and Consent Mode v2, then feed CRM outcomes back. We audit what you already have first, free.
Broken conversion tracking is not a reporting problem. It is a bidding problem.
Smart Bidding and Advantage+ are machine-learning systems. They do not know who your customers are. They know which of the people they served an ad to came back and fired a conversion event. That set of events is the training data — and if it is incomplete, duplicated or attached to the wrong action, the platform does not hesitate. It spends your budget with total confidence on the wrong people.
That is the argument for taking tracking seriously. A misreported number is annoying. A misreported number that has fed a bidding algorithm for six months has quietly rebuilt your targeting around whichever segment happened to be measurable.
Server-side tracking is the foundation that fixes it. A lightweight tag still fires in the browser, but it sends the event to a tagging server on a subdomain you own — normally server-side Google Tag Manager. That server cleans the event, adds first-party data, de-duplicates it and forwards it to each platform through their APIs — so the browser is no longer responsible for delivering your conversions.
It matters because the browser stopped being reliable years ago:
We are careful about what we promise this recovers. Across the industry you will see 10–40% quoted, almost always unsourced. In our own client work we see a more conservative 15–25% of lost attribution recovered, and we would rather quote what we measure than the brochure number.
It depends entirely on how leaky your setup was. A clean single-domain site with the enquiry form on the same domain recovers far less than a clinic taking bookings on a separate subdomain. We measure your gap before anyone quotes you a figure.
One thing server-side tracking is not: a way around consent. It changes where data is processed, not whether you are allowed to process it.
On Meta, server-side means the Conversions API. Your server sends conversion events straight into your dataset alongside the browser pixel, sharing an event ID so nothing is counted twice.
The metric that matters is Event Match Quality — Meta’s score for how confidently it can tie each event to a real person it showed an ad to. EMQ is not a vanity metric. It is the mechanism. Low match quality means Meta cannot connect the lead back to the impression, so the delivery system never learns which audience produced it, and Advantage+ keeps optimising toward whatever it can still see.
What lifts it is the identifiers you send with every event: hashed email, phone, first and last name, city and postcode, the click ID, and a stable external ID from your CRM. Meta’s own documentation is clear that running the Conversions API alongside the pixel improves matching and ad performance. It does not publish a guaranteed uplift figure, and neither will we — what we will do is show you your current match quality, event by event, before you commit to anything.
One clinic we worked with took bookings through a subdomain application, so the pixel recorded the ad click and never saw the booking. Event Match Quality sat at 4.2. We implemented server-side CAPI and pulled booking data from their backend to close the subdomain gap. Reported conversions rose 38% in the first four weeks and Event Match Quality improved to 8.1 — with the campaigns unchanged and the spend unchanged. The patients had been booking all along. The system simply could not measure them.
Two things we check on every lead-gen account:
That fix is further down this page, in offline and CRM conversions. It is the single biggest lever in most accounts we take over, and it is built into every Meta Ads account we manage.
Enhanced conversions send a hashed email address or phone number alongside the conversion, so Google can match it against signed-in users and recover conversions the tag alone could not attribute. It is the highest-return hour of tracking work available in most Google Ads accounts, and it does not require a server container.
Google simplified the setup in 2026. Enhanced conversions for web and for leads are now a single on/off setting, and from April 2026 Google Ads accepts user-provided data from your website tag, from Data Manager and from API connections at the same time. For lead generation, the leads side is the important one: the click ID is captured at form submission, stored against the record in your CRM, and the conversion is reported back later when that lead becomes something worth having.
Before any of that, though, we audit the conversion actions themselves. The most common cause of wasted spend we find has nothing to do with privacy:
Only Primary actions influence bidding. Getting that list right costs nothing and frequently changes performance more than anything else we do in the first month of a Google Ads engagement.
If you advertise to UK or European users, Google expects consent signals passed with your tags — ad_user_data and ad_personalization alongside the two storage signals, ad_storage and analytics_storage. Without them you do not just lose the users who declined. You lose conversion modelling, and you lose the ability to build remarketing and Customer Match audiences properly.
Implemented correctly, it works like this: a certified consent platform is wired into your container, all four signals default to denied before any interaction, they update to granted dynamically when someone accepts, and Google models the conversions from declined-consent users based on patterns in the consenting ones. That modelled data feeds Smart Bidding. It is not a workaround — it is the mechanism Google built to keep bidding viable under consent law.
The misconfiguration we find most often is a cookie banner that exists, and a Consent Mode implementation that never sets a default denied state — so tags fire regardless of what the visitor chose. That is a compliance exposure and a data problem in the same line of code.
Worth knowing: modelling is not automatic. Google requires your tags to meet a data collection threshold before it will model at all, and advanced consent mode earns an advertiser-specific model where basic gets a general one. Smaller accounts should expect the compliance benefit before the recovery benefit.
Microsoft Ads is where imported campaigns go to be forgotten. The campaign structure comes across from Google in ten minutes; the tracking almost never does. We routinely take over accounts where the UET tag sits on the site with no conversion goal attached, or with goals built years ago against URLs that no longer exist.
What a current Microsoft setup looks like:
Microsoft is a smaller channel for most lead-gen businesses, and a cheaper one. It deserves working tracking for the same reason the others do: its bidding is only as good as the events you send it.
Everything above makes the platform’s view of your website accurate. It still does not tell the platform which of those enquiries was worth anything.
This is the difference between lead generation and ecommerce, and it is why lead-gen accounts optimised purely on form fills plateau. A form submission is not revenue. It is a stranger typing their name in. Optimise to it and the algorithm will find you the cheapest possible strangers — tyre-kickers, wrong postcodes, jobs you do not do. Send the platform the stages that actually matter and it will go and find more people who reach them.
The build looks like this:
Two caveats. Long sales cycles push conversions outside the platform’s attribution and upload windows, and low-volume accounts starve the algorithm if you optimise to a stage that happens four times a month. We pick the deepest event you have enough of, not the deepest one that exists.
Every conversation with us starts the same way. We audit what you have and send you a written summary of what we found — before you have paid us anything.
What we look at:
If the answer is that your tracking is fine and your problem is the campaigns, we will tell you that. It happens more often than the industry admits, and we would rather say it than sell you infrastructure you do not need. A standard build — server container, CAPI, Consent Mode v2 and first-party enrichment — takes us five to ten working days from onboarding, and testing takes longer than building.
Fixed fee from £995 per month, per platform. Not a percentage of your ad spend, which pays an agency more for spending more of your money.
The tracking build is a one-off fee, quoted up front and separate from the monthly management fee, because it is a one-off job rather than an ongoing cost. It is not optional, though — we are not prepared to be judged on numbers we do not trust. Full detail is on our pricing page.
You get Jake and Jamie doing the work themselves. No account managers, no juniors, no ticket queue — if you need one of us, you get one of us. Month to month, so we keep the account by being worth keeping. We work with lead-generation businesses across the UK.
If you want to know how much conversion data you are currently losing, ask us for the audit. We will show you the gap first and talk about the work second.
Tell us what you are measuring today and we will tell you what you are missing. We’ll come back with a free tracking audit and a straight answer on whether we can help — usually within one business day.