Skip to content
MetaFanvue API

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.

Start for freeLast updated March 2024

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.

  1. 01

    Ad click

    fbclid captured

    Meta appends fbclid to the destination URL when a fan clicks your ad.

  2. 02

    Tracking link

    _fbc / _fbp saved

    Your Fanvue tracking link stores fbclid as _fbc alongside the existing _fbp cookie.

  3. 03

    Fanvue conversion

    subscribe, tip, PPV

    The fan subscribes, tips or buys a PPV message on Fanvue.

  4. 04

    Fanvue API

    hash, dedupe, sign

    Fanvue API hashes the fan's email, attaches event_id and calls the Graph API.

  5. 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.

business.facebook.com · Events Manager

Data sources

Fanvue Creator Dataset · ID 1234567890

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.

business.facebook.com · System users
EAAxxxxxxxxxxxxxConversions API

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.

dashboard.apifanvue.com · Ads Tracking
Meta connection

Dataset ID

1234567890

Status

Connected

04Add 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.

Ads Manager · Destination URL

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.

dashboard.apifanvue.com · Event mapping
  • 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.

business.facebook.com · Test events
Subscribe · TEST12345Received

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.jsjs
// 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 eventMeta eventParametersNotes
Tracking link clickViewContentevent_source_url + fbcOptional, adds browser-side signal
Free follow / signupLeadem, fbc, fbpSend as soon as the fan follows for free
New subscriptionSubscribevalue, currency, em, fbc, fbpRequired for Meta's Subscribe optimisation
RenewalPurchasevalue, currency, emSame event_id family as the original subscription
PPV message purchasePurchasevalue, currency, content_idsTag content_type as ppv in custom_data
TipPurchasevalue, currency, content_idsTag 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.

meta-capi.shbash
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

SymptomCauseFix
Low Event Match Quality scoreMissing em, fbc or client_ip_addressSend hashed email plus fbc, fbp, client_ip_address and client_user_agent on every event
Events show as duplicated in Events ManagerBrowser Pixel and server event use different event_id valuesGenerate 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 Managertest_event_code missing or expiredCopy a fresh test_event_code from the Test events tab and include it on the event payload
Purchase value is 0 or missingCurrency or value field left out of custom_dataAlways send both value and currency, even for recurring renewals
fbclid is present but no conversions are attributedTracking link is not storing fbclid before the fan lands on FanvueConfirm the Fanvue API tracking link script runs before any redirect and writes the _fbc cookie
Events arrive late or out of orderevent_time set to the time the event was sent instead of when it happenedSet event_time to the Unix timestamp of the actual subscribe, tip or purchase, not the request time
Account flagged for iOS traffic underperformanceNo server-side coverage, relying on browser Pixel aloneFanvue API's Conversions API events do not depend on the Pixel firing, so iOS 14+ signal loss is avoided

Meta tracking FAQ

Ready to build on Fanvue?

Get API keys, docs and MCP access in one click. Free trial, no credit card.