On this page

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
- 1In Meta Events Manager, create a dataset
- 2Copy the Dataset ID
- 3Generate a system-user access token with `ads_management`
- 4In VGraple CRM, go to Settings >
- 5Paste the Dataset ID into the Dataset
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_managementscope 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
- 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.

Copy the Dataset ID. This is a numeric identifier shown at the top of the dataset's overview page.
Generate a system-user access token with
ads_managementpermission. In Meta Business Settings, under System Users, create or use an existing system user, generate a token, and grant it theads_managementpermission along with access to the dataset from step 1.In VGraple CRM, go to Settings > Integrations > Meta Conversion Tracking.
Paste the Dataset ID into the Dataset ID field.
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.
Toggle Enabled on, and click Save.
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.
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 field | What it does | Default |
|---|---|---|
| Enabled | Turns Meta Conversions API reporting on or off | Off until you enable it |
| Dataset ID | Identifies which Meta Events Manager dataset receives events | Required to enable |
| Access Token | A system-user token with ads_management, authenticates the API call to Meta | Required, encrypted at rest |
| Test Event Code | Marks sent events as test events in Meta's interface | Optional |
| Send Test Event | Posts one real test Purchase event immediately | Available once Enabled and saved |
| Reported event | The event type VGraple CRM sends | Purchase, with action_source: business_messaging |
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| Meta Conversion Tracking page is missing or fields are greyed out | Your role is not organisation owner and you are not a platform super admin | Ask the org owner to connect this, or to grant you owner access if that is genuinely your role |
| Send Test Event fails | The Dataset ID or Access Token is invalid, or the token lacks ads_management permission on that dataset | Recheck 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 saved | Enter the Dataset ID before saving with Enabled on |
| Real sales are not appearing as Purchase events in Meta | The conversation the sale was logged on has no ctwa_clid, meaning it did not start from a Click-to-WhatsApp ad click | Expected 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 shown | This 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 way | Confirm CAPI is enabled and both credentials are current; the revenue record itself is unaffected regardless |
| Access token stopped working after previously succeeding | System-user access tokens can expire or be revoked from Meta's side, for example if the system user's permissions changed | Generate 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.
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.