Home/Help Center/Meta Conversions API

Integrations

Set Up Meta Conversions API

Connect a Meta Events Manager dataset and access token so revenue logged on an ad-attributed WhatsApp conversation reports back to Meta as a Purchase event automatically.

By Chirag Darji · Updated 27 Aug 2026 · 7 min read

On this page
  1. Before you start
  2. Steps
  3. What you will see
  4. Settings and options
  5. Troubleshooting
  6. Why does this only cover Click-to-WhatsApp conversations?
VGraple CRM analytics dashboard with delivery rates, flow performance and revenue attribution

Setting up Meta Conversions API means creating a dataset and an access token inside Meta Events Manager, then pasting both into Settings > Integrations > Meta Conversion Tracking, after which any revenue logged on a Click-to-WhatsApp-attributed conversation automatically reports as a Purchase event back to Meta. This walkthrough covers getting the credentials from Meta and confirming the connection works.

Meta Conversions API: first 5 of 9 steps

  1. 1In Meta Events Manager, create a dataset
  2. 2Copy the Dataset ID
  3. 3Generate a system-user access token with `ads_management`
  4. 4In VGraple CRM, go to Settings >
  5. 5Paste the Dataset ID into the Dataset
The steps on this page, in order.

Before you start

  • You need access to your business's Meta Events Manager to create a dataset and a system-user access token; these are Meta-side steps, not something VGraple CRM generates for you.
  • Connecting this requires the organisation owner's access (or a platform super admin), since an access token with ads_management scope is treated as a restricted secret.
  • This only reports revenue for conversations that started from a Click-to-WhatsApp ad; if you do not run Click-to-WhatsApp campaigns, this feature has nothing to report, though logging revenue on ordinary conversations still works without it.

Steps

  1. In Meta Events Manager, create (or find) a dataset. Go to business.facebook.com, open Events Manager, and either use an existing dataset connected to your ad account or create a new one under Data Sources.

Integrations settings in VGraple CRM: Facebook Lead Ads, Calendly, Meta Conversion Tracking and payment collection

  1. Copy the Dataset ID. This is a numeric identifier shown at the top of the dataset's overview page.

  2. Generate a system-user access token with ads_management permission. In Meta Business Settings, under System Users, create or use an existing system user, generate a token, and grant it the ads_management permission along with access to the dataset from step 1.

  3. In VGraple CRM, go to Settings > Integrations > Meta Conversion Tracking.

  4. Paste the Dataset ID into the Dataset ID field.

  5. Paste the access token into the Access Token field. It shows "(saved, enter a value to replace)" once stored; the full token is never shown again after saving.

  6. Toggle Enabled on, and click Save.

  7. Click Send Test Event. This posts a real test Purchase event (INR 1, a fixed test order ID) to your dataset. Check Meta Events Manager's Test Events tab; it should appear within seconds.

  8. Optionally set a Test Event Code. Found under Events Manager's Test Events tab, this lets you distinguish your own manual and automated test sends from real production events in Meta's interface, without affecting real reporting once you clear it.

What you will see

Once enabled and saved, the Meta Conversion Tracking card shows the Enabled toggle on, your Dataset ID, and "(saved)" next to the Access Token field. From this point forward, logging revenue (by hand with Log Deal, or automatically through a paid payment link) on any conversation carrying a Click-to-WhatsApp click ID sends a Purchase event to your dataset in the same request that creates the revenue record in VGraple CRM. You can watch these events arrive in Meta Events Manager's own event history, attributed to the specific ad, ad set and campaign that started the conversation.

Settings and options

Setting or fieldWhat it doesDefault
EnabledTurns Meta Conversions API reporting on or offOff until you enable it
Dataset IDIdentifies which Meta Events Manager dataset receives eventsRequired to enable
Access TokenA system-user token with ads_management, authenticates the API call to MetaRequired, encrypted at rest
Test Event CodeMarks sent events as test events in Meta's interfaceOptional
Send Test EventPosts one real test Purchase event immediatelyAvailable once Enabled and saved
Reported eventThe event type VGraple CRM sendsPurchase, with action_source: business_messaging

Troubleshooting

