Server-side
Rhobin
July 30, 2026
7 min read
Often yes, and for different reasons than in ecommerce: lead volume is low enough that a 15-30% collection gap starves the bidding, and the identifier has to survive a sales cycle rather than a session. It stops making sense when nobody can return a deal outcome from the CRM, or when deals close far beyond the 90-day conversion window with no earlier event worth optimizing on.
The symptom
A client asks whether the server-side setup you keep recommending applies to them, so you go looking for something to send over. Everything you find is written for a webshop. Purchase events, revenue, cart data, ROAS. Your conversion is a form on a contact page with no value attached, and nothing you read says whether the argument survives that.
Meanwhile the account and the business disagree. Google Ads reports forty leads last month, the CRM holds fewer, and sales says a good share of those were not worth calling. The client asks which number is right, nobody can prove an answer, and the question returns next month.

Why it happens
An ecommerce case argues itself. The conversion carries revenue, so a recovered event has a euro value and the payback calculation writes itself. A form fill has no value, so the same argument arrives with a blank where the money should be. That blank is a gap in the sales pitch, not evidence that the collection problem underneath is smaller: ad blockers strip 30-40% of events and 15-30% of conversions go uncaptured, whatever the conversion happens to be. Underneath, lead generation has a genuinely different measurement problem: two things make its case stronger than a webshop's, and two cap what any setup can deliver.
A small gap costs more when the volume is low
A webshop doing thousands of transactions a month can lose a slice and still leave the bidding plenty to learn from. An account with a few dozen conversions cannot. Google's own guidance is to evaluate Smart Bidding over a period holding at least 30 conversions, and 50 for Target ROAS, per Google Ads Help. Take 15-30% off forty leads and the month falls under Google's own minimum. Same percentage as the webshop's, different consequence.
The identifier has to survive a sales cycle, not a session
Ecommerce mostly closes in a visit or two. Lead gen rarely does: a form today, a call next week, a proposal after that, a signature two months later. Every step depends on the visit that started it still being identifiable, and browser storage is where that breaks. Safari's Intelligent Tracking Prevention caps cookies set in JavaScript at seven days, and deletes a site's script-writable storage after seven days of Safari use without interaction with that site, per WebKit. A cookie set by your own server in an HTTP response is a different mechanism, and Chrome caps any cookie at 400 days rather than rejecting it, per the Chrome developer blog. That is the real distance between one to seven days and up to 400.
With one caveat the pitch leaves out. If the endpoint setting that cookie is a subdomain resolving through a CNAME to a vendor's host, Safari treats it as third-party CNAME cloaking and caps those cookies at seven days again, per WebKit. So "we already run first-party cookies" does not settle it, it depends on how that hostname resolves.
The conversion window is a ceiling on what can be reported
Google Ads lets you set a click-through conversion window anywhere from 1 to 90 days for Search and Display campaigns, and applies 30 days if you never choose, per Google Ads Help. Conversions report against the original click's date, per the Google Ads API documentation, which is why last quarter's numbers quietly keep moving. So if deals close five months after the click, no setup will put the signed contract next to the campaign that sourced it. What you can do is pick an earlier event that correlates with revenue and optimize on that. Anyone telling a six-month sales cycle it can bid on closed revenue is selling.
The outcome lives in the CRM, and getting it back has conditions
The point of all this is to stop optimizing on form fills and start optimizing on what closed. Google's route is offline conversion imports, keyed to the Google Click ID appended to your ad clicks, and it now recommends that setups which never adopted offline import start with enhanced conversions for leads instead, per Google Ads Help. That path runs on hashed first-party data, an email address or phone number captured with the lead and matched against hashed data from signed-in Google accounts, and needs auto-tagging plus accepted customer data terms, per Google Ads Help. Other platforms have their own equivalents and their own rules.
Both routes assume the identifier and the lead were stored together when the form was submitted, which is the part that fails silently. Both also sit on top of collection rather than replacing it, which is why enhanced conversions and the Conversions API underdeliver on a weak foundation.
Consent sits across all of it, because moving processing to a server changes where data is handled and creates no legal basis. The ad_user_data and ad_personalization signals govern whether user data may be sent to Google for advertising, and consent mode applies to server-side tagging too, per Google's tag platform documentation. Google's EU user consent policy requires legally valid consent for the collection, sharing and use of personal data for ads personalisation, per Google, and a CRM upload is squarely that.
What good looks like
Three questions decide it, and none is whether the client sells products or services. How much signal is missing today, measured instead of assumed, the same test as whether server-side tracking is worth it at all. How long the sales cycle runs against the window you can report in, since inside 90 days a closed deal ties back to the click and beyond it you optimize on a qualified-lead event and say so in the report. And whether anyone can get an outcome back out of the CRM. If sales does not update records, or nobody will connect the system, the ceiling is cleaner form-fill data: worth having, much less valuable, and better said before the proposal than after the invoice.
Where the answers point yes, the work has an order. Collect the form event server-side so it stops depending on a browser script surviving. Store a durable first-party identifier with the lead the moment it is created. Agree one mid-funnel event that correlates with revenue, usually a qualified lead rather than a submission. Then return the outcome to the platforms through the supported path, once the counts reconcile with the CRM. That sequence is what Archon Signal is built to deliver, and on a lead-gen account it typically recovers 15-40% more conversions than the setup it replaces. The realistic ceiling on any collection setup is roughly 95% of events, a ceiling rather than a promise, because a consent refusal stays a refusal and a blocked request stays blocked.

FAQ
We only get thirty leads a month. Is this overkill for us?
Volume argues the other way, since a smaller number of conversions is easier to starve. Size does decide one thing: if the media budget is small enough that the setup plus its running cost outweighs a realistic recovery, fix the basics and revisit later.
Our sales cycle is six months. Is there any point?
Yes, but not the point that usually gets sold. Closed revenue will not appear against a click outside the conversion window, and that window tops out at 90 days for Search and Display. So the goal shifts: give the bidding a reliable qualified-lead signal now, and keep the identifier durable enough that the eventual deal can still be tied back in your own reporting.
Can we skip the server setup and just use enhanced conversions for leads?
Sometimes, and it is a reasonable first step because it is cheaper to implement. What it does not do is fix collection. Enhanced conversions supplements a conversion that already fired, so if the underlying event is missing for a share of visitors, that share stays missing and the uplift lands below what the documentation suggests.
Does sending CRM data to Google create a compliance problem?
It creates a question you have to be able to answer, which is not the same thing. Google requires legally valid consent for the collection, sharing and use of personal data for ads personalisation in the EEA and the UK, and its consent signals apply to server-side tagging as well as browser tags. In practice the consent setup, the privacy statement and the CRM upload have to tell the same story before it goes live, and where the client has a legal or privacy team the sign-off is theirs.
If you run lead generation and cannot say how many of the leads in your reports ever reached the CRM, request a free tracking audit and we will measure the gap before you decide whether server-side is worth it.