Skip to main content
By the end of this page you’ll have a tracking link the creator can share, campaign parameters riding on it, and a way to read back which fans it brought in. A tracking link records every click and attributes signed-in fans to the link. Engagement and earnings follow the fan’s first click across all of the creator’s links, while metadata follows their latest click on this one. You need an access token for the creator with these scopes: POST /tracking-links takes name and externalSocialPlatform. The platform is one of facebook, instagram, other, reddit, snapchat, tiktok, twitter, youtube.
The 201 response is the full link object:
The shareable URL is the creator’s handle followed by the slug:

Attach your own metadata

Metadata is captured from the query string of the shared link, so there’s no API call and no field to set at creation time. Append plain query parameters, one per key:
Tracking links use plain query parameters. They do not use the metadata[<key>]=<value> bracket syntax that checkout links use. A bracketed key is not a tracking parameter and does not reach the allowlisted fields.
Capture limits, applied at click time: Nothing is rejected. Over-limit input is trimmed, so a click is never lost because of its query string.
Metadata is passthrough. Fanvue never interprets it, and it is readable by anyone holding the creator’s read:tracking_links scope. Do not put secrets or personal data in it.

Read clicks

GET /tracking-links/{uuid}/impressions returns every click, newest first, including clicks never matched to an account. It pages by cursor, with size from 1 to 50 (default 15); pass the previous response’s nextCursor as cursor until it is null.
userUuid is null for a click the visitor never followed with a sign-in. Expect plenty of these.

Read attributed fans

GET /tracking-links/{uuid}/users lists the fans whose clicks were matched to an account, with the same cursor pagination (limit and cursor). The list is a subset of clicks.

Read the metadata back

The users and impressions endpoints return only these keys, whatever else the landing URL carried: GET /tracking-links/{uuid}/users/{userUuid}/metadata returns every stored string key for one fan, with no allowlist:
Metadata is never merged across clicks. A later click replaces the previous metadata wholesale, and a later click with no query parameters leaves it null. To keep values across visits, keep every parameter on every copy of the link you publish, or store the values in your own system the first time you read them.

Attribution rules

Timing:
  • A click made while signed in is attributed immediately.
  • A click made while signed out is recorded immediately and attributed when that visitor signs in from the same browser. Until then the fan does not appear in the users list and the metadata endpoint returns null.
  • A click made while signed in as the creator who owns the link is not recorded. Use a separate fan account when testing.

Metadata on webhooks

Creator webhook envelopes for creator.subscription.*, creator.follow.* and creator.purchase.* carry a tracking block with link_url and metadata for the fan’s most recent attributed click. The block is null when the fan has no tracking parameter and no click on one of the creator’s links. See Tracking on creator payment events. The legacy new follower and new subscriber events carry the same values as trackingLinkUrl and trackingLinkMetadata. The capture limits and the latest-click rule apply to both.

See also