Skip to content
Ads Tracking

Pixel-perfect tracking and attribution for Fanvue

Fanvue ads tracking fires server-side conversion events to Meta, TikTok, Snapchat and Google the moment a fan converts on your Fanvue tracking link. Kill losing ads, scale winners, forget iOS signal loss.

MetaMetaTikTokTikTokSnapchatSnapchatGoogle AdsGoogle Ads
How it works

From ad click to ad-platform conversion in five steps

The same pipeline runs behind every platform, from the first click on your ad to the conversion event landing back in the ad account.

  1. 01

    Ad click

    fbclid / ttclid / ScCid / gclid

    A fan clicks your ad and the platform's click ID lands in the URL.

  2. 02

    Tracking link

    click ID saved

    Your Fanvue tracking link stores the click ID in a first-party 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 PII, attaches the event_id and signs the payload.

  5. 05

    Ad platforms

    Meta, TikTok, Snap, Google

    The event lands in the right ad account within seconds.

Postbacks

Server-to-server postbacks, explained plainly

A postback is a server-to-server message: when a fan converts on Fanvue, our servers call the ad platform's servers directly and report the conversion. No browser pixel, no cookies, no iOS signal loss. The platform matches the event to the original ad click and your optimizer finally sees the revenue it actually generated.

  • Fired from our servers the moment a fan subscribes, tips or buys PPV.
  • Lands in the ad account within seconds, with value and currency attached.
  • PII is hashed before it leaves us. Consent flags travel with every event.

What postbacks do to your numbers

Browser pixel only0.8x ROAS

iOS blocks the pixel, conversions go uncounted, ads look unprofitable.

with Fanvue API postbacks
Server-side postbacks3.8x ROAS

Every conversion reported, the algorithm optimizes toward real revenue.

Same ad spend. Same creatives. The only change is that every conversion gets reported.

Feature set

Built for agencies running real ad spend

Attribution, deduplication and privacy handled for you, with the reporting your media buyers actually need.

Tracking-link revenue

Every tracking link records first-touch and last-touch attribution across 30-day windows.

ROAS by creator

Live dashboards for CPA, ROAS, LTV cohorts and payback period per creator, per ad account, per campaign.

Sub-affiliate tracking

Pass sub1-sub5 params through tracking links and back to the traffic partner via postback.

Event deduplication

One event_id shared by browser pixel and server event, so every platform counts a conversion once.

Attribution stack integrations

Send the same events to Triple Whale, Hyros, Northbeam and RedTrack. No CSV uploads.

Consent-mode ready

IAB TCF v2.2 and Google Consent Mode v2 flags respected end-to-end.

Event mapping

Every Fanvue event, mapped to every ad platform

Fanvue API translates each Fanvue event into the right event name and shape for Meta, TikTok, Snapchat and Google Ads.

Fanvue eventMetaTikTokSnapchatGoogle Ads
Tracking link clickPageView / ViewContentClickButtonPAGE_VIEW(page_view)
Free follow / signupLeadSubmitFormSIGN_UPsign_up
New subscriptionSubscribeSubscribeSUBSCRIBEsubscribe (conversion)
RenewalPurchase (value)CompletePaymentPURCHASEpurchase
PPV message purchasePurchase (content_type ppv)CompletePaymentPURCHASEpurchase
TipPurchase (content_type tip)CompletePaymentPURCHASEpurchase
Payload examples

The same shape, sent server-side to every platform

meta-capi.tsts
// meta-capi.ts - fire a server-side Subscribe event when a Fanvue fan converts
await fetch("https://api.apifanvue.com/v1/ads/meta/events", {
  method: "POST",
  headers: { "Authorization": "Bearer sk_live_...", "Content-Type": "application/json" },
  body: JSON.stringify({
    pixel_id: "1234567890",
    event: {
      event_name: "Subscribe",
      event_time: Math.floor(Date.now() / 1000),
      event_id: "fanvue_sub_abc123",
      action_source: "website",
      user_data: { em: ["<sha256(email)>"], fbc: "fb.1.1699.abc", fbp: "fb.1.1699.987" },
      custom_data: { currency: "USD", value: 9.99, content_ids: ["fanvue:creator_xyz"] },
    },
  }),
});
tiktok-events.tsts
// tiktok-events.ts
await fetch("https://api.apifanvue.com/v1/ads/tiktok/events", {
  method: "POST",
  headers: { "Authorization": "Bearer sk_live_...", "Content-Type": "application/json" },
  body: JSON.stringify({
    pixel_code: "C4XXXXXXXXXXXXX",
    event: "CompletePayment",
    event_id: "fanvue_sub_abc123",
    context: { user: { email: "<sha256(email)>" }, ad: { callback: "<ttclid>" } },
    properties: { currency: "USD", value: 9.99 },
  }),
});

Snap CAPI and Google Ads use the same shape - see the guides for full payloads.

Frequently asked questions

Ready to build on Fanvue?

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