Funnels

A funnel measures conversion through a sequence of events. You define an ordered list of step events, and Beacon computes how many actors reach each step within a configurable time window. Useful for onboarding flows, checkout sequences, or any multi-step process where you care about drop-off.

Prerequisites

  • Plan: Funnels are available on Trial, Pro, Business, and Enterprise. Starter accounts see an upgrade prompt instead of the Funnels page. Counting by account additionally requires Business or Enterprise (see below).
  • Permissions: view_funnels to see and run funnels; manage_funnels additionally to create, edit, or delete. Counting by account also needs view_accounts.

Create a funnel

In the sidebar, click Funnels, then New Funnel in the top-right.

Fill in:

FieldRequiredNotes
NameYesUnique within your tenant.
DescriptionNoFree text for your own reference.
Conversion window (days)YesDefault 7. Range 1-90. How long an actor has, starting from step 1, to complete every subsequent step.
Default productNoPre-fills the Source App filter when the funnel is opened. The user can change it.
StepsYesBetween 2 and 10 steps.

For each step:

  • Event name (required) — must match the name your SDK sends.
  • Event category (optional) — if supplied, the step matches only events with this (category, name) pair. Leave blank to match the event name across any category.
  • Label (optional) — friendly name shown in charts and tables instead of the raw event name.

Steps are ordered top-to-bottom. Drag the grip handle to reorder.

Click Create funnel to save. You’re navigated to the new funnel’s detail page.

Run the funnel

The detail page auto-runs the funnel against the last 30 days the first time you open it. Later visits restore the filters you used last (stored per-funnel in your browser).

The Filters panel controls:

  • Source App — restrict to events from a single product. Defaults to the funnel’s stored default product, or blank.
  • Time range — a preset or a custom date range.
  • Count byUser (the default; distinct users) or Account (distinct customer accounts). The Account option is disabled with a tooltip on Trial / Starter / Pro — it requires Business or Enterprise and an SDK that’s calling SetAccount. See Counting by account below.

Click Run Funnel to recompute. Computation is live (queries raw events on each request — no aggregation delay), so newly-fired events appear in results as soon as ingestion accepts them.

If the selected start date predates your plan’s retention window, a yellow banner appears:

Data before [date] has been purged per your plan’s retention policy.

Beacon silently clamps the start date to the earliest retained event — the funnel still runs, but only against the data available.

Read the results

Each step row shows:

  • Actor count — distinct actors who reached this step.
  • Conversion rate — actors at this step ÷ actors at step 1, as a percentage. Step 1 is always 100%.
  • Drop-off — actors at the previous step who did NOT reach this step.
  • Median time from previous step — median elapsed seconds from the previous step’s event to this one, across all actors who completed both. Blank for step 1.

Above the table, a completion indicator summarises the funnel: green check if any actors reached the final step, red if none did. A bar chart visualises the step counts.

Conversion window semantics

  • Step 1 is the first occurrence of that event for each actor within your selected time range.
  • Each subsequent step must occur after the previous step’s matching event AND within conversion_window_days of the step-1 anchor (not the previous step).

So a funnel with a 7-day window where step 1 fires on Monday will count step 4 only if it also fires by the following Monday. An actor who completes step 1 on Monday and step 4 on Tuesday-the-next-week is dropped.

Counting by account

When Count by is set to Account, the funnel measures conversion at the customer-organisation level rather than per user. The rules:

  • Anchoring. Each account inherits the account_id carried on the user’s first step-1 event. That account ID is carried forward across every subsequent step — even if SetAccount is called mid-flow.
  • Counts. Step counts become distinct accounts. An account is “converted at step N” if any of its users reached step N within the conversion window.
  • Drop-offs. “Dropped between N-1 and N” means: in the distinct set of accounts at N-1, but not in the distinct set at N.
  • Excluded. Events without an account_id are excluded entirely when counting by account. The funnel becomes useless if SDK coverage is poor — check Data Governance first.

The completion indicator, comparison table, and member drill-down all switch to account counts when the toggle is flipped.

Member drill-down

The numeric count next to each step is clickable. Clicking opens a side drawer listing the users (or accounts, when Count by is set to Account) the count represents. Both the right-side annotation on the chart and the count cell in the result table are drill-down triggers — they open the same drawer.

Each drawer row carries:

  • Identifieractor_id when Count by is User (rendered as a copyable code chip); account_id when Count by is Account (rendered as a link to Account Detail).
  • Reached at — for the Converted view, the timestamp the user / account hit the step. For the Dropped view, the timestamp they hit the previous step (the latest event putting them in the upstream set they then failed to advance from).
  • Source app / version — the values on the qualifying event.
  • Time to step — seconds from the previous step’s anchor. Blank for the Dropped view and when counting by account (an account has multiple users with their own times).

Use the Converted / Dropped toggle at the top of the drawer to switch between the two views without re-opening. Pagination is Load more at the bottom; the list is sorted newest-first by the qualifying timestamp.

Member drill-down inherits the funnel’s filters (time range, source app, conversion window, and the Count by setting). It does not yet support filtering by additional event properties — that ships in a follow-up release.

Compare two periods

After Period A results render, click Compare to another period to reveal a second filter panel. Pick a date range; Source App inherits from Period A. The comparison table renders A and B side by side per step. Useful for A/B-style release comparisons (before vs after a launch, this quarter vs last quarter).

Common questions

The funnel times out. Computation has a 30-second budget. Narrow the date range, drop a step, or filter to a single product.

Step counts seem too low. Verify each step’s event name and (if supplied) category exactly match what your SDK sends. The match is case-sensitive. Check Event Explorer to see the names actually flowing through.

The conversion window is too tight (or too loose). Edit the funnel, change the window, and rerun.

Can I delete a funnel? Yes, from the edit page. Requires manage_funnels.

Next

Retention & Churn