EvlPixel
Home › Meta pixel for Fanvue

Meta Pixel for Fanvue

Fanvue gives creators no way to install a tracking script, so the browser pixel never fires where the money happens. This is what actually works instead, and why.

Why the browser pixel cannot work

A Meta pixel is a script that runs on a page you control. On Fanvue you control no pages: the profile, the subscribe flow and the checkout are all rendered by Fanvue on fanvue.com, and there is no field anywhere in the creator settings to paste a pixel ID into.

So the conversion happens somewhere your pixel cannot reach. You can point ads at a Fanvue link and watch clicks accumulate, but Meta never learns that any of those clicks became a paying subscriber. The optimiser has nothing to optimise towards, and every campaign looks equally bad.

What works instead: the Conversions API

Meta's Conversions API accepts events from a server rather than a browser. Nothing has to run on Fanvue's pages — something just has to know the conversion happened and be able to describe who it happened to.

That splits the problem into two halves:

  1. Knowing about the conversion. Fanvue's public API sends real-time webhooks: creator.subscription.activated when someone subscribes, creator.payment.succeeded for every purchase, renewal and tip.
  2. Knowing which ad click it belongs to. Harder, and where most tools quietly give up.

The attribution problem, honestly

When Meta sends someone to your link it appends fbclid. That parameter is the only thing tying a visitor to an ad. If your ad points straight at Fanvue, the parameter lands on fanvue.com and is gone.

So the click has to pass through a domain you control first:

ad click → your-domain.com/r/spring  ← fbclid, IP and user agent captured here
                                     → fanvue.com/creator

Now you have the click. The remaining question is how to recognise the same person hours later, when Fanvue reports a subscription — using a webhook that identifies the fan by a UUID you have never seen, and that never includes their email address. Fanvue documents purchaser.email as always null, so the usual trick of hashing the email on both sides is unavailable.

The weak answer

Most tools match on IP address and timing: same IP, roughly the right moment, call it a match. On mobile traffic, where carrier-grade NAT puts thousands of people behind one address, this produces confident-looking numbers that are partly fiction.

The reliable answer

Fanvue has its own tracking-link system, and it echoes arbitrary per-impression metadata back on the conversion webhook. So a click identifier can be sent out with the visitor and read back when they convert — a real join through Fanvue itself, rather than a guess:

→ fanvue.com/creator?fvc=fv-123456&metadata[cid]=c8k2m9x

webhook: { "type": "creator.subscription.activated",
           "tracking": { "metadata": { "cid": "c8k2m9x" } } }

That identifier points back at the stored click, which holds the fbclid. From it the Conversions API event is assembled with a correctly reconstructed fbc — built from the click's own timestamp, not the send time, because using "now" tells Meta every click just happened and corrupts the recency signal attribution depends on.

See it working on your own account

Connect Fanvue, add your pixel, and watch a real conversion land in Events Manager.

Start tracking

What gets reported

Fanvue eventMeta eventValue
Click on a tracking linkViewContent
New subscriberSubscribesubscription price
Subscription renewalPurchaseamount charged
PPV unlock or media purchasePurchaseamount charged
TipPurchasetip amount
Fan sends a first messageContact
Fan sends a third messageLead

One detail worth getting right: the initial subscription charge arrives from Fanvue twice — once as a subscription event, once as a payment. Reporting both doubles the revenue credited to a single ad. It should be sent once.

Lifetime value, not first purchase

A subscriber worth $9.99 on day one may spend $500 over six months. If only the signup is reported, Meta learns to find cheap subscribers who never buy again. Attribution has to stick to the fan so every later renewal, unlock and tip stays credited to the ad that brought them — and the Subscribe event should carry a predicted_ltv reflecting what fans from that link actually went on to spend.

Common questions

Can you put a Meta pixel on Fanvue?

Not directly. Fanvue does not let creators inject a tracking script into their profile or checkout, so the browser pixel never fires on the pages where conversions happen. The workable route is server-side: capture the ad click on a domain you control, then report the conversion to the Meta Conversions API when Fanvue tells you it happened.

How does Meta know which ad a Fanvue subscriber came from?

Through the fbclid parameter Meta appends to your ad link. A redirect on your own domain stores it, and the Conversions API event carries it back as an fbc value. Without that hop the identifier is lost, because it lands on fanvue.com where you cannot read it.

Does Fanvue have a Meta pixel integration?

Fanvue has no native Meta integration. It does have a public API with real-time webhooks and its own tracking links, which is what makes a third-party integration possible and reliable.

Will Meta approve ads for a Fanvue page?

Meta prohibits adult content advertising. Agencies that run Meta traffic for creators send it to a safe-for-work landing page first. A conversion tracking tool reports what happened; it does not make an ad account compliant, and you should treat that as your responsibility.

What about the 7-day attribution window?

Meta credits a click for at most seven days. A fan who subscribes on day two and then spends for six months will keep generating Purchase events, and those still train the optimiser, but Ads Manager stops attributing them to the ad. This is why the real return on ad spend has to be read from your own lifetime-value reporting, not from Meta alone.

Set it up in an afternoon

No script to install, no server to run. Connect Fanvue, add a pixel, point one ad at a tracking link.

Start tracking