Copy as markdown[View .md](https://docs.funnelfizz.com/tutorials/ab-funnel-for-your-app "View the raw markdown for this page")[Open in Claude](https://claude.ai/new?q=Read%20https%3A%2F%2Fdocs.funnelfizz.com%2Ftutorials%2Fab-funnel-for-your-app.md%20and%20help%20me%20with%20this%20FunnelFizz%20topic%3A%20Creating%20an%20A%2FB%20funnel%20for%20your%20app "Open this page in Claude with context")[Open in ChatGPT](https://chat.openai.com/?q=Read%20https%3A%2F%2Fdocs.funnelfizz.com%2Ftutorials%2Fab-funnel-for-your-app.md%20and%20help%20me%20with%20this%20FunnelFizz%20topic%3A%20Creating%20an%20A%2FB%20funnel%20for%20your%20app "Open this page in ChatGPT with context")

# Creating an A/B funnel for your app

*\~15 minutes · Intermediate*

Most A/B tools only measure click-through rate on a single page. FunnelFizz's A/B split condition measures **the whole funnel**, including conversion to paid customer, which is what you actually care about.

## Who this is for[​](#who-this-is-for "Direct link to Who this is for")

* You want to know which hero copy *actually* converts, not just which gets more clicks.
* You're comfortable with URL parameters and have a way to vary content based on them (server-side or client-side).

## The scenario (outline)[​](#the-scenario-outline "Direct link to The scenario (outline)")

You have two hero copies:

* **Variant A: "See Your Entire Funnel. Fix What's Broken."**
* **Variant B: "Read Your Customer's Mind. Know Their Every Move."**

You want to know which one drives more *trials* — not just which one gets more clicks.

## Steps (outline — full version coming)[​](#steps-outline--full-version-coming "Direct link to Steps (outline — full version coming)")

### 1. Serve each variant based on a URL param[​](#1-serve-each-variant-based-on-a-url-param "Direct link to 1. Serve each variant based on a URL param")

* On your landing page, read `?ab=` from the URL.
* If `ab=fox`, show variant A. If `ab=owl`, show variant B. If neither, random-assign.

### 2. Link campaigns to each variant[​](#2-link-campaigns-to-each-variant "Direct link to 2. Link campaigns to each variant")

* In your Twitter post: `https://example.com/?ab=fox`
* In your LinkedIn post: `https://example.com/?ab=owl`

### 3. FunnelFizz auto-captures the variant[​](#3-funnelfizz-auto-captures-the-variant "Direct link to 3. FunnelFizz auto-captures the variant")

* The tracking script records `?ab=` values as `abVariant` on every event from that visitor.
* No extra config needed.

### 4. Split the funnel by variant[​](#4-split-the-funnel-by-variant "Direct link to 4. Split the funnel by variant")

* Between AWARENESS and CONSIDERATION, add two splits:

  <!-- -->

  * `ab = fox` → branch "Fox variant"
  * `ab = owl` → branch "Owl variant"

* Each branch now shows full-funnel conversion rate.

### 5. Wait for statistical significance[​](#5-wait-for-statistical-significance "Direct link to 5. Wait for statistical significance")

* You need meaningful volume per branch. Rough rule: \~100 conversions per variant minimum.
* Watch the conversion rates. If one is materially higher after enough volume, that's your winner.

***

*Full write-up with statistical-significance calculator coming soon.*

**Related:**

* [Features → Splitting (A/B variant)](https://docs.funnelfizz.com/features/splitting.md#ab-variant)
* [Tutorials → Email drip campaign basics](https://docs.funnelfizz.com/tutorials/email-drip-campaign-basics.md)
