Skip to Content
Core Concepts

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.

PropertyDescription
SlugUnique URL identifier. Visitors access the funnel at yourdomain.com/f/{slug}.
StatusActive (live), Paused (not served), Archived (soft-deleted).
FunnelThe 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

  1. Created — Visitor lands on a campaign URL.
  2. Tracking — Variable values, page views, and device metadata are recorded as the visitor navigates.
  3. Persisted — Session ID is stored in a cookie. If the visitor returns to the same URL, their session is restored.
  4. Identified — When the visitor provides an email, the session is linked to a Customer.

What a Session Tracks

DataDescription
Variable valuesAll answers.*, data.*, and query.* values collected during the session.
AttributionUTM parameters, ad click IDs (fbp, fbc, gclid, ttclid), referrer URL.
Device & browserIP 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:

StatusDescription
ACTIVECurrent and paid.
TRIALINGIn a free or paid trial period.
PAST_DUEPayment failed, not yet canceled.
CANCELLINGCancellation requested, active until period end.
CANCELEDEnded.
UNPAIDPayment 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.

Last updated on