Copy as markdown[View .md](https://docs.funnelfizz.com/tutorials/building-a-basic-saas-funnel "View the raw markdown for this page")[Open in Claude](https://claude.ai/new?q=Read%20https%3A%2F%2Fdocs.funnelfizz.com%2Ftutorials%2Fbuilding-a-basic-saas-funnel.md%20and%20help%20me%20with%20this%20FunnelFizz%20topic%3A%20Building%20a%20basic%20SaaS%20funnel "Open this page in Claude with context")[Open in ChatGPT](https://chat.openai.com/?q=Read%20https%3A%2F%2Fdocs.funnelfizz.com%2Ftutorials%2Fbuilding-a-basic-saas-funnel.md%20and%20help%20me%20with%20this%20FunnelFizz%20topic%3A%20Building%20a%20basic%20SaaS%20funnel "Open this page in ChatGPT with context")

# Building a basic SaaS funnel

*\~20 minutes · Beginner*

The end-to-end "hello world" of FunnelFizz. By the end, you'll have a fully tracking funnel with Stripe wired up, a first email automation, and clear visibility from first click to first paid customer.

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

* You're shipping a SaaS. You have a landing page and a Stripe account.
* You've never used a dedicated funnel tool before.
* You want to measure conversion rates and maybe send a welcome email, not run a 12-step marketing ops playbook.

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

You just launched **Widgets Pro** at `widgetspro.com`. You have:

* A marketing homepage with "Sign up free" CTA.
* A Stripe product with $9/mo Hobby and $29/mo Pro tiers.
* An app at `app.widgetspro.com` where users sign up for a 14-day free trial of Hobby.

You want to know:

1. Which traffic sources actually convert.
2. What % of trialists pay.
3. Who churns in the first month.
4. Automatically send a "you're halfway through your trial" email.

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

### 1. Sign up and name your funnel (2 min)[​](#1-sign-up-and-name-your-funnel-2-min "Direct link to 1. Sign up and name your funnel (2 min)")

* [funnelfizz.com/signup](https://funnelfizz.com/signup).
* Funnel name: `Widgets Pro — Main Acquisition`.

### 2. Install tracking (3 min)[​](#2-install-tracking-3-min "Direct link to 2. Install tracking (3 min)")

* Copy snippet from onboarding.
* Paste into `<head>` of both `widgetspro.com` and `app.widgetspro.com`.
* Enable cross-subdomain cookies with `cookieDomain: '.widgetspro.com'`.
* Wait for verification to pass.

### 3. Identify users after signup (2 min)[​](#3-identify-users-after-signup-2-min "Direct link to 3. Identify users after signup (2 min)")

* In your app's post-signup handler, call:
  <!-- -->
  ```
  funnelfizz('identify', { userId: user.id, email: user.email });
  ```
* Now every future event from this user is attributed to their profile.

### 4. Connect Stripe (3 min)[​](#4-connect-stripe-3-min "Direct link to 4. Connect Stripe (3 min)")

* Create an `rk_live_...` key with the seven read scopes ([guide](https://docs.funnelfizz.com/quickstart/connect-stripe.md#1-create-the-key-in-stripe)).
* Paste into FunnelFizz.
* Map your Hobby product to the TRIAL conversion (position 1) and CUSTOMER conversion (position 2).

### 5. Add a split for traffic source (2 min)[​](#5-add-a-split-for-traffic-source-2-min "Direct link to 5. Add a split for traffic source (2 min)")

* Add a split between AWARENESS and CONSIDERATION.
* Condition: **Traffic source**. Branches: `twitter.com`, `reddit.com`, `producthunt.com`, `direct`.
* Now your canvas shows conversion rates per source.

### 6. Set up a trial welcome automation (5 min)[​](#6-set-up-a-trial-welcome-automation-5-min "Direct link to 6. Set up a trial welcome automation (5 min)")

* Open the TRIAL stage → Automations → Create.

* Trigger: `subscription_trial`.

* Steps:

  <!-- -->

  * **SEND\_EMAIL**: "Welcome to Widgets Pro." (Day 0)

  * **WAIT**: 7 days.

  * **CONDITIONAL\_SPLIT**: `profile.subscriptionStatus != "active"`.

    <!-- -->

    * True branch: **SEND\_EMAIL**: "Your trial ends in 7 days — here's how to get the most out of it."
    * False branch: END.

* Activate.

### 7. Enable extensions for upsell tracking (optional, 2 min)[​](#7-enable-extensions-for-upsell-tracking-optional-2-min "Direct link to 7. Enable extensions for upsell tracking (optional, 2 min)")

* Settings → Extensions → Anchor = Hobby tier.
* Now you'll see how many Hobby customers upgrade to Pro.

### 8. Check results after 7 days[​](#8-check-results-after-7-days "Direct link to 8. Check results after 7 days")

* Canvas shows AWARENESS / CONSIDERATION / TRIAL / CUSTOMER counts.
* Split branches show per-source conversion rates.
* Email campaigns dashboard shows open and click rates for your trial welcome.

***

*Full write-up with screenshots, edge cases, and common mistakes coming soon. If you run into anything, email **<hello@funnelfizz.com>** — your questions shape the final version.*

**Related:**

* [Tutorials → Tracking & custom events](https://docs.funnelfizz.com/tutorials/tracking-custom-events.md)
* [Tutorials → Email drip campaign basics](https://docs.funnelfizz.com/tutorials/email-drip-campaign-basics.md)
* [Tutorials → Identifying funnel gaps](https://docs.funnelfizz.com/tutorials/identifying-funnel-gaps.md)