SymptomLikely causeFix
Meta Conversion Tracking page is missing or fields are greyed outYour role is not organisation owner and you are not a platform super adminAsk the org owner to connect this, or to grant you owner access if that is genuinely your role
Send Test Event failsThe Dataset ID or Access Token is invalid, or the token lacks ads_management permission on that datasetRecheck both values against Meta Events Manager and Business Settings; regenerate the token if needed
"Dataset ID is required to enable conversion tracking"You tried to enable the toggle without a Dataset ID savedEnter the Dataset ID before saving with Enabled on
Real sales are not appearing as Purchase events in MetaThe conversation the sale was logged on has no ctwa_clid, meaning it did not start from a Click-to-WhatsApp ad clickExpected behaviour; only ad-attributed conversations report to Meta. Check the conversation's source before assuming a bug
A revenue event was logged but no Purchase event sent, with no error shownThis is a fire-and-forget report; a failed send is logged internally but does not block the revenue record from being created in VGraple CRM either wayConfirm CAPI is enabled and both credentials are current; the revenue record itself is unaffected regardless
Access token stopped working after previously succeedingSystem-user access tokens can expire or be revoked from Meta's side, for example if the system user's permissions changedGenerate a fresh token in Meta Business Settings with ads_management and the dataset's access, and re-save it here

Why does this only cover Click-to-WhatsApp conversations?

Meta's Conversions API for business messaging identifies a customer by whatsapp_business_account_id and ctwa_clid, the click identifier Meta itself attaches when someone taps a Click-to-WhatsApp ad, rather than by hashed email or phone the way the standard web Conversions API works. There is no way to retroactively attribute a conversation to an ad if that click ID was never captured on the first message, so a conversation that started organically, from a broadcast, or from any source other than a Click-to-WhatsApp ad simply has nothing for Meta to credit. VGraple CRM never estimates or backfills an attribution it does not have; a conversation without a captured ctwa_clid logs revenue in your own dashboard without a CAPI report, which is the accurate state rather than an inferred one.

Meta policy

Meta Conversions API for Business Messaging requires the business_messaging action source and a dataset created in Events Manager; it is a Meta-published API, not something VGraple CRM invented the shape of. Following the exact field names Meta specifies is what makes reported events actually attribute correctly inside Ads Manager.

Once this is connected, see seeing revenue per broadcast for how logged revenue shows up inside VGraple CRM, or Facebook Lead Ads if you also want ad-sourced leads tracked the same way.

Frequently asked questions

What is Meta Conversions API for, in plain terms?
It reports a sale that happened inside a WhatsApp conversation back to Meta, so an ad campaign that started that conversation gets credit for the resulting revenue in Meta's own reporting, and Meta's ad delivery can optimise toward people who actually buy, not just people who reply.
What do I need from Meta before I can connect this?
A dataset created in Meta Events Manager, and a system-user access token with the ads_management permission. Both are created inside Meta's own Business Manager, not inside VGraple CRM.
Does every sale get reported to Meta, or only some?
Only revenue logged on a conversation that carries a Click-to-WhatsApp click ID (ctwa_clid), meaning the conversation started from someone clicking a Click-to-WhatsApp ad. A conversation with no ad attribution logs revenue in VGraple CRM as normal, but nothing is sent to Meta, since there is no ad to credit.
What event does VGraple CRM send to Meta?
A Purchase event, with action_source set to business_messaging and messaging_channel set to whatsapp, the exact fields Meta's documentation specifies for chat-originated conversions, carrying the amount, currency, an order ID when supplied, and your WhatsApp Business Account ID.
How do I confirm the connection actually works before relying on it?
Click Send Test Event after saving your dataset ID and access token. This posts a real test Purchase event to your dataset, visible in Meta Events Manager's Test Events tab within seconds, confirming the wiring without needing a real ad-attributed sale.
Who can set up or change these credentials?
Only the organisation owner, or the platform super admin. This is stricter than most settings pages, since an access token is a sensitive credential with ads_management scope on your Meta Business account.
Does this cost anything or require a specific plan?
No. Logging revenue, payment-link auto-attribution and Meta Conversions API reporting all work on every plan, including Free. The Revenue Attribution dashboard that visualises this data requires Starter or above, but the underlying reporting to Meta does not.

Run your WhatsApp on VGraple CRM

Free forever plan, official Meta WhatsApp Business API, set up in 15 minutes. No card needed.