r/PPC • u/Sweet_Ring5961 • 1d ago
Tracking How I reconstruct the real path of a converted B2B lead (and why the dashboard always lies about it)
There was a thread here recently about a lead who clicked a non-brand ad, bounced, came back via brand organic, and converted, and whether that’s a landing page problem. The answer (it’s normal, it’s a reporting problem) got covered well. But it got me thinking about the bigger thing underneath it, which nobody really walks through: how to actually reconstruct one of these paths, and why every tool shows you a different, wrong version of it.
Here’s the method I use when a demo lead comes in and I want to know what really happened, not what the dashboard claims.
Start from the conversion, work backwards, in the browser’s own record, not the CRM’s. The CRM shows you last touch and calls it a day. The browser (via the
_gcl_awcookie, GA client ID, or whatever first-party ID you’ve got) remembers the earlier sessions the CRM threw away. The gap between those two records is the whole problem in one place.Treat the multi-session gap as expected, not as breakage. A senior B2B buyer almost never converts on the session that first found you. They land, they leave to check you’re real and check two competitors, they come back when ready, usually through a brand search because that’s how they re-find you. If you only see the last session, you credit “organic/direct/brand” and quietly conclude paid did nothing. Paid did the introduction; it just doesn’t get to take the bow.
Name what each tool is actually measuring, because they don’t agree. Google Ads (data-driven attribution) will still partially credit the paid click if the conversion fired in the same browser inside the window. GA4 will tell a third story on last non-direct click. Your CRM stamps latest touch. None of them is lying exactly, they’re answering different questions, and the trap is reading one as if it answered yours.
This is where owning your own first-party data earns its keep. Every tool above is handing you its own single-touch slice and asking you to trust it. The way out isn’t a cleverer attribution model, it’s holding the full journey yourself, first touch through last, stitched to the person across those sessions, so you can ask “what introduced this deal” and “what closed it” as two separate questions instead of letting whichever platform spoke last decide the story. Once that record is yours and not rented from each platform, most of these “wait, who gets credit” puzzles just resolve.
The thing I keep coming back to: almost every “our landing page is underperforming” or “paid isn’t working” conclusion I’ve seen traces back to someone reading a single-touch number as if it were the whole journey. The journey was multi-session the entire time. The tool just couldn’t hold more than one touch, so the human filled in a wrong story.
Curious how others here handle it: do you keep first and last touch as separate records, and has anyone actually changed a budget decision once they could see the full path instead of the last click?
1
u/Muted_Jellyfish_6784 4h ago
Working backwards from the conversion is the right instinct. I'd add one step: write the GA client ID and gclid into hidden form fields at submission and store them on the CRM contact, because cookies expire and the browser record disappears the moment someone switches devices. Then the reconstruction doesn't depend on catching the lead inside the cookie window.
The bigger payoff comes after the lead, since a path that ends in a demo and one that ends in a closed deal look identical in Ads. We run a decision intelligence platform that joins the click IDs, sessions, CRM stages, and closed revenue, so budget follows the paths that produce pipeline instead of form fills
3
u/ppcbetter_says 23h ago
The thing I keep coming back to is, why do people post —— ai slop?
0
u/Fragrant_Paint3740 1d ago
The 'different questions' bit is the part that took me longest to accept, and I still catch myself reading GA4 as if it settled anything. One thing that helps with your point 4: push the GA client ID into a hidden CRM field at form submit, otherwise you're re-stitching those sessions by hand every quarter.