Core Concepts
Projects
A project is the top-level container. Everything — funnels, campaigns, customers, stores, integrations — belongs to a project.
Funnels
A funnel is the user journey — the sequence of pages visitors see. You can build funnels in two ways:
- No-Code Editor — A visual drag-and-drop builder. Best for marketers and quick iterations.
- Headless SDK — React + TypeScript components with full UI control. Best for developers.
Both approaches share the same runtime. Sessions, variables, routing, payments, tracking, and integrations work identically regardless of how the funnel is built.
Campaigns
A campaign is the public-facing wrapper that serves a funnel to visitors. Visitors access campaigns via URLs — the campaign determines which funnel is rendered.
| Property | Description |
|---|---|
| Slug | Unique URL identifier. Visitors access the funnel at yourdomain.com/f/{slug}. |
| Status | Active (live), Paused (not served), Archived (soft-deleted). |
| Funnel | The linked funnel served to visitors. |
Each campaign links to exactly one funnel.
New campaigns default to Paused. Set the status to Active before visitors can access it.
Sessions
A session represents one visitor’s journey through a funnel. Every page view, variable value, and attribution data point is tied to a session.
Lifecycle
- Created — Visitor lands on a campaign URL.
- Tracking — Variable values, page views, and device metadata are recorded as the visitor navigates.
- Persisted — Session ID is stored in a cookie. If the visitor returns to the same URL, their session is restored.
- Identified — When the visitor provides an email, the session is linked to a Customer.
What a Session Tracks
| Data | Description |
|---|---|
| Variable values | All answers.*, data.*, and query.* values collected during the session. |
| Attribution | UTM parameters, ad click IDs (fbp, fbc, gclid, ttclid), referrer URL. |
| Device & browser | IP address, browser, OS, device type, screen resolution, language, timezone, country. |
Customers
A customer is an identified user — someone who has provided an email address. Customers are unique per project by email.
How Customers Are Created
- An Input component bound to
user.email. - A payment flow where email is collected during checkout.
- A Complete Registration click action.
Subscriptions
When a customer completes a payment, subscriptions are tracked with full lifecycle status:
| Status | Description |
|---|---|
ACTIVE | Current and paid. |
TRIALING | In a free or paid trial period. |
PAST_DUE | Payment failed, not yet canceled. |
CANCELLING | Cancellation requested, active until period end. |
CANCELED | Ended. |
UNPAID | Payment failed, grace period expired. |
Status updates are driven automatically by payment provider webhooks.
Customers in Integrations
Customer data flows to third-party integrations — Meta Ads (hashed PII for attribution), Customer.io (profile sync + event workflows), RevenueCat (subscription analytics). See Integrations.