But the deal closes later, in WhatsApp or at the clinic. Offline conversion imports close that gap so the algorithm chases revenue, not leads.
Here is the attribution gap that quietly caps most Malaysian service businesses: the ad platform optimises toward the last event it sees, but the actual outcome happens later, offline.
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 — the same tracking backbone behind our WhatsApp automation service.
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.
Related tools: build tracked WhatsApp entry links with the WhatsApp link generator, and verify Pixel/CAPI event flow using the Pixel + CAPI checker.
Ready to grow your business with proven digital marketing?
Our team specialises in performance marketing for Malaysian businesses — from clinics and property developers to national institutions and marketplace brands.
Published by shakalakaa team · Editorial standards

