Google and Meta optimize toward whatever you tell them a conversion is. If the conversion is a form fill, the algorithm goes and finds more form fills. Not buyers. Not gross. Form fills. The machine is doing exactly what it was asked to do, and what it was asked to do is wrong.
The fix is dealership offline conversion tracking — the operating version of attribution from click to sold VIN: sending sold units back to the platforms so the bidding systems learn what a buyer looks like, not just what a lead looks like. This is plumbing work, not creative work. It lives in the connection between your CRM (customer relationship management system), your DMS (dealer management system), and the ad accounts. It often doesn’t exist, because nobody in the vendor stack is paid to build it.
Why does the platform need the sale?
Because the bidding algorithm has no idea what happens after the click. It knows someone filled out a form on a Silverado VDP (vehicle detail page). It does not know whether that person bought, ghosted the BDC (business development center), or was a competitor mystery-shopping your payments.
So it optimizes on the only signal it has. Over time, that means your budget drifts toward the audiences most likely to fill out forms — which overlaps with buyers, but is not the same population. Credit shoppers fill out forms. Payment grinders fill out forms. People who bought from the Honda store two exits down fill out forms.
When you upload the sale — this lead became a sold unit on this date — the platform can start scoring new prospects against the profile of people who actually bought. That is the whole play. You are not reporting for reporting’s sake. You are feeding the algorithm better training data than your competitors are feeding it.
For anyone starting out, Google recommends that advertisers new to offline conversion import start with enhanced conversions for leads (Google’s documentation). Enhanced conversions for leads matches your upload to the original ad interaction using hashed customer data — the email and phone number from the form — so a click ID helps but is not the only way to match. It is the lower-lift on-ramp, and it is the one Google points new adopters to.
What has to be captured at the lead?
Three things, at the moment the lead is created. Miss them here and nothing downstream works.
The identifier. For Google, enhanced conversions for leads needs the email and phone number the customer submitted, stored exactly as captured. The standard offline path uses the GCLID (Google Click ID), a tracking parameter appended to the URL when someone clicks your ad — it has to be written into a hidden field on the form and passed into the CRM record. For Meta, the Conversions API for CRM works with Lead Ads instant forms, and Meta recommends storing the Meta Lead ID in the CRM record (Meta’s documentation). That lead ID is the thread that ties the CRM outcome back to the ad.
The contact data. Email and phone, unmodified. When your BDC “cleans up” a record by retyping the email or replacing the customer’s cell with the one from the credit app, the match can break. The field the customer submitted should be preserved even if a second, corrected field gets added.
The storage discipline. Whether you run VinSolutions, DealerSocket, or something else, the identifiers need dedicated fields that survive lead merges, dedupes, and store transfers. Run this test today — it is the same discipline as finding the leads your CRM never saw: pull ten internet leads from last week at your highest-volume rooftop and check whether the click ID or lead ID is on the record. If it isn’t, every dollar of “optimization” your agency reports is running on form fills.
What gets sent back, and how often?
Three stages, pulled from two systems:
- Appointment set — from the CRM.
- Appointment showed — from the CRM.
- Sold — from the DMS, matched back to the CRM lead.
Why stages instead of just the sale? Because sold units are scarce relative to leads, and the platforms learn faster with more signal. An appointment that showed is a meaningfully stronger signal than a form fill, and you have many more of them than deliveries.
Cadence: daily. Meta requires it, and Google’s import windows reward it. Meta is explicit about what a working integration looks like for its conversion leads optimization: at least 200 leads a month, uploads at least once a day, and a target stage reached within 28 days (Meta’s documentation). A single rooftop may not clear 200 leads a month; a group of five is far more likely to, which is an argument for building this at the group level rather than store by store.
On the Google side, the windows are hard limits, not suggestions: enhanced conversions for leads uploaded more than 63 days after the associated last click won’t be imported, and standard offline conversions have a 90-day limit (Google’s documentation). A sale uploaded on day 64 under enhanced conversions for leads simply never existed, as far as the algorithm is concerned.
One more constraint for whoever builds the pipe: from June 15, 2026 the Google Ads API no longer accepts new adopters of offline conversion imports, and the Data Manager API is now the primary API for it (Google’s developer blog). If someone proposes a new build on the old path, ask why. The connection should be built on Data Manager.
Why does 63 days matter for a car buyer?
Because car buying is slow and the window is not.
A customer clicks a search ad in March, fills out a form, goes quiet while they sort out a trade payoff and a tax refund, and takes delivery in June. That is a normal deal. It is also, under the 63-day enhanced conversions for leads window, an invisible one. The click-to-sale gap exceeded the import window, so the platform never learns that lead became a buyer.
This has two practical consequences. First, batching uploads monthly throws away deals at the edge of the window — a sale that closes on day 55 and gets uploaded in next month’s batch can miss the cutoff. A daily cadence protects you. Second, the intermediate stages earn their keep here: the appointment and the show usually land well inside the window even when the delivery doesn’t. Sending the earlier stages means the long deals still teach the algorithm something before the clock runs out.
Who owns the monthly match?
Not the agency that gets graded by it.
This is a structural problem, not an accusation. The agency’s performance review is built on platform-reported conversions. Hand that same agency control of which offline events get uploaded, which stages count, and how match quality gets reconciled, and you have asked the student to grade their own exam. Even a scrupulous agency will make judgment calls that flatter the numbers, because every judgment call has a flattering option.
The match — CRM leads against DMS sold units, by store, every month — belongs inside the group, in accounts the group owns. A controller, an internet director, or a fractional marketing lead who is not compensated on the ad numbers. The job is unglamorous: reconcile the sold file against the lead file, confirm the uploads went out on cadence, check match rates, flag the rooftop whose BDC stopped capturing identifiers. An hour or two a month once the pipe is built. But it is the hour that keeps every other reported number honest.
Two cautions belong in the build, not as afterthoughts. Customer data leaving your CRM for an ad platform touches privacy law, your OEM agreements, and your stated privacy policy — have counsel review the data-sharing setup before it goes live; none of this is settled enough to treat as boilerplate. And the uploads should run through hashed, platform-sanctioned methods, which both enhanced conversions for leads and the Meta Conversions API for CRM are built around.
What does this not prove?
Platform credit is not cause, which is also why GA4, the CRM and vendor reports never agree. When Google reports that a campaign drove 14 sold units, it means 14 sold units matched back to clicks on that campaign. It does not mean those 14 buyers would have stayed home without the ad. Some of them were already driving to your store. The platforms attribute; they do not run the counterfactual.
So treat the uploaded sales as training data and directional evidence, not as a settled ROI (return on investment) statement. If you want cause, you run the harder tests — holdouts, market splits, turning a channel off in one DMA (designated market area) and watching what the sold units do. I moved $500K a month at La Mesa RV, an 11-store RV dealer group where I ran marketing for 3.5 years, out of broadcast that could not be measured and into digital that could. The units were motorhomes, but the principle transfers: measurement you control beats attribution you’re handed. Offline conversion tracking is the first and cheapest step toward measurement you control. It is not the last one.
Where a fractional CMO fits
Building this is a one-time architecture decision followed by a permanent operating discipline: identifiers captured at the lead, stages flowing back daily, a monthly match owned by someone the ad numbers can’t flatter. That combination — the architecture plus the governance — is exactly what a fractional CMO should own for a dealer group: specifying the build, pressure-testing the vendors who claim they already do it, and running the monthly reconciliation that keeps every agency and platform number honest. The group that teaches the algorithms what a buyer looks like stops paying for form fills. Everyone else keeps buying them.