B2B lead generation
Offline conversion import
The event that matters commercially happens inside the CRM days or weeks after the click, and unless it is sent back with an identifier that matches, the ad platform keeps optimising toward the only event it can see.
Paid, fixed scope · Within ten business days after complete access
What breaks
Sales-led pipelines with qualification stages in the CRM, long sales cycles, and any account where bidding currently optimises toward form fills
Bidding optimises toward whatever it is told is a conversion. If the only conversion it receives is a form fill, it will find people who fill in forms, and it will get very good at it. Qualification, the judgement that separates a buyer from a form fill, is made later by a person inside the CRM. That state change never leaves the CRM on its own. Sending it back requires an import carrying an identifier captured at click time and stored on the record, so the platform can match the conversion to the click that caused it. Miss the identifier at capture and the import cannot be built afterwards, because the join key was never written down. This is the one failure on the site that cannot be fixed retroactively.
Why nobody catches it
Lead volume rises and cost per lead falls, so every metric on the marketing dashboard improves at once. The deterioration is in quality, which shows up in a different system, on a longer delay, owned by a different team, and is usually attributed to the market or to the leads themselves rather than to the bidding target. The two teams are looking at two reports that both say what they expect, and there is no report anywhere that puts a cost per qualified lead next to a cost per form fill, which is the single comparison that would end the argument.
The work
The click identifier on real records, the qualification definition sales agreed to in writing, and an import log showing what matched and what did not.
- 01Capture the platform click identifier at arrival and write it onto the record the CRM creates, because the import cannot be built later without it
- 02Agree with sales which stage means qualified and which field holds it, before anything is sent anywhere
- 03Import that stage back to the ad platforms on a schedule, with the identifier and the value
- 04Read the match rate on the first imports and fix the join before trusting the optimisation
Elsewhere in lead generation and crm
One stack usually has more than one of these.
These boundaries compound. A brand running a hosted checkout and a subscription plan has two separate reasons for its channel report to be wrong, and fixing one leaves the other in place. The audit establishes which are live on your stack before anything gets rebuilt.
Start with the smallest useful check
Send one account running qualified stage back to ads and we will read its setup before anyone signs anything.
Send the domain, the customer journey, and the platforms that should receive it. The tracking audit shows what is working, what is missing or duplicated, and the exact build recommended next.
Paid, fixed scope · Within ten business days after complete access
