VoidhashDocs
DevelopersHelp centerGuidesAPI reference
Dashboard
Help center
Get started
Get access to Studio
Find your way around Studio
Glossary
Files and bots
Files and boards
Bots
Analytics
Analytics overview
Reports
Chart reference
Metric definitions
Insights and dashboards
Query with VoidQL
Alerts
Check your data
Ads
Ad measurement
Connect Meta Ads
Send purchases to Meta
Ads reports
People
Find and help a person
Refunds and cancellations
Products
Set up products and perks
Paywalls
Design a paywall
Prices and buttons
Design for every device
Onboarding flows
Translate a paywall
Fonts and images
Paywall components
Build and deploy
Paywall locations
A/B testing
Feature flags
A/B tests
Automations
Automations
Push notifications
Settings
Payment providers
Manage projects and teams
Members and roles
SSO and directory sync
Notices
Plans and billing
Audit log
Your account
Help
FAQ
Troubleshooting

Onboarding flows

Build a multi-screen welcome, survey or tour that keeps going after a purchase and reports its answers to your app.

An onboarding flow is a series of screens, such as a welcome tour or a survey with a plan offer, that continues after a purchase. You design, build, deploy and place it exactly like a paywall.

Early access

Onboarding flows are in early access. Ask us on Discord, or email support@voidhash.com on a paid plan, to turn them on for your team.

How it differs from a paywall

PaywallOnboarding flow
After a purchase or restoreCloses, and the app learns it sold.Keeps going to the next screen.
How it usually endsA purchase, a restore, or closingA Finish flow button, or closing
Close paywall actionAvailableNot available; end the flow with Finish flow

Everything else is the same: screens, variables, states, buttons, translations and A/B tests.

Create one

  1. Open Paywalls, click New paywall, and set Kind to Onboarding flow. The kind can't change later.
  2. Design the screens as described in Design a paywall. With nothing selected, the Flow section of the Interaction tab shows the kind and the Start screen.
  3. Build and deploy it, then place it at a location, such as the one your app opens on first launch.

A typical onboarding flow:

  1. Asks a question on each of a few screens and stores each answer with Set variable.
  2. Saves the answers on the person with Set user attribute, so you can group people by them later.
  3. Offers a plan with Purchase product.
  4. Ends with Finish flow, whose Result names the outcome, such as completed.

What your app receives

When a Finish flow button runs, the app receives the Result name and the flow's variables, such as the survey answers. Your developers decide what the app does next, so agree on the Result names with them. Closing the flow reports that it was closed.

A purchase inside an onboarding flow doesn't end it, so the app checks the person's access after the flow instead.

What your app allows

Your app decides what a flow may do on the device. Purchases, restores, closing and Track event always work. These need your app's permission, set by your developers:

ActionNotes
Open URLAllowed unless your app turns it off.
Request permission → NotificationsAsks the person to allow notifications.
Request permission → App trackingiOS only. On Android the answer is always no.
Set user attributeSaves answers on the person.

An action your app doesn't allow is skipped, and the flow carries on. For developers: setup is on the Swift, Kotlin and React Native paywall pages.

Saved progress

A flow remembers its variables on the device, per person. When the same flow opens again, the answers are still there, but it starts again from its start screen. Finish flow clears the saved answers, and so does signing in as someone else. A purchase inside the flow keeps them.

If something's off

  • No Onboarding flow kind: onboarding flows are in early access separately from paywalls.
  • A permission prompt never appears: your app doesn't allow that action. Ask your developers.
  • The app doesn't react to the end of the flow: check that the Result name matches what your developers expect.

Next steps

  • Design the screens
  • Place the flow at a location
  • Show prices and wire up buttons

Still stuck? Check Troubleshooting, ask us on Discord, or email support@voidhash.com on a paid plan.

Something wrong or missing on this page? Tell us by email or on Discord.

PreviousDesign for every deviceNextTranslate a paywall

On this page

How it differs from a paywallCreate oneWhat your app receivesWhat your app allowsSaved progressIf something's offNext steps