Founding as a Developer — Validate Before You Build
Funnels and Growth Channels — Count People, in Order
In one line
A funnel counts, in number of people, "how many of the people who signed up reached the next step in order and within a set time". And deciding which ad channel gets the credit for a paid conversion is a choice called an attribution model, and if you change the choice, the customer acquisition cost (CAC) of each channel changes. If you do not write down the definition of both, different conclusions come out of the same records.
Why this was needed
A thousand people sign up a month, but only a few dozen convert to paid. You can decide what to fix only when you know where it leaks. Can they not make a first document, do they make one and not share it, or do they share and still stop before payment? The table that answers these questions is the funnel.
But a funnel table inflates easily. If you write that there are 2,500 "share" event lines, it reads as if 2,500 people shared — one person may have shared twenty times. If you count someone who invited before sharing as having gone through "share → invite", the conversion rate between steps becomes false. If you include people who paid three months later, it becomes a different number from the question "conversion within two weeks of signup".
Channels are the same. Someone who came in through a search ad and signed up a week later through an acquaintance's referral link — which channel's customer are they? If you give the credit to the first touch, the search ad brought this person, and if you give it to the last touch, the referral did. The allocation of ad spend hangs on this single line of choice.
How it works
Number of people, order, and window. The funnel in this lab is signup → create_doc → share_doc → invite_sent → upgrade. Each step is reached by the first occurrence after the time the previous step was reached, and every step must fall within 14×24 hours of the signup time. A person is counted only once per step. Defined this way, no cell can be larger than the one before it, and the ratio between cells means "the share of people who moved on to the next step".
| Common mistake | What it inflates |
|---|---|
| Count event lines | Steps with a lot of repeated behavior get bigger — a cell can even become larger than the one before it |
| Ignore order | People who went through the steps backward get mixed in and the later cells get bigger |
| Set no window | The older the cohort, the higher its conversion looks (the observation period is simply longer) |
The cell that leaks the most. If you put the step-by-step conversion rates (next cell ÷ this cell) side by side, the lowest one shows. The lowest is not necessarily the first to fix (the cost of fixing differs), but at least it decides where to look first.
Attribution models. This is the rule that decides where to give the credit when one person converted after several touches. This lab compares two — the first touch (the channel that first made them aware of us) and the last touch (the channel right before signup). For reference, the attribution model guide of Google Analytics 4 states that the first-click, linear, time-decay, and position-based models have been no longer offered since November 2023, and now only the data-driven model and the last-click family remain. It means you must first check which model your tool uses.
CAC. In this lab, a channel's CAC is "that channel's three-month marketing cost total ÷ the number of paid converters attributed to that channel". If you change the attribution model, the denominator changes and so does the CAC. For organic search, whose cost is 0, the CAC looks like 0, but the time of the people who made the content may have been left out of the cost — what the cost table contains is also part of the definition. The amounts in the examples below are hypothetical values from this lab's materials.
A funnel definition is a product hypothesis. The order of create document → share → invite → pay carries the hypothesis that "teams that share and invite pay". If real customers are taking another path (paying directly without inviting), a funnel that enforces the order counts them as "drop-off". So if a funnel that ignores order and a funnel as defined are very different, it is also a signal to revisit the hypothesis itself, before suspecting a calculation error.
What it looks like in the field
- The marketing team calculates by first touch and the growth team by last touch, so they report the CAC of the same channel with a twofold difference. Both calculations are correct.
- A slide that says "share conversion rate 90%". The numerator was the number of share events, and the denominator was the number of people who created a document.
- The conversion of people who came in through ads is low, yet they raise the budget looking only at CAC. As you saw in the cohort module, the people from that channel do not stay long either. A judgment stands only when you lay funnel, retention, and CAC side by side per channel.
How to notice when you are wrong
- If any cell of the funnel is larger than the one before it, the calculation is wrong. Counted by people and in order, cells only ever shrink.
- If, when you split conversion rates by cohort, the older cohorts are higher, suspect that there is no window.
- Check that the total of paid converters across attribution models equals the total number of paid converters. If it differs, someone was counted twice or missed.
- If the CAC table does not state the attribution model and the cost period, do not move budget based on that table.
What you will do in the next lab
Using the "Moanote" records, you first check the difference between the number of events and the number of people, and build a funnel function that keeps the order and the 14-day window. You measure how much the numbers inflate when you ignore the order or drop the window, look at the funnel by signup channel, and then attribute paid conversions by first touch and last touch to get the CAC per channel. The grader also runs your funnel function against variant materials.