Notes for owners · Digital marketing
How to set up Meta Ads conversion tracking
Three parts: the Pixel in the browser, the Conversions API from your server, and one event ID that stops the same enquiry being counted twice. Then decide what an enquiry is.
The GullySales team · Updated 21 Sept 2026 · 8 min read
Meta Ads conversion tracking has three parts. The Pixel reports what happens in the visitor's browser. The Conversions API reports the same thing from your server or your website's back end, which catches what the browser loses. A shared event ID on both tells Meta the two reports are one event, so your nine enquiries do not appear as eighteen. Everything else is setting up: deciding what counts as a conversion, naming it, and checking that it fires.
Decide what a conversion is before you touch any code
This is the step owners skip, and it is the one that decides whether the numbers mean anything. Write down the moment you would call a real enquiry. For most Indian small businesses that moment is a phone number arriving, not a page view.
| What the visitor does | Event to send | Is it worth money |
|---|---|---|
| Opens the enquiry form | ViewContent or a custom event | No, but useful early for learning |
| Submits the form with a number | Lead | Yes, this is the one |
| Taps the call button | Contact | Yes, if somebody answers |
| Taps the WhatsApp button | Contact, with its own parameter | Yes |
| Books or pays online | Purchase, with a value | Yes, and send the value |
| A quotation converts into an order | Offline or CRM-sourced event | This is the number that actually matters |
Two or three events are plenty. An account with eleven custom events and nobody who remembers what three of them mean is worse off than an account with one clean Lead event.
The install, in the order that works
- Create the dataset in Events Manager and note its ID. One dataset per website, not one per campaign.
- Verify your domain in Business settings, with the DNS record or the meta tag. Skip this and you lose control over how events from your own site are configured.
- Put the base code on every page, in the head, either directly or through Google Tag Manager. Then check the pages that are not part of the main template: the thank-you page, the landing page a freelancer built, the blog.
- Fire the events on the actual action. A form submission that reloads the same page needs a listener, not a page-view rule. This is where most installations break.
- Rank your events in the aggregated event settings, highest value first. Meta only acts on the top few per domain, so put the enquiry above the page view.
- Turn on the Conversions API. A partner integration is the quickest route if your site runs on a platform that has one. Otherwise the developer sends the event server to server.
- Send the same event ID from both sides. Without it, the browser copy and the server copy are counted as two conversions and your cost per lead looks half of what it is.
- Send hashed customer details with the server event: phone number, email, name, city. In India the phone number is the useful one, because that is what the buyer actually gives you. Better matching means Meta credits the conversion to the right ad instead of dropping it.
The parts that are specific to how Indians enquire
Most enquiries here end in a WhatsApp chat or a phone call, not a form. That changes the setup.
A click-to-WhatsApp advertisement reports its own conversion inside Meta, and it looks wonderful, because a chat opening is cheap. It is not an enquiry until somebody writes back with what they want. Keep the chat opening as a separate number from the enquiry, and match the phone number into your CRM so you can see what fraction of those chats became something. For a clinic in Rajajinagar running click-to-WhatsApp, the gap between chats opened and appointments booked is usually the whole story.
Lead forms that open inside Facebook or Instagram never touch your website, so the Pixel cannot see them. The lead sits in Meta until somebody downloads a CSV. In most businesses that happens on Friday. Connect the form to your CRM directly, so the enquiry reaches a human in minutes. An unconnected lead form is a tracking problem and a sales problem at once.
Phone calls from a landing page are traceable with a separate number used nowhere else. Track the tap as an event, and count the call in the CRM.
Test it in twenty minutes
Open Test Events in Events Manager, then go through your own site on your own phone, as a buyer would. Submit the form. Tap the WhatsApp button. Watch the events arrive.
Three things to check while you are there. That each event appears once and not twice, which tells you deduplication is working. That the server and browser versions are both listed as received. That the event match quality score is not sitting at the bottom of the scale, which means you are sending almost no customer details.
Then wait a day and open Ads Manager. If the conversion column is still empty after a day of real spend, the problem is upstream of the reporting.
The numbers will not agree, and that is normal
Meta counts a conversion against the advertisement that was shown, on the day it was shown, inside the attribution window set on the account. Google Analytics counts it on the day it happened and gives credit to the last source that was not direct. Your CRM counts an enquiry when a person entered it. Three systems, three rules, three different totals for the same week.
So pick one scoreboard and use the others as instruments. The CRM decides what the campaign earned, because it is the only one that knows whether the enquiry was a buyer. Meta's number decides which ad set to turn off, because it is the only one that knows what was shown to whom. Adding them together produces a number that flatters everybody and helps nobody. Website analytics and conversion tracking is the service page if you want this built rather than built by you.
When this is not your problem
If you take twenty enquiries a month and half of them are never called back, conversion tracking will not fix anything. It will only measure the leak more precisely. Fix the reply first.
If nobody has agreed what a qualified enquiry is, the Lead event is counting students, competitors and wrong numbers, and the campaign will happily buy you more of them.
What to do next
Open your website on your own phone tonight and make one real enquiry. Then look in Events Manager and see whether it arrived, whether it arrived once, and whether your CRM has it. Most tracking projects end at that test, because the fault is visible in three minutes. Our free audit starts the same way, by tracing the last set of enquiries back to where they came from, and it is usually the first time anyone has checked.