Meta Conversions API (CAPI): a setup guide for Indian brands
Many Indian brands run Meta Ads and then notice that the numbers in Ads Manager do not match their store. Part of the reason is that the browser pixel alone no longer sees every sale. The Meta Conversions API (often shortened to CAPI) lets your server send those events directly, so Meta gets a more complete picture. This guide explains what it is, how to set it up, and how to check that it works.
What is the Meta Conversions API?
The Conversions API is a way for your website, app or CRM to send events such as purchases, leads and add-to-carts straight from your server to Meta, instead of relying only on code running in the customer's browser. Meta uses those events to attribute sales, build audiences and optimise delivery. You can read the official overview in Meta's Conversions API documentation.
Why browser-only tracking loses events
The Meta pixel is JavaScript that runs in the visitor's browser. It can miss a purchase when:
- the visitor uses a browser or extension that blocks trackers,
- cookies are limited or cleared,
- the visitor does not consent to tracking where consent is required,
- the page closes or fails to load before the event fires, or
- the order is completed somewhere the pixel does not run, such as a payment page or an offline call.
Missing events means Meta learns from less data, attributes fewer sales to your ads and finds it harder to optimise.
Pixel, Conversions API or both?
| Setup | What it does | When to use it |
|---|---|---|
| Pixel only | Tracks events in the browser | A quick start, but incomplete on its own |
| Conversions API only | Sends events from your server | Possible, but you lose browser signals such as cookies |
| Pixel plus Conversions API | Sends the same events from both and de-duplicates them | Meta's recommended approach for most advertisers |
Three ways to set it up
- A partner integration. If you use Shopify, WooCommerce or another supported platform, there is often a built-in or app-based integration that turns on server events with a few clicks. This is the fastest route for most small brands.
- The Conversions API Gateway. Meta offers a hosted option that sends server events for you without heavy development. It suits teams that want server-side events without building their own system.
- A direct integration. Your developers send events from your backend or tag manager server. It takes the most effort and gives the most control, which suits larger or custom setups.
Whichever you choose, confirm the integration is sending the events you care about: purchases first, then leads, add-to-cart and checkout starts.
What each event should include
Good events carry enough detail for Meta to match them to a person and understand the value:
- event_name: for example Purchase, Lead or AddToCart.
- event_time: when it actually happened.
- event_id: a unique ID, the same on the browser and server copy of an event, so Meta can de-duplicate.
- action_source: where it happened, such as website or app.
- user_data: customer information such as email and phone number, normalised and hashed as Meta requires, plus browser identifiers where you have them.
- custom_data: value, currency and product details for purchases.
The more accurate customer information you send, the better Meta can match events. Always follow Meta's current formatting rules in its documentation, because they are specific about normalisation and hashing.
De-duplication, step by step
- Generate a unique event_id when the action happens, for example the order number plus the event name.
- Send it with the browser pixel event.
- Send the same event name and event_id with the server event.
- Meta recognises the pair and keeps one copy.
If the IDs do not match, or the event names differ, you may count every sale twice and your reported ROAS will look better than reality.
How to test before you trust it
- Use the Test Events tool in Events Manager to see events arrive in real time and check whether browser and server copies are being matched.
- Look at Event Match Quality for your key events. A low score usually means you are sending too little customer information.
- Place a test order and check that exactly one Purchase appears, with the right value and currency.
- After a week, compare purchases reported in Meta with orders in your store. They will not match exactly, but they should be reasonably close, and the gap should be stable.
Consent and privacy
Server-side tracking does not remove your duty to respect consent. Collect consent where it is required, honour opt-outs and only send customer data you are allowed to share. India's Digital Personal Data Protection Act, 2023 sets rules on processing personal data, so get legal advice for your own situation. You can start with the government's data protection framework page.
Mistakes that undermine CAPI
- Sending events without an event_id, so duplicates inflate results.
- Only sending purchases. Upper-funnel events help Meta understand your audience.
- Sending revenue in the wrong currency or including GST inconsistently.
- Never checking after launch. Plugins update and integrations break, so review Events Manager regularly.
- Treating it as a magic fix. Better data helps, but it will not rescue weak creative or a poor offer.
How Growloom can help
We set up and audit Meta tracking as part of our analytics and Meta Ads work, and connect it with your CRM so you can see which campaigns create customers. If you are still choosing between channels, read Google Ads or Meta Ads: where to spend first, and for how to judge results see our guide to ROAS, CAC and payback period.
Frequently asked questions
What does the Meta Conversions API do?
It lets your server send events such as purchases and leads directly to Meta, instead of relying only on the browser pixel. This recovers events that blockers, cookie limits or page closures cause the pixel to miss.
Do I need both the Meta pixel and the Conversions API?
For most advertisers, yes. Meta recommends sending the same events from both sources and using a shared event ID so duplicates are removed.
Will the Conversions API make my ROAS go up?
Not directly. It improves how completely your sales are measured, which can raise reported conversions and help optimisation, but it does not create new sales. Reported ROAS may change because more of your real sales become visible.
Is the Conversions API difficult to set up?
It depends on your platform. Shopify, WooCommerce and similar platforms often have integrations that take minutes. A custom website needs developer time to send events from the server.
Sources and further reading
Want a second opinion on your marketing?
Get a free audit of where your budget is working and where it is leaking.
Get a free audit