What gets sent
Each event carries the fields ad platforms use for attribution and match quality:| Field | Content |
|---|---|
| Event name | Your mapped event, e.g. Subscribe, Purchase, Lead |
| Click ID | fbc (built from the captured fbclid) for Meta, raw ttclid for TikTok |
| External ID | The fan’s OnlyFans ID, SHA-256 hashed. Never sent in plain text |
| IP and user agent | Of the original ad click, to raise event match quality |
| Landing page URL | The OnlyFans page the click landed on |
| Event ID | A stable deduplication key, safe against retries |
| Value and currency | Purchase amount in USD, on transaction events only |
Click IDs are captured automatically when the visitor arrives through your Tracking Link with
fbclid or ttclid in the URL. Meta and TikTok append these to ad traffic by default, so there is nothing to configure on the ad side.Events you can map
| Event | Fires when | Meta default | TikTok default |
|---|---|---|---|
| New Subscriber | A fan subscribes through your link | Subscribe | Subscribe |
| New Transaction | An attributed fan spends money (subscription, renewal, tip, PPV) | Purchase | CompletePayment |
| Dialog (3+ messages) | An attributed fan exchanges 3 or more chat messages | Lead | Contact |
Purchase / CompletePayment if you plan to use value-based optimization.
Set up a Meta pixel
Get your Pixel ID and token
In Meta Events Manager, open your dataset (pixel) and copy its ID. Then go to Settings, find the Conversions API section and click Generate access token.
Add the pixel in Studio
Open Tracking Links > Pixels, click Add pixel, choose Meta Ads. Paste the Pixel ID and the access token, adjust event mapping if needed.
Verify with a test event
Paste a Test Event Code from the Events Manager Test events tab and save. Send a test from Studio and watch it appear in Test events. Clear the code when you go live, otherwise events stay in test mode.
Set up a TikTok pixel
Get your Pixel Code and token
In TikTok Events Manager, open your web events pixel and copy the pixel code. Then go to Settings and use Generate Access Token (Events API).
Add the pixel in Studio
Open Tracking Links > Pixels, click Add pixel, choose TikTok Ads. Paste the pixel code and the access token.
Health checks
Studio verifies each pixel continuously:- On save: a test event is sent immediately to confirm the token and pixel ID work.
- On every live event: the platform’s response updates the health badge, so an expired token is flagged within minutes of the first failed send.
- Daily: quiet pixels are probed in the background.
Running smart campaigns on pixel events
- Optimize Meta campaigns for the
SubscribeorPurchaseevent received through the pixel, and TikTok campaigns forSubscribeorCompletePayment. - Purchase events carry USD values that match your OnlyFans earnings, so value-based bidding reflects real revenue, not proxy metrics.
- Events arrive within about a minute of the conversion. Renewals and later purchases keep flowing in as
Purchaseevents for as long as the link stays active. - Use one pixel per ad account and attach it to every Tracking Link that receives traffic from that account.
Troubleshooting
Events do not show up in Events Manager
Events do not show up in Events Manager
Check the pixel’s health badge in Tracking Links > Pixels and the delivery log. If deliveries show as failed, the response body contains the platform’s error message. If there are no deliveries at all, the link has no conversions yet: events fire on subscriptions, not clicks.
Events arrive but match quality is low
Events arrive but match quality is low
Make sure your ads keep
fbclid / ttclid in the destination URL (platforms add them by default; some URL shorteners strip them). Events for fans who arrived without a click ID still send the hashed external ID, IP and user agent, but match worse.Test events do not appear
Test events do not appear
The test event code must be currently open in the platform’s test tool while you send. Codes expire; grab a fresh one from Events Manager and save it in the pixel form.
Purchases have no value
Purchases have no value
Values are attached to the New Transaction event only. If you remapped New Subscriber to Purchase, those events carry no amount; keep Purchase mapped to New Transaction.