Fanvue Meta Pixel and Conversions API tracking
Connect Fanvue to Meta Conversions API so every subscription, renewal, PPV purchase and tip fires back to your ad account server-side, with high Event Match Quality and no dependence on the browser Pixel.
What you get
Fanvue Meta Conversions API tracking through Fanvue API sends the events that matter for a Fanvue business - subscriptions, renewals, PPV purchases and tips - straight to Meta's servers, so your campaigns optimise on real revenue instead of clicks or page views.
- Server-side Subscribe, Purchase and Lead events sent directly to the Graph API on your behalf
- Automatic deduplication against the browser Pixel using a shared event_id
- Hashed email, phone, fbc and fbp passthrough for high Event Match Quality out of the box
- Per-creator ROAS, CPA and LTV cohorts that roll straight back to the originating ad and campaign
How does Fanvue Meta Conversions API tracking work?
The pipeline is the same one used across every ad platform Fanvue API supports, specialised for Meta's identifiers and event names.
- 01
Ad click
fbclid captured
Meta appends fbclid to the destination URL when a fan clicks your ad.
- 02
Tracking link
_fbc / _fbp saved
Your Fanvue tracking link stores fbclid as _fbc alongside the existing _fbp cookie.
- 03
Fanvue conversion
subscribe, tip, PPV
The fan subscribes, tips or buys a PPV message on Fanvue.
- 04
Fanvue API
hash, dedupe, sign
Fanvue API hashes the fan's email, attaches event_id and calls the Graph API.
- 05
Meta Ads Manager
Subscribe, Purchase, Lead
The event appears in Events Manager and feeds Meta's optimisation within minutes.
Before you start
Gather these five things before you open the Fanvue API dashboard:
- A Meta Ads account with access to Events Manager
- A dataset (pixel) ID from Events Manager
- A system-user Conversions API access token with the ads_management permission
- A Fanvue tracking link for the creator you are advertising
- A Fanvue API key from your dashboard's API Keys page
Step-by-step setup
01Create a dataset (pixel) in Meta Events Manager
In Events Manager, add a data source and choose a web dataset. Name it after the creator or agency so it is easy to find later.
Data sources
02Generate a system-user access token
Create a system user in Business Settings, assign it to the dataset, and generate a token scoped to ads_management. Never share this token outside Fanvue API's dashboard.
03Connect the dataset and token in Fanvue API
Open Ads Tracking in the Fanvue API dashboard, choose Meta, and paste in the dataset ID and access token. Fanvue API validates the token immediately.
Dataset ID
1234567890
Status
Connected04Add your Fanvue tracking link to every ad
Use your Fanvue tracking link as the destination URL on every ad set. It captures fbclid on click and forwards the fan to Fanvue.
https://track.apifanvue.com/l/xyz?fbclid={{fbclid}}
05Map Fanvue events to Meta events
Review the default event mapping in the dashboard and adjust it if your funnel treats free follows or tips differently.
- subscription.created → Subscribe
- transaction.ppv → Purchase
06Send a test event
Copy the test_event_code from the Test events tab, paste it into the Fanvue API dashboard, and trigger a test event to confirm the connection end to end.
Capture the click ID
Meta appends fbclid to your ad's destination URL. Fanvue API's tracking-link script reads it on landing and stores it as a first-party _fbc cookie for 90 days, in the exact format Meta expects: fb.1.{timestamp}.{fbclid}.
// capture-fbclid.js - run once on the tracking-link landing page
(function () {
var params = new URLSearchParams(window.location.search);
var fbclid = params.get("fbclid");
if (!fbclid) return;
var fbc = "fb.1." + Date.now() + "." + fbclid;
var expires = new Date(Date.now() + 90 * 24 * 60 * 60 * 1000).toUTCString();
document.cookie = "_fbc=" + fbc + "; expires=" + expires + "; path=/; SameSite=Lax";
})();Event mapping
Required and recommended parameters per event, for the Meta column of Fanvue API's event mapping.
| Fanvue event | Meta event | Parameters | Notes |
|---|---|---|---|
| Tracking link click | ViewContent | event_source_url + fbc | Optional, adds browser-side signal |
| Free follow / signup | Lead | em, fbc, fbp | Send as soon as the fan follows for free |
| New subscription | Subscribe | value, currency, em, fbc, fbp | Required for Meta's Subscribe optimisation |
| Renewal | Purchase | value, currency, em | Same event_id family as the original subscription |
| PPV message purchase | Purchase | value, currency, content_ids | Tag content_type as ppv in custom_data |
| Tip | Purchase | value, currency, content_ids | Tag content_type as tip in custom_data |
Full payload example
The Fanvue API endpoint below wraps the Graph API call POST https://graph.facebook.com/v19.0/{PIXEL_ID}/events so you send one request to Fanvue API and it handles hashing, retries and the Graph API call for you.
curl -X POST https://api.apifanvue.com/v1/ads/meta/events \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"pixel_id": "1234567890",
"event": {
"event_name": "Subscribe",
"event_time": 1699999999,
"event_id": "fanvue_sub_abc123",
"action_source": "website",
"event_source_url": "https://track.apifanvue.com/l/xyz",
"user_data": {
"em": ["<sha256(email)>"],
"fbc": "fb.1.1699.abc",
"fbp": "fb.1.1699.987",
"client_ip_address": "203.0.113.4",
"client_user_agent": "Mozilla/5.0 ..."
},
"custom_data": { "currency": "USD", "value": 9.99, "content_ids": ["fanvue:creator_xyz"] }
}
}'Deduplication
If you also run the browser Meta Pixel on your Fanvue landing page, Meta will see two events for the same conversion: one from the Pixel, one from the Conversions API. Fanvue API prevents double counting by generating one event_id per conversion (for example fanvue_sub_abc123) and attaching the same event_id and event_name to both calls. Meta then treats them as a single event for reporting and optimisation, keeping the browser event only for the extra signal it adds.
Matching and privacy
Fanvue API never sends raw personal data to Meta. Email addresses are trimmed, lowercased and hashed with SHA-256 before they leave Fanvue API's infrastructure. Only the hashed value, plus fbc, fbp, client_ip_address and client_user_agent, is included in user_data.
Consent is respected end to end. If a fan has not granted ad-personalisation consent under IAB TCF v2.2 or Google Consent Mode v2, Fanvue API withholds the event or strips identifying fields depending on the flag, so you stay compliant without extra integration work.
Test and verify
Open the Test events tab in Meta Events Manager, copy the test_event_code shown there, and paste it into the Fanvue API dashboard's Meta connection settings. Trigger a test subscription or fire a manual test event from the dashboard. A good result shows the event listed in Test events within a few seconds, with all of Subscribe, value, currency and a hashed em field populated, and an Event Match Quality diagnostic score of 6 or higher.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| Low Event Match Quality score | Missing em, fbc or client_ip_address | Send hashed email plus fbc, fbp, client_ip_address and client_user_agent on every event |
| Events show as duplicated in Events Manager | Browser Pixel and server event use different event_id values | Generate one event_id per conversion and pass it to both the Pixel call and the Conversions API call |
| Test events do not appear in Events Manager | test_event_code missing or expired | Copy a fresh test_event_code from the Test events tab and include it on the event payload |
| Purchase value is 0 or missing | Currency or value field left out of custom_data | Always send both value and currency, even for recurring renewals |
| fbclid is present but no conversions are attributed | Tracking link is not storing fbclid before the fan lands on Fanvue | Confirm the Fanvue API tracking link script runs before any redirect and writes the _fbc cookie |
| Events arrive late or out of order | event_time set to the time the event was sent instead of when it happened | Set event_time to the Unix timestamp of the actual subscribe, tip or purchase, not the request time |
| Account flagged for iOS traffic underperformance | No server-side coverage, relying on browser Pixel alone | Fanvue API's Conversions API events do not depend on the Pixel firing, so iOS 14+ signal loss is avoided |
Also track on TikTok / Snapchat / Google Ads
Back to the Fanvue ads tracking overview, or compare plans on Fanvue API pricing.
Meta tracking FAQ
Ready to build on Fanvue?
Get API keys, docs and MCP access in one click. Free trial, no credit card.