Five step types
Question, info, email, paywall and success, with up to 30 steps and answers that jump to other steps.
Feature
RevenueDot's funnel builder makes a few web screens in a row, such as a quiz, a proof point, an email field, your plans and a success page. You publish it to a public URL, visitors pay on Stripe Checkout, and they open your app with a redemption link. The analytics tab shows where visitors drop off.
Free up to $10,000 a month in tracked revenue. Works with the RevenueCat SDK you already ship.
Question, info, email, paywall and success, with up to 30 steps and answers that jump to other steps.
A question's answer is saved on the customer and moves to the app user when the purchase is redeemed.
Funnel views, steps and purchases go to webhooks, Segment, Amplitude, Mixpanel, PostHog, Meta, Google Tag Manager, Branch and AppsFlyer.
Views, checkouts, purchases, conversion, revenue and the drop-off of every step.
Steps
First finish the four web billing steps: Stripe connected, a web config, web products and an offering. A funnel's paywall step sells that offering's web products.
Open Funnels and select Create funnel. Start from the starter (a question, an info step, an email step, the paywall and the success step), from a blank funnel, or describe it and use Build with AI.
Add, reorder, duplicate and delete steps. Set each step's text, the theme colors and the answers. Send an answer to another step with its next field to build paths.
The phone preview is the real page with your web prices. Discount codes and payments run only on the public page.
Select Publish. A funnel needs one paywall step and one success step, with the paywall before the success step and the success step last.
The funnel lives at a public URL such as https://api.revenuedot.app/pay/scanner/focus-quiz, or on your own domain. Add ?app_user_id=, ?email= or ?code= to pre-fill them.
The builder edits a JSON document, the same one the API reads and writes. A save checks that ids are unique, every next names a step that exists, and colors are valid.
{
"theme": { "background": "#FFFFFF", "text": "#0A0A0A", "accent": "#0A0A0A", "button_text": "#FFFFFF", "corner_radius": 0 },
"steps": [
{ "id": "goal", "type": "question", "title": "What do you want to get done?", "attribute": "goal",
"options": [
{ "id": "focus", "label": "Focus on deep work" },
{ "id": "sleep", "label": "Sleep better", "next": "sleep_tip" }
] },
{ "id": "plan", "type": "info", "title": "Your plan is ready", "body": "Your daily plan is set." },
{ "id": "sleep_tip", "type": "info", "title": "Better sleep starts tonight", "body": "A short routine helps most people." },
{ "id": "email", "type": "email", "title": "Where should we send your plan?", "required": true },
{ "id": "paywall", "type": "paywall", "title": "Choose your plan", "offering": "web", "highlight_package": "$rc_annual", "allow_codes": true },
{ "id": "success", "type": "success", "title": "You are in", "body": "Open the app to start.", "show_redemption": true }
]
} The Analytics tab, or GET /v2/projects/{project_id}/funnels/{funnel_id}/analytics?days=7, shows views, checkouts, purchases, conversion (purchases divided by views) and revenue in US dollars. Every step shows how many sessions saw and finished it and its drop-off, from 0 to 1.
The page records funnel_viewed, step_viewed, step_completed, checkout_started and purchase. Three of them are RevenueDot event types you opt in to on a webhook or integration: FUNNEL_VIEWED, FUNNEL_STEP_COMPLETED and FUNNEL_PURCHASE.
rd_funnel_viewed, rd_funnel_step_completed and rd_funnel_purchase.provided or skipped, never the address. Visitors whose browser sends Global Privacy Control get no IP address, user agent or click ids.FAQ
It is a short sequence of web pages, usually a quiz, a proof point, an email field and a paywall, that sells your app's subscription before the visitor installs the app. The visitor pays on the web, then opens the app and the purchase is linked to their account.
After payment they get a redemption link on the success page and by email. The link opens your app, the app calls the SDK's redeemWebPurchase, and RevenueDot merges the anonymous web buyer into the app user, along with the quiz answers saved as attributes.
Yes. Select Build with AI and describe who the funnel is for, the questions and the offer. RevenueDot returns a funnel it has checked and repaired, and opens it as a draft for you to edit. Nothing is published until you publish it. Self-hosted servers need an OpenAI or Anthropic key for this.
Yes, through the Meta, Google Tag Manager, Branch and AppsFlyer integrations. Funnel events are opt-in: add funnel_viewed, funnel_step_completed and funnel_purchase to the integration's event types. They carry ad click ids from the landing URL when the visitor has not opted out.
Not yet. You can run two funnels at different URLs and compare their analytics, and you can A/B test the offerings your apps use. Step-level tests inside one funnel are not built.
Get started
Start free on RevenueDot Cloud, free up to $10,000 a month in tracked revenue, or move an existing RevenueCat app with one line of code.
Already have an account? Sign in · Prefer your own servers? Self-host free