The gap, concretely
Imagine two leads. Lead A fills your form, books, shows up, and buys a RM12,000 treatment. Lead B fills the same form and vanishes. To the ad platform they look identical — both "conversions" — so it happily finds you more people like both. Multiply that across a month and the algorithm is optimising toward a blend that includes a lot of Lead Bs. Offline conversion imports tell the platform "Lead A became a customer, Lead B did not" — so it learns to find more Lead As.
How offline conversions work
The mechanism is a feedback loop from your booking/CRM system back to the ad platform:
| Step | What happens |
|---|---|
| 1. Capture a click/lead identifier | Store the GCLID (Google) or lead ID / hashed contact (Meta) when the lead comes in. |
| 2. Track the real outcome offline | Your team marks the lead booked / attended / closed in the CRM or a sheet. |
| 3. Import the outcome back | Upload the outcome (with the identifier + value) to Google Ads / Meta, manually or via integration. |
| 4. Optimise to it | Set bidding to the offline conversion so the algorithm chases closed business. |
Google vs Meta
On Google Ads, offline conversion import works via the GCLID captured at click time — store it with the lead, then upload the outcome later. On Meta, you import offline events or use the Conversions API with a lead identifier / hashed contact info. Both let you attach a value, so a RM12,000 case counts more than a RM500 one and bidding weights toward high-value outcomes — which is transformative for verticals like Invisalign and implants.
The prerequisite most skip
Offline conversions need the identifier captured at lead time and a disciplined process for recording outcomes. If your team does not consistently mark which leads booked and closed, there is nothing to import. This is as much an operations habit as a technical setup — which is why it pairs naturally with a structured WhatsApp qualification flow where outcomes are already being tracked.
What we do differently in client accounts
We wire the identifier capture at lead time, set up a simple outcome-tracking process the client's team can actually maintain, and import booked/closed outcomes with value back to Google and Meta — so bidding optimises toward revenue, not raw leads. Combined with WhatsApp click tracking and the Conversions API, it completes the signal loop for the accounts in our paid media management.
What to do about it
- Capture the GCLID (Google) or lead ID (Meta) with every incoming lead.
- Get your team recording which leads booked, attended and closed — consistently.
- Import those outcomes (with value) back to Google Ads / Meta.
- Switch bidding to optimise toward the offline/closed conversion, weighted by value.