Follow one ad click from first visit to paid invoice: everywhere an offline conversion can get lost
The best way to understand offline conversion tracking is to follow one click all the way through. Let me do that, and mark every place it can be lost. The example is made up, and every step is real.
Monday, 9:12pm. A person is scrolling on their phone and sees your ad. They tap it. The ad platform adds a click ID to the address: fbclid on Meta, gclid on Google, ttclid on TikTok, li_fat_id on LinkedIn. This is the moment the whole chain depends on.
Lost place one: the landing page. If a redirect strips the parameter, or the page never reads it, the click ID is gone before it starts.
9:14pm. They read the page and fill in the form. Their email and phone go into a form field. Behind the scenes, the click ID needs to be saved with the lead.
Lost place two: the form. If the form is embedded from another tool, it may never see the page address. If a hidden field was removed in a redesign, nothing saves the click ID. Either way, the lead exists and the click doesn't.
Lost place three: the browser. If you rely on a cookie to remember the click ID, Safari may cap it at 7 days, or 24 hours if they arrived through a tracker link. On some iPhone paths, the click ID is stripped from links before your site even loads.
Tuesday. The lead lands in the CRM. Someone calls. The call outcome is logged.
Lost place four: the contact. If the phone system creates a second contact for the call, the outcome lands on a person with no click and nothing can be matched.
Thursday. The person books an appointment. The stage changes to booked.
Lost place five: the trigger. If the automation that sends the stage isn't listening for that stage, or the stage was renamed, nothing is sent, and nothing errors.
The following Tuesday. They attend. Later, they pay.
Lost place six: the timing. Meta rejects events sent more than 7 days after they happened. If you send in a weekly or monthly batch, the older stages are dropped. Google ignores uploads more than 90 days after the click, and LinkedIn takes conversions up to 90 days old.
Lost place seven: the match. The stage arrives at the platform with a hashed email and phone and, if all went well, the click ID. If the email is badly formatted or the phone has no country code, the hash matches nobody.
Lost place eight: the duplicate. If the pixel and the CRM both report the same sale with different IDs, it's counted twice, and the numbers look better than they are.
Lost place nine: the meaning. If every stage is sent as "Purchase", the platform thinks a booked call was a sale.
Finally, the click has become a report line, and the platform's bidding has one more example of a real customer. If any of the nine went wrong, it has one fewer.
The point of walking through it isn't the number of places. It's that they're all fixable, and each one has a simple check. That's what the rest of this sub is about.
If you want to audit your own setup against the nine places, here's a one-page sheet. For each place, write pass or fail and the fix.
1. Landing page keeps the click ID. 2. Form saves it. 3. It doesn't depend on a cookie. 4. The call or interaction lands on the same contact. 5. The stage trigger exists and is listening. 6. Stages are sent inside the platform's window. 7. The match key is formatted properly before hashing. 8. Duplicates are prevented with a shared ID. 9. Each stage has its own meaning.
Fill it in for one recent won deal. Most teams find one or two fails, and fixing those is the whole project.
Where do you think your clicks get lost?
More on this: The complete guide to offline conversions, and the complete guide to offline conversion tracking.