Mindvalley · Funnel design & reporting

Built the funnel — and the scoreboard that told us which half of it was lying.

Three premium programmes, email that reacts to what people actually do, and reporting that followed every step from ad click to money in the bank.

What they sellCoaching certifications
Ticket price$3,299 – $4,299
Metrics tracked90+
Data sources6
Programmes3

Context

Mindvalley's certification programmes sell at $3,299–$4,299, with a $200 refundable deposit as the entry point and six-month payment plans as the dominant purchase method. Buyers arrive through a masterclass webinar, and the decision cycle runs weeks.

That combination breaks conventional funnel reporting in three ways: the conversion event isn't the sale, the revenue booked isn't the revenue received, and the money arrives months after the ad spend that produced it.

I designed the funnel architecture across all three programmes and built the reporting layer underneath it.

Part 1 — Funnel architecture

The problem

A single masterclass funnel treats every registrant identically. In reality a registrant splits at the first click into people who watch immediately and people who intend to watch later, and those two groups behave completely differently — different show-up rates, different intent, different reasons for dropping.

Beyond that, attendees fracture again: some see the offer, some leave before it, some never show. Sending all of them the same follow-up wastes the highest-intent segment and annoys the lowest.

What I built

A branching funnel with distinct paths for every intent state, from ad click through to balance payment.

Funnel architecture across Certified Life Coach, Hypnotherapist and Business Coach
Funnel architecture across Certified Life Coach, Hypnotherapist and Business Coach

The structure splits at opt-in into Watch Now and Watch Later, then routes Watch Later registrants through a thank-you page into a wait page, a late page, or a missed-masterclass path depending on when they return. All paths converge on the deposit decision, which then branches again: deposit takers go to an application and a higher-priced balance ($4,299 single or $809 × 6), while non-takers go to a direct sales page at a lower price point ($3,299 single or $649 × 6). Retargeting runs against the full lead pool in parallel and feeds the sales page directly.

The two-price structure is the part worth noticing. The application path carries a premium because the commitment signal is stronger; the direct path is priced to convert people who didn't deposit at the moment of highest intent. One funnel, two commercial routes.

The email layer

Email sequence flow mapped to funnel state
Email sequence flow mapped to funnel state

Every branch in the funnel has a matching email sequence, triggered by behaviour rather than time. A registrant enters the All Registrants sequence at opt-in, and then receives additional sequences based on what they actually did: Show Up, No Show, Left Early, or Saw Dropdown.

Post-masterclass email matrix by attendee state
Post-masterclass email matrix by attendee state

The post-masterclass matrix runs four parallel tracks:

SegmentSequence
Saw Dropdown (reached the offer)Product announcement → Replay
Left Early (attended, missed the offer)Product announcement → Replay
No ShowReplay → Replay with scarcity
All RegistrantsProduct announcement → Offer → Future pacing → Case studies → FAQ → Scarcity (48h) → Last call

Someone who reached the offer and someone who never showed up receive materially different messages, because they have materially different objections. The seven-email All Registrants track carries the full argument; the state-specific tracks carry only what that state needs.

Part 2 — The reporting system

The problem

Three measurement failures had to be solved simultaneously:

The conversion event isn't the sale. A $200 deposit is a strong intent signal but not revenue. Deposits get refunded, and deposit-to-sale conversion takes weeks. Optimising to deposits alone overstates performance; waiting for sales means acting on data that's a month stale.

Booked revenue isn't received revenue. Most buyers take a six-month payment plan. A payment plan booked at full value and one collected in full are different numbers, and the gap is the plan's attrition rate.

Every stage of the funnel needed its own economics. With a funnel this branched, "cost per lead" is meaningless on its own. A lead from the Watch Now path and a lead from the Watch Later path have different downstream values.

What I built

A daily reporting system tracking 90+ metrics across eight sections, pulling from GA4, Looker Studio, Clarisights, Meta Ads Manager, Mindvalley's webinar platform, and Zuora billing.

Four definitions of revenue, reported side by side.

DefinitionWhat it measures
ProjectedFull contract value of everything sold
TrueProjected × 0.605 — discounted for payment plan attrition
ActualWhat was actually booked
Cash in bankWhat was actually collected

The 0.605 multiplier is the core of it. Every payment-plan sale was written down to its realistic collected value rather than its contract value, and every efficiency metric downstream was computed on that number rather than the flattering one. ROAS was reported four ways — projected ROAS, true ROAS against a 150% goal, cash TROAS, and a seven-day rolling true ROAS for daily decisions.

Value per stage, not just cost per stage. Every funnel step carried both a cost and a value metric, each computed on true revenue and each with a published benchmark:

MetricBenchmark
Value per click$0.39
Value per lead$2.61
Value per attendee$8.55
ROAS (projected)240%
True ROAS150%

Knowing an attendee costs $122 is useless without knowing an attendee is worth $107. Reported together, they say the funnel is underwater at that stage today — which is a decision, not a datapoint.

Full-funnel granularity. Every branch had its own conversion tracking: Watch Now versus Watch Later opt-in split and show-up rates measured separately, dropdown page, replay page and sales page each with their own deposit conversion rate, and saw-offer percentage tracked against attendance.

Refunds and deposit-to-sale lag, tracked explicitly. Deposits, refunds, net deposits, refund rate, deposit-to-sale ratio, and deposits not yet converted were all separate lines. In one cohort the system showed 51 deposits against 21 refunds — a 41% refund rate that a deposit-only dashboard would have reported as clean performance. Deposit-to-sale conversion was measured on a rolling lag basis so the ratio could be applied to open deposits rather than waiting for them to close.

Cohort pacing forecast. Given a target cohort size, the model calculated current run rate, deposit-to-sale conversion, sales and deposits still needed, days required at current pace, and the projected date the cohort would fill. That turns "are we behind?" into a date, which is the only version of that question a stakeholder can act on.

Cohort-over-cohort comparison. Nine cohorts tracked side by side on identical metrics — spend, deposits, sales, revenue by definition, ROAS, TROAS, cash collected, and cash-to-ad-spend ratio — so seasonal and structural changes were visible rather than inferred.

Attendee-level data joined to test variant. Registrant records carried their control or variant tag alongside their funnel status. That's the join that let landing page tests be evaluated on deposits and revenue instead of opt-in rate — the thing that made the experimentation programme worth running.

What this system made possible

The reporting layer is what turned A/B testing from a landing page exercise into a revenue exercise. Because every test variant could be traced through to deposits, refunds and cash, tests that looked like wins on opt-in rate could be checked against what they were actually worth — and tests that looked flat at the top could be caught when they moved money at the bottom.

It also made the funnel's leaks visible as specific, addressable numbers rather than a general sense that things could be better. A show-up rate broken out by Watch Now versus Watch Later, or a replay page deposit conversion that could be compared against the dropdown page, points directly at what to test next.

What I'd do next

What this demonstrates

← All case studies Next: Product School →
Your turn

Want to know what your funnel is leaking?

Send me your site and what you're spending. I'll come back with what I'd fix first — free, no pitch.