Phone call conversions and offline conversion tracking: send call outcomes to Google Ads and Meta
A call is not a sale. The outcome of the call is. Here is how to make sure the answered call, the booking, the show-up and the win land on the same contact that carries the ad click, so Google Ads and Meta learn from real customers.

Trusted by agencies and brands running paid media










The call has to land on the right contact
Ad platforms learn from the click. The click ID lives on a contact, saved when the lead first filled in a form on your site. Everything after that only counts if it attaches to the same contact.
That is the one rule of phone call tracking: the call outcome must land on the same contact that carries the ad click. If the call is logged on a fresh, empty contact, the outcome exists in your CRM but Google Ads and Meta never connect it to an ad.
This page shows how to keep that link, which call stages are worth sending, and a weekly routine that catches problems early. The wider idea is in our offline conversions guide.
Call stages worth sending
A ringing phone is not a result. Send the steps that show a lead is turning into a customer:
- Answered: a real conversation happened, not voicemail. A useful early signal for lead quality.
- Booked: the call ended with an appointment or a next step on the calendar.
- Showed: the person came to the appointment. This is where many businesses lose track.
- Won: the deal was signed or the job was sold, with its value.
What DataCops sends, and to where
With HighLevel, the native connection sends lead, booked, showed, won (with value) and paid. Cancelled, no-show and lost are never sent, so a failed call never teaches an ad platform to find more of the same person.
Google Ads conversion actions start as secondary. Leads and purchases go by default; booked and showed go only to a conversion action you map yourself. Meta gets the stages through the Conversions API. Read more on Google Ads and Meta.
For any other CRM, your system posts each outcome to a private DataCops webhook. Fields are the event name, plus email or phone (at least one), and optionally value, currency, an order ID, and the click IDs.
HighLevel native or webhook: which one
If your calls and pipeline already live in HighLevel, use the native connection. You install once on the agency, pick the sub-accounts, and the stages are sent from there. The result is also written back onto the HighLevel contact, so you can see it where you work.
If you use Salesforce, Pipedrive, Close, Zoho or another CRM, use the webhook. There is no native app for those. A small automation in the CRM, or a Zapier, Make or n8n scenario, posts each call outcome when it happens. The order ID field means the same outcome sent twice counts once.
The duplicate contact trap
This is the most common reason call tracking quietly fails. A lead fills in your form on Monday, and the contact is saved with the ad click. On Thursday they call from a different number, or a different email. Your phone system creates a second contact for the call.
The call is booked and won on contact two. Contact one, the one with the click, is still sitting at new lead. The ad platform sees a lead and no sale.
Ways to prevent it: match calls to contacts by phone number in your phone system, ask for an email on every call, merge duplicates on a schedule, and never let a call create a contact without first searching for an existing one.
A made-up example
This is an example, not a real result. A clinic gets 50 form leads from ads in a week. 30 are called back. 18 book. 12 show. 5 pay.
If only the 50 form fills were sent, the ad platforms see 50 equal leads. If the outcomes are sent from the right contact, they see that 5 of the 50 became customers, and which ad clicks those were. That is what steers the next week's spend.
A weekly review routine
Ten minutes on the same day each week is enough.
- Check the delivery log. DataCops shows every send as sent, held, skipped or failed with the reason. Open the non-sent rows first.
- Compare counts. Calls booked and won in the CRM against the outcomes sent. A big gap points to duplicates or missing contact details.
- Spot-check five contacts. Open each one, find the call, and confirm it sits on the contact with the ad click.
- Merge duplicates. Fix them now, not at quarter end.
- Write down one change. One fix per week beats a rebuild.
What DataCops does and does not do here
Sends call stages from HighLevel
Lead, booked, showed, won with value, and paid, written back onto the contact.
Any CRM through the webhook
Your CRM or Zapier, Make or n8n posts each outcome with email or phone.
Does not record or answer calls
DataCops is not a call tracking phone system. It sends outcomes your CRM already holds.
Never sends cancelled, no-show or lost
From HighLevel, those stages are held back on purpose.
Set up call outcome tracking
About 5 minutes per site. Agencies: about 15 minutes per client.
- Step 1code
Add the DataCops script
One script and one DNS record, so every ad click is kept on your own domain for up to 90 days. - Step 2ads_click
Connect your ad platforms
Meta, Google Ads, TikTok and LinkedIn by one-click sign-in. - Step 3hub
Connect where your sales happen
HighLevel natively, or any other CRM through your private webhook. Pick the stages to send.
FAQ
Save the ad click on the lead when the form is filled, make sure the phone call is logged on that same contact in your CRM, and send the outcome (booked, showed, won) when the CRM reports it. DataCops does the sending to Google Ads and Meta.
Works with the rest of DataCops
Conversion API
Server-side conversions to Meta, Google Ads and TikTok, no code.
See Conversion APIAds Warmup
Feed your customer list to the ad platforms before you spend.
See Ads WarmupLeadCops
Verified leads, and conversions only once a lead qualifies.
See LeadCopsOffline Conversions
CRM, store and CSV sales matched back to the ad click.
See Offline ConversionsLet your ads learn from answered calls that turn into sales
Send call outcomes to Meta and Google Ads the day they happen, logged per send.
Setup in 5 minutes. No credit card.