App Store Deeplinks
Build links that open your app’s listing on Fanvue with a specific pricing plan preselected — or that skip straight to install/checkout.
Build links that open your app’s listing on Fanvue with a specific pricing plan preselected — or that skip straight to install/checkout.
App Store deeplinks are URLs you can share in marketing emails, in-app CTAs, support flows, or documentation that take a Fanvue user directly to your app’s listing page. With one extra query parameter you can preselect a specific pricing plan in the install dialog. With one more, you can skip the dialog entirely and send the user straight into the install/checkout flow.
Use them when you want to drive a specific plan rather than the generic “open the app’s listing” experience.
Deeplinks are stable, shareable URLs. You can hand them out in emails, embed them in your own site, or use them as CTAs from a partner integration, there is nothing to install on the recipient’s side.
The base of every App Store deeplink is your app’s listing page:
That URL on its own opens the listing exactly as if a creator had browsed there. To turn it into a deeplink, add a plan query parameter (and optionally action=checkout).
If plan is missing or empty, the page renders normally and action has no effect. action=checkout only makes sense in combination with a valid plan.
Use the picker form when you want the user to see plan details before confirming. Use the action=checkout form when the user has already chosen, e.g. they clicked a plan-specific CTA in an email.
planUuidPlan UUIDs are visible in the Pricing tab of your app in the Developer area. Each row in the pricing plans table has a Plan ID cell that shows a truncated UUID; click it to copy the full UUID to your clipboard, then paste it into your deeplink as the value of plan.
Only plans with an Active status can be deeplinked. Plans that are in setup, withdrawn, or otherwise inactive will trigger an error toast on the listing page if used as the target of a deeplink — see Invalid or unusable plan below.
Because a deeplink can be opened by any Fanvue user, the resulting experience depends on the viewer’s current relationship with your app. The matrix below summarises what each user sees.
A few of these are worth calling out explicitly.
If the viewer already has access to the exact plan you’re deeplinking to, either because they’re actively subscribed to that paid plan, or they already have access and the target is a free plan, the deeplink is treated as a no-op and the listing renders as normal. This is safe to send to broad audiences: existing subscribers won’t be pushed back through checkout.
If the viewer already has access via a different paid or free plan and the deeplink targets a different paid plan, the picker opens in upgrade mode: free plans are hidden so the user can’t downgrade by accident, and the targeted plan is preselected. The action=checkout form goes straight to the upgrade payment dialog.
If the viewer previously started checking out on the targeted plan and closed the dialog without completing payment, the deeplink will resume the same payment rather than creating a new one. Both forms behave the same way here — action=checkout reopens the existing payment dialog, and the plain plan= form preselects the plan so the user can reopen it themselves from the picker.
If the plan UUID doesn’t belong to this app, or the plan exists but isn’t active (for example, it has been withdrawn), the listing renders normally and the user sees an inline error toast indicating that the deeplink was invalid. Audit your outbound links if creators report seeing this — usually it means the plan was withdrawn after the link was sent.
A simple rule of thumb:
?plan= (picker form) when the user hasn’t necessarily committed yet — for example, a “Choose your plan” CTA in an onboarding email where you want them to see plan details before paying.?plan=...&action=checkout when the CTA itself is plan-specific — for example, a “Upgrade to Pro” button on your marketing site where the choice has already been made.Both forms are safe for users who are already subscribed: as shown above, the deeplink no-ops rather than triggering duplicate payments.