The Marketing Funnel
Hundreds of people may see a post about a cricket academy, but only a few will visit the ground, and fewer still will pay the fees. That narrowing path, from many strangers to a few customers, is called the marketing funnel.
In this lesson you will learn the stages of the funnel, what content fits each stage, why real customers do not move in a straight line, and how to calculate where your funnel leaks.
The stages of the funnel
A funnel is wide at the top and narrow at the bottom. Each stage holds fewer people than the one before.
| Stage | The customer is thinking | Example for a cricket academy in Lucknow |
|---|---|---|
| Awareness | "I have a need" or "I just saw this" | A parent sees a reel of children practising in the nets |
| Consideration | "Which option is right for me?" | The parent compares three academies, reads reviews, checks fees and timings |
| Conversion | "I will try this" | The parent books a free trial session or pays for the first month |
| Retention | "Should I continue?" | The child enjoys the coaching and the parent renews |
| Advocacy | "You should try this too" | The parent recommends the academy in the society WhatsApp group |
Marketers often shorten the first three to TOFU, MOFU and BOFU: top, middle and bottom of the funnel. You will see these words in job descriptions and agency reports.
Match the message to the stage
The most common funnel mistake is sending a bottom-of-funnel message ("Pay now!") to a top-of-funnel stranger. Each stage needs different content.
- Awareness: short videos, helpful posts, search-friendly articles that answer early questions such as "right age to start cricket coaching".
- Consideration: comparison pages, fee and timing details, coach profiles, reviews, a clear FAQ section.
- Conversion: a simple booking form, a WhatsApp button, a clear price, a free trial offer.
- Retention: progress reports, reminders before renewal, a monthly newsletter to people who opted in.
- Advocacy: asking happy customers for an honest review, a referral scheme that follows platform rules.
Real journeys are not straight lines
A funnel is a simplification. A real parent may see a reel, forget it, search on Google two weeks later, read Google reviews, watch a YouTube video, then message on WhatsApp. They jump between stages and channels. That is why you measure each step instead of guessing, and why tracking links (covered in UTM Parameters) matter.
Calculating funnel conversion rates
A conversion rate is the share of people who move from one step to the next:
conversion rate (%) = people who reached the next step / people at this step × 100Here are one month's example numbers for the academy. Python calculates the rate for every step and points out the weakest one.
funnel = [
("Saw the ad", 12000),
("Clicked to the website", 360),
("Sent an enquiry", 45),
("Booked a trial", 18),
("Joined the academy", 9),
]
weakest = None
for (step, count), (next_step, next_count) in zip(funnel, funnel[1:]):
rate = next_count / count * 100
print(f"{step} -> {next_step}: {rate:.1f}%")
if weakest is None or rate < weakest[1]:
weakest = (f"{step} -> {next_step}", rate)
overall = funnel[-1][1] / funnel[0][1] * 100
print(f"Overall: {overall:.3f}% of people who saw the ad joined")
print("Weakest step:", weakest[0])Saw the ad -> Clicked to the website: 3.0% Clicked to the website -> Sent an enquiry: 12.5% Sent an enquiry -> Booked a trial: 40.0% Booked a trial -> Joined the academy: 50.0% Overall: 0.075% of people who saw the ad joined Weakest step: Saw the ad -> Clicked to the website
Be careful when you read this. The first step is always the smallest percentage, because most people who see any ad scroll past. Comparing a step with the same step last month, or with another campaign, tells you more than comparing different steps with each other.
Which fix helps most?
Suppose Rohan, the academy owner, can improve one thing this month. Should he improve the website so more visitors enquire, or improve follow-up so more enquiries book a trial? A quick "what if" shows the effect on final sign-ups.
def joined(clicks, enquiry_rate, trial_rate, join_rate):
return clicks * enquiry_rate * trial_rate * join_rate
base = joined(360, 0.125, 0.40, 0.50)
better_site = joined(360, 0.15, 0.40, 0.50) # website improved: 12.5% -> 15%
better_follow_up = joined(360, 0.125, 0.50, 0.50) # quicker replies: 40% -> 50%
print(f"Now: {base:.1f} new students")
print(f"Better website: {better_site:.1f}")
print(f"Better follow-up: {better_follow_up:.1f}")Now: 9.0 new students Better website: 10.8 Better follow-up: 11.2
With these example numbers, faster replies to enquiries add slightly more students than a website change, and they cost nothing but attention. Small businesses often lose more customers in slow follow-up than in advertising.
Advanced: the value of retention
Retention is part of the funnel too. If a student pays ₹1,500 a month and stays for an average of 8 months, each new student brings about ₹12,000 over time. This idea is called customer lifetime value (CLV). A higher CLV means you can afford to spend more to win each customer, which you will use in Planning a Campaign Budget.
Common mistakes
- Only running "buy now" messages. Strangers need awareness and trust before they act.
- Ignoring the bottom of the funnel. Many enquiries are lost to slow replies, unclear prices or a broken form.
- Comparing different steps directly. A 3% ad click rate and a 50% trial join rate measure different things.
- Forgetting existing customers. Renewals and referrals are often the cheapest growth.
Key points
- The funnel stages are awareness, consideration, conversion, retention and advocacy (TOFU, MOFU, BOFU for the first three).
- Each stage needs different content and a different call to action.
- Real customer journeys loop between stages and channels.
- Conversion rate = people at the next step ÷ people at this step × 100.
- Improve the step with the biggest effect on final customers, often follow-up and retention.
Exercise
A tuition centre in Kochi had these example numbers last month: 8,000 people saw a post, 240 visited the website, 30 filled in the form, 12 attended a demo class and 6 enrolled. Write a Python program that prints the conversion rate for each step and the overall rate.
Show solution
steps = [("Saw post", 8000), ("Visited site", 240), ("Filled form", 30),
("Attended demo", 12), ("Enrolled", 6)]
for (a, x), (b, y) in zip(steps, steps[1:]):
print(f"{a} -> {b}: {y / x * 100:.1f}%")
print(f"Overall: {steps[-1][1] / steps[0][1] * 100:.3f}%")Saw post -> Visited site: 3.0% Visited site -> Filled form: 12.5% Filled form -> Attended demo: 40.0% Attended demo -> Enrolled: 50.0% Overall: 0.075%
zip(steps, steps[1:]) pairs each step with the next one, so each line compares two neighbouring stages.
Quick Quiz
1. A parent is comparing three academies and reading reviews. Which stage is this?
Comparing options and checking reviews is the consideration (middle of funnel) stage.
2. 400 people visited a page and 20 filled in the form. What is the conversion rate for that step?
20 / 400 × 100 = 5%.
3. Which content best fits the retention stage?
Retention content keeps existing customers happy and coming back.
4. Why is the first funnel step usually the lowest percentage?
Low first-step rates are normal; compare each step with the same step over time instead.
Learn Digital Marketing & SEO with a mentor
Free lessons get you started. Our Digital Marketing & SEO training adds real projects and code reviews from working developers.
- Project-based learning
- Mentor code reviews
- Free counselling call
