Most marketing dashboards are a wall of numbers with no order to them. Impressions sit next to conversion ratio sit next to LTV, all on the same row, as if they answer the same question. They don’t.
Every metric belongs to a stage of the customer’s journey, and it only tells you something useful when you read it in that context. A high click-through rate means nothing if nobody converts once they land. A low cost per lead means nothing if those leads never turn into revenue. Judged alone, metrics flatter or alarm you for the wrong reasons. Judged by stage, they tell you exactly where a campaign is working and where it is leaking.
Organizes the metrics into four stages a customer moves through, before the ad is clicked, while they engage with your website or app, when they transact, and after, if they come back, gives enormous clarity. Once you can place a number in its stage, you stop asking “is this good?” in isolation and start asking the more useful question: is this stage doing its job, so the next one has a fair chance?
This structure builds directly on our self-benchmarking principle that metrics should be read against your own baseline, and not an industry average. Journey stage is the map; self-benchmarking is how you read the terrain.
Stage 1: Before the click
This stage answers one question. Is the ad/content reaching the right people, at a sane cost, in a way that earns attention?
Impressions count how many times your ad was shown. Reach counts how many distinct people saw it. The two diverge when a small audience is shown the same ad repeatedly. High impressions with flat reach usually means frequency has crept up and the audience is being fatigued rather than expanded.
CPM (cost per thousand impressions) tells you what visibility costs on a given channel or placement. CPC (cost per click) tells you what attention costs once someone actually engages. A channel can have a cheap CPM and an expensive CPC if the ad is being shown widely but earning few clicks when the audience is seeing it, but not responding to it.
CTR (click-through rate) is the bridge metric of this stage: the share of people who saw the ad and clicked. It is the first honest signal of relevance. A low CTR with a low CPM might still be an efficient buy in absolute terms, but it tells you the creative or targeting isn’t resonating and no downstream metric can fix that upstream problem.
What this stage cannot tell you: whether the people clicking are the right people. A campaign can post an excellent CTR by attracting curiosity clicks from an audience that was never going to buy. That question belongs to the next stage.
Stage 2: Engagement within your website or app
The click has happened. Spend has been committed. This stage asks whether the person who arrived actually engaged with what they found.
Sessions and users establish volume, how many visits, from how many distinct people. Bounce rate shows how many left without any meaningful interaction. Average session duration, scroll depth and pages per session indicate depth of engagement once someone stays.
The metric most businesses never track here is Clicks-to-Sessions. It is the ratio of ad clicks recorded by your ad platform to sessions actually recorded on your website or app. In a clean setup, these numbers should be close. In practice, they rarely are. The gap between a click and a session is where advertising spend quietly leaks away, and almost nobody measures it. Causes include:
- Redirect chains and slow page loads that cause people to abandon before the page registers a session
- Tracking or attribution mismatches between the ad platform and your analytics tool
- Bot traffic and invalid clicks that ad platforms report as clicks but that never reach a real page
- App deep-link failures that drop a tapped ad into a browser or app store instead of the intended screen
If your ad platform reports 10,000 clicks and your analytics tool shows 7,000 sessions, you are paying for 3,000 clicks that never had a chance to convert. That is a 30% spend leakage before engagement even begins. Most agencies report CTR at the top of the funnel and conversion ratio at the bottom, and never check whether the two numbers are even describing the same population of people. Clicks-to-Sessions closes that gap. It deserves its own line on every dashboard, not a footnote.
Stage 3: Transactions within your website or app
This is where intent turns into an outcome. A lead form, an app event, a purchase, a booking. The stage answers: of the people who engaged, how many actually did the thing you wanted?
Leads, app events, and transactions are the raw counts. Conversion ratio expresses that count as a share of the engaged audience, and is the cleanest quality signal in this stage. It tells you whether the traffic you engaged was worth engaging.
CPL (cost per lead) and CAC (customer acquisition cost) translate that outcome back into cost terms. The distinction matters: CPL measures the cost of generating interest, CAC measures the cost of generating a paying customer. A business with a strong sales process can tolerate a higher CPL if its lead-to-customer conversion is strong; a business with a weak sales process needs a low CPL to compensate. Reading one without the other misattributes the problem.
ROAS (return on ad spend) closes the loop on revenue-generating transactions, expressing outcome directly against spend. It is the metric most founders check first and the one most misleading to check alone, because it says nothing about whether that return is repeatable or one-off.
What this stage measures for a lead-generation business, an e-commerce or D2C business, and an app-based business differs meaningfully in what counts as a “transaction”, the metrics named here apply across all three, but the definitions and benchmarks attached to them do not transfer directly between business models.
Stage 4: Loyalty – LTV and repeats
Most funnels stop measuring at the transaction. That is a mistake, because a single transaction rarely tells you whether the acquisition spend was worth it.
Repeat rate measures how many customers return for a second transaction, and how quickly. LTV (lifetime value) projects the total revenue a customer is expected to generate over the relationship, not just the first sale. Retention measures how many customers remain active over a defined period rather than churning after one interaction.
This stage reframes every number in the three stages before it. A CAC that looks expensive in isolation can be entirely justified if LTV is high and retention is strong, you are simply paying more up front for a customer worth more over time. The reverse is also true: a cheap CAC funding a business with poor retention is not efficient, it is a leaky bucket refilled quickly. This is precisely the distinction that separates install-volume thinking from retention-optimized thinking in app-based businesses. Cheap acquisition without retention is not growth, it’s churn with extra steps.
Reading the stages together
The value of this framework is not in any single stage. It’s in what happens when you compare stages against each other.
- Strong CTR, weak conversion ratio: the ad is earning clicks the landing experience can’t convert. The creative promises something the page doesn’t deliver.
- Low CPM, high Clicks-to-Sessions gap: the buy looks efficient on the ad platform, but a meaningful share of that spend never reaches a real visitor.
- Low CAC, weak LTV: acquisition is cheap, but the business is optimizing for volume over durable customers.
- High conversion ratio, weak repeat rate: the offer converts once but doesn’t build a reason to return.
None of these patterns are visible if you only look at one stage. They only surface when you place a metric next to its neighbor at the next stage and ask whether one is actually causing the other.
A case study on marketing metrics
A D2C client came to us convinced their paid social campaigns were underperforming. Their ROAS on Meta had fallen over two consecutive months, and their instinct was to increase budget on the channels showing the best ROAS and cut the rest, a decision made entirely from Stage 3 data.
Before making that call, we mapped the funnel stage by stage. Stage 1 was healthy: CTR was stable, CPC hadn’t moved. Stage 2 told a different story. Clicks-to-Sessions had dropped sharply over the same period, the ad platform was reporting roughly the same click volume, but a growing share of those clicks never resulted in a recorded session. A recent site migration had introduced an extra redirect step on mobile, adding load time that was costing sessions before anyone reached the product page.
The ROAS decline wasn’t a targeting problem or a creative fatigue problem, it was a Stage 2 leak masquerading as a Stage 3 result. Fixing the redirect chain recovered the missing sessions within days, and ROAS returned to its prior range without any change to targeting, creative, or budget. Reading metrics by stage, rather than reacting to the outcome metric alone, found the actual point of failure instead of masking it with more spend.
Track your own stages, not the industry’s
None of the benchmarks in this article are meant to be read as “good” or “bad” numbers to chase. What counts as a healthy CTR, Clicks-to-Sessions ratio, or CAC varies by channel, industry, and business model, which is exactly why we’ve argued that the right comparison is never against an industry average, but against your own baseline at each stage, tracked consistently and improved over time.
Once you know which stage a metric belongs to, the next step is deciding what a healthy range looks like for your business specifically, and building the discipline to track it stage by stage rather than outcome by outcome.
Mapping metrics to the wrong stage or not mapping them at all is one of the most common reasons marketing spend looks inefficient when the real problem is one broken link in the chain. At 8 Spades, we build measurement frameworks stage by stage before we touch a media plan, so that when a number moves, you know exactly where to look. If your funnel’s numbers aren’t adding up, get in touch and we’ll help you find out why.