Skip to main content
An App Store deeplink opens your app’s listing on Fanvue with a pricing plan preselected, or skips the picker and starts checkout for that plan. You put them in emails and in-app buttons, and the recipient installs nothing to follow one. To build one you need your app’s UUID and the UUID of an active plan. Deeplinks target subscription plans only. One-time items sell through their own checkout URL; see One-time items.

URL shape

The base of every App Store deeplink is your app’s listing page:
On its own, that URL opens the listing as if the creator had browsed there. Add a plan query parameter to make it a deeplink, and action=checkout to skip the picker. If plan is missing or empty, the page renders normally and action has no effect.

The two forms

The first form opens the picker with the plan preselected, so the creator reads the plan details before confirming. Use it when the creator hasn’t chosen a plan yet, such as a “Choose your plan” button in an onboarding email. The second form starts checkout at once. Use it when the button itself is plan-specific and the choice is already made, such as “Upgrade to Pro” on your marketing site. Both forms no-op for a viewer already on the targeted plan, so neither triggers a duplicate payment.

Where to get your planUuid

Plan UUIDs are on the Pricing tab of your app in the Developer Area. Each row of the pricing table has a Plan ID cell showing a truncated UUID. Click it to copy the full value, then paste it as the value of plan. Only plans with an Active status can be deeplinked. A plan that is pending setup or withdrawn, or a one-time item, shows an error toast on the listing page instead; see Invalid or unusable plan. If creators report the toast, the plan was withdrawn after the link was sent, so replace the link.

Behaviour by viewer state

Any Fanvue user can open a deeplink, so the result depends on the viewer’s relationship with your app.

Already on the targeted plan

A viewer who already holds the targeted plan sees the listing as normal. That covers an active subscription to that paid plan, and any access when the target is a free plan. Existing subscribers are never sent back through checkout, so a deeplink is safe to send to a broad audience.

Upgrade mode

A viewer with access through a different plan who opens a deeplink to a paid plan gets the picker in upgrade mode. Free plans are hidden so the viewer cannot downgrade by accident, and the targeted plan is preselected. The action=checkout form opens the upgrade payment dialog at once.

Pending or abandoned payment

A viewer who started checkout on the targeted plan and closed the dialog without paying resumes the same payment rather than creating a new one. action=checkout reopens the existing payment dialog; the plain plan= form preselects the plan so the viewer can reopen it from the picker.

Invalid or unusable plan

A plan UUID that doesn’t belong to this app, isn’t active, or names a one-time item renders the listing normally with an inline error toast saying the deeplink was invalid. Audit your outbound links when creators report the toast.