marketing funnel analysis tutorial: step by step
most solopreneurs talk about “the funnel” without ever measuring it. they know they get traffic, they know they have signups, they know they have paying customers. they cannot tell you the percent that converts at each step, and they definitely cannot tell you which step is the one bleeding money. without that, every marketing dollar feels like a guess.
a real funnel analysis takes one afternoon. you list the steps a stranger walks through to become a customer, you count people at each step, you calculate the drop-off rate between each, and you find the worst conversion in the chain. that single number is the highest-leverage thing in your marketing. fixing it doubles your output without adding spend.
this tutorial walks the entire process with a realistic 14-row sample dataset of weekly traffic and conversions. by the end, you will have a complete funnel calculation, a step-by-step drop-off chart, and a clear answer about what to fix next. no Mixpanel, no Amplitude, just Sheets and 25 minutes.
the sample dataset
below is the dataset we will use. paste into Google Sheets, save as funnel-analysis-2026, and follow along.
| week | landing_visits | signups | activated | trial_started | paid |
|---|---|---|---|---|---|
| 2026-01-06 | 4200 | 168 | 84 | 50 | 12 |
| 2026-01-13 | 4500 | 180 | 92 | 56 | 14 |
| 2026-01-20 | 4100 | 165 | 80 | 48 | 11 |
| 2026-01-27 | 4800 | 198 | 99 | 60 | 15 |
| 2026-02-03 | 5100 | 211 | 109 | 65 | 17 |
| 2026-02-10 | 5300 | 220 | 113 | 68 | 16 |
| 2026-02-17 | 5500 | 230 | 118 | 70 | 18 |
| 2026-02-24 | 5700 | 245 | 125 | 75 | 19 |
| 2026-03-03 | 5800 | 250 | 130 | 78 | 20 |
| 2026-03-10 | 6100 | 264 | 138 | 82 | 22 |
| 2026-03-17 | 6300 | 276 | 145 | 87 | 23 |
| 2026-03-24 | 6500 | 285 | 150 | 90 | 24 |
| 2026-03-31 | 6700 | 295 | 156 | 94 | 25 |
| 2026-04-07 | 6900 | 305 | 162 | 98 | 26 |
a marketing funnel analysis is a stage-by-stage count of how many people pass each step from first visit to paying customer, plus the conversion rate between each pair. the standard solopreneur build is five stages: visit, signup, activated, trial started, paid. healthy SaaS funnels show 3-5% visit-to-paid, with the largest drop usually between signup and activation. the analysis takes 25 minutes in Sheets and consistently surfaces a single fix worth a 30-50% lift before any new marketing spend.
step 1: define your stages
every funnel has the same shape: stranger to customer. the steps in between are product-specific.
the canonical 5-stage funnel
| stage | what counts |
|---|---|
| visit | unique landing page sessions |
| signup | account created with email |
| activated | completed first value action (uploaded file, sent invoice, etc.) |
| trial_started | started a paid trial |
| paid | first successful charge |
your version may look different. an ecommerce store might use visit → product view → add to cart → checkout → paid. a coaching business might use visit → discovery call booked → call held → proposal sent → signed. the math is identical.
common mistake: most solopreneurs collapse signup and activation into one number. that hides the single most common funnel killer, where 60% of signups never come back. break them apart.
step 2: build the conversion rate columns
in our sample, columns B through F hold raw counts. add columns G through J for stage-to-stage conversion rates.
column G: signup_rate
formula in G2:
=C2/B2
format as percentage. expected output for week 1: 4.0% (168/4200).
column H: activation_rate
formula in H2:
=D2/C2
expected output for week 1: 50.0% (84/168).
column I: trial_rate
formula in I2:
=E2/D2
expected output for week 1: 59.5% (50/84).
column J: paid_rate
formula in J2:
=F2/E2
expected output for week 1: 24.0% (12/50).
drag all four formulas down to row 15.
step 3: calculate end-to-end and average rates
below the data table, build a summary block.
overall visit-to-paid
formula:
=SUM(F2:F15)/SUM(B2:B15)
expected output: 0.39% (253/74600 across 14 weeks).
that is your headline conversion. for context, healthy SaaS funnels run 1-3%. ecommerce funnels run 1-4% (Shopify benchmark). this funnel is well below benchmark and that is your starting point.
stage averages
| stage transition | formula | expected |
|---|---|---|
| visit → signup | =AVERAGE(G2:G15) |
4.2% |
| signup → activated | =AVERAGE(H2:H15) |
50.4% |
| activated → trial | =AVERAGE(I2:I15) |
59.8% |
| trial → paid | =AVERAGE(J2:J15) |
25.0% |
now compare each stage to its own benchmark.
| stage | benchmark | this funnel | gap |
|---|---|---|---|
| visit → signup | 2-5% | 4.2% | healthy |
| signup → activated | 60-80% | 50.4% | weak |
| activated → trial | 40-60% | 59.8% | healthy |
| trial → paid | 20-30% | 25.0% | healthy |
three stages are healthy. one stage is weak. the weak stage is your fix.
step 4: find the leakiest step
the leakiest step is the stage with the largest gap between current rate and benchmark, weighted by upstream volume.
build this calculation in a small table:
| stage | current | benchmark midpoint | gap | upstream_volume | leakage |
|---|---|---|---|---|---|
| visit → signup | 4.2% | 3.5% | -0.7% | 74600 | 0 (above benchmark) |
| signup → activated | 50.4% | 70.0% | 19.6% | 3092 | 606 missed activations |
| activated → trial | 59.8% | 50.0% | -9.8% | 1601 | 0 (above benchmark) |
| trial → paid | 25.0% | 25.0% | 0.0% | 1011 | 0 |
the signup-to-activation gap costs you 606 activated users across the 14-week window. at a 25% trial-to-paid conversion, that is 152 missed customers. at a $30/month average, that is $4,560 in monthly recurring revenue you left on the table.
if you fix activation by even half of the gap, you recover $2,280 MRR/month with zero new spend.
step 5: visualize the drop-off
build the funnel chart by hand. in a fresh tab, paste this layout:
| stage | total_count | retention_pct |
|---|---|---|
| visit | 74600 | 100.0% |
| signup | 3092 | 4.1% |
| activated | 1601 | 2.1% |
| trial_started | 1011 | 1.4% |
| paid | 253 | 0.3% |
select stage and total_count → Insert → Chart → bar chart, sorted descending. label as “weekly funnel, jan-april 2026.”
the bar chart visually screams the obvious truth: the gap between visits and signups is normal SaaS attrition. the gap between signup and activated is where your money is dying.
step 6: cohort the funnel by source
if you can split visits by source (organic vs paid vs referral), repeat the funnel for each. add three columns and segment.
| source | visits | signups | paid | visit-to-paid |
|---|---|---|---|---|
| organic | 32000 | 1700 | 142 | 0.44% |
| paid | 22600 | 800 | 65 | 0.29% |
| referral | 20000 | 592 | 46 | 0.23% |
organic converts 1.5x better than paid. that means your paid acquisition is bringing lower-intent visitors, OR your paid landing page does not match the ad. either way, the fix is in the paid funnel, not the product.
splitting funnels by source consistently surfaces invisible problems that the aggregated view hides.
step 7: simulate the impact of fixes
build a simple impact calculator.
| variable | current | after_fix | impact |
|---|---|---|---|
| weekly visits | 5300 | 5300 | no change |
| signup rate | 4.2% | 4.2% | no change |
| activation rate | 50% | 65% | +30% |
| trial rate | 60% | 60% | no change |
| paid rate | 25% | 25% | no change |
| weekly paid | 16.7 | 21.7 | +5/week |
| monthly MRR added | $645/mo |
formula for paid: =B2*B3*B4*B5*B6. change activation rate from 50% to 65% and the model recalculates. this is the dashboard that sets the priority order for product work.
comparing funnel benchmarks across business types
| business type | typical visit-to-paid | typical leakiest stage |
|---|---|---|
| SaaS (self-serve) | 1-3% | signup to activation |
| ecommerce | 1-4% | cart to checkout |
| coaching/services | 2-8% | discovery call to proposal |
| local service | 5-15% | inquiry to booked |
| info products | 0.5-2% | landing page to email signup |
different funnels have different villains. SaaS dies at activation. ecommerce dies in the cart. coaching dies in the proposal stage. know yours.
our analyzing customer support tickets in Excel tutorial applies the same pivot pattern to support data, and our building a sales tracker in Google Sheets shows the same workflow for closed-won deal pipelines. for top-of-funnel, our GA4 for non-marketers guide covers the source-tracking layer this funnel depends on.
frequently asked questions
what tool should I use for funnel analysis?
Sheets works for under 50,000 monthly visits. above that, GA4 funnel reports or Mixpanel free tier are easier. our Mixpanel free tier tutorial covers that setup.
how often should I run this?
monthly for steady-state, weekly during a release. the work after the first setup is 5 minutes per refresh.
how many weeks of data before the analysis is meaningful?
minimum 4 weeks for SaaS, 2 weeks for ecommerce, 8 weeks for B2B services. anything less and you are reading noise.
what counts as activation?
the first action that predicts long-term retention. for invoicing software, sending the first invoice. for project tools, inviting the first teammate. for email tools, sending the first campaign. find this by comparing the actions taken by users who stayed 90 days vs users who churned.
should I track time-to-activation?
yes. add a column for median minutes from signup to first value action. healthy SaaS aims for under 10 minutes. above 30 minutes is a flag.
conclusion: find the leak this afternoon
a funnel analysis is one of those workflows where the answer is almost always already in your data. you just have not looked at it in this shape. paste the last 90 days of weekly counts into the schema above, calculate the four conversion rates, and compare each to its benchmark. the leakiest stage is your roadmap for the next 30 days.
start this afternoon. one tab, four formulas, two charts. you will surface the highest-leverage fix in your marketing inside 25 minutes.
for next steps, our customer churn analysis tutorial covers what happens after they pay, and our SaaS metrics founders must track guide connects funnel metrics to retention math. fix the leak, then measure the lift.