Conversion & funnel optimisation
How to set CRO goals and KPIs. Most tests won't win. Plan for that.
The short answer. A goal is a threshold, not a wish.
A CRO KPI is only useful if it was set before the test ran, not read off the result afterwards. That sounds obvious and gets broken constantly: a team launches a test with a vague aim, "improve sign-ups", watches the number move a little, and then decides after the fact whether that movement counts as a win. A real goal fixes four things in advance: the one metric the test is judged against, a second guardrail metric it must not damage, how large a lift would actually matter, and how long the test needs to run before the result can be trusted.
The reason this discipline matters more in CRO than it looks like it should is that most tests don't win. Kohavi and colleagues' published research on Microsoft's own experimentation programme found that only around one in three tested ideas actually improved the metric they were designed to move; a comparable share came back flat, and the rest moved the metric in the wrong direction. A goal-setting process built on the assumption that most tests will succeed sets a programme up to look like it's failing within a quarter, even when it's behaving exactly like a normal, healthy testing programme.
How it works in practice. Four decisions before the test launches.
| Decision | Set it by | Why it has to come first |
|---|---|---|
| Primary metric | Naming the one number the test is judged against | A test with two primary metrics lets the team pick the flattering one after the fact |
| Guardrail metric | Naming a second metric the test must not damage | Stops a narrow win, like a sign-up rate, masking a wider loss, like trial quality |
| Lift threshold | Deciding the smallest change worth acting on | A statistically real 0.3% lift can still be commercially not worth the engineering cost of shipping it |
| Sample size and duration | Calculating the run length on current traffic before launch | Stopping a test early at the first promising signal is the single most common way a "winning" test fails to repeat |
The primary and guardrail metrics are the pairing that does most of the work. A checkout test aimed at completion rate might carry average order value as its guardrail, so a version that nudges more people through checkout by stripping out an upsell step doesn't get called a win while it quietly reduces revenue per order. A trial sign-up test aimed at form completion might carry trial-to-paid conversion as its guardrail, because a simpler form can lift sign-ups while pulling in people who were never going to convert to paid in the first place.
What good looks like. Programme KPIs that survive a bad quarter.
At the programme level, rather than the single-test level, two numbers do most of the reporting work: win rate, the share of tests that validate against their primary and guardrail metrics together, and cumulative validated lift, the combined effect of the tests that won, tracked over a quarter rather than celebrated test by test. A programme reporting a 20-25% win rate alongside steady cumulative lift is behaving normally by the standards of published experimentation research; a programme reporting 70% of tests winning is more likely under-powering its tests or calling marginal, noisy results wins than it is genuinely beating the odds.
Good CRO KPI reporting also separates the test-level goal from the programme-level one explicitly, because conflating them is where most CRO reporting goes wrong. A single test "failing" to hit its lift threshold is normal, expected, and not itself a programme problem. A programme whose win rate and cumulative lift are both declining over several quarters is a genuine problem worth investigating, usually in test quality or traffic allocation rather than in any individual test's bad luck. Our guide to what counts as a good conversion rate covers the baseline benchmark side of this; this piece is specifically about the goal-setting process that sits above any single benchmark number.
Setting the goal by test type. The threshold changes with what's being tested.
The right lift threshold and guardrail pairing isn't the same for every test, and treating them as if they were is a quiet source of bad goal-setting. A pricing page test, a checkout test and a top-of-funnel landing page test each carry different stakes, different traffic volumes, and different ways a narrow win can hide a wider loss.
| Test type | Typical primary metric | Guardrail worth pairing with it |
|---|---|---|
| Pricing page | Plan sign-up or checkout-start rate | Average revenue per sign-up; a cheaper-looking layout can lift clicks while shifting the mix toward lower-value plans |
| Checkout flow | Checkout completion rate | Average order value and refund rate, since stripping friction can also strip the upsell step that funded the margin |
| Landing or top-of-funnel page | Lead or trial sign-up rate | Lead-to-opportunity or trial-to-paid rate, since the easiest lift here is usually a lower qualification bar, not a better page |
Because these tests tend to run on different traffic volumes too, the sample size and duration decision isn't a fixed number of days; it's a calculation against the actual traffic each page gets and the baseline conversion rate it's starting from. A checkout flow with high volume might reach a reliable read in a week; a pricing page with a smaller, more considered buyer journey often needs several weeks, and setting the same two-week window for both is how a pricing test gets called early on a sample too small to trust.
A practitioner's scenario. The KPI that hid the real loss.
A SaaS team I worked with, illustrative rather than a named client, had one CRO KPI: trial sign-up rate. A pricing page redesign lifted that number by a genuinely significant margin, and the test was reported internally as a clear win. No guardrail metric had been set, so nobody was watching trial-to-paid conversion until the next monthly revenue review, three weeks later, showed paid conversions quietly falling even as trial volume climbed. The redesign had simplified the page by removing a qualifying question about company size, which had been filtering out buyers who were never a fit for the product; more trials started, but a larger share of them were never going to convert. The sign-up KPI had reported a win the whole time the guardrail, had one existed, would have flagged a loss.
The fix was specific rather than a programme overhaul: reintroduce the qualifying question in a lighter form, and add trial-to-paid conversion as a mandatory guardrail metric on every top-of-funnel test from that point on. The decision rule it left behind: any metric that can be improved by making the page ask for less information needs a guardrail that catches what that missing information was actually filtering for. It also changed how the team reported test results afterwards: every top-of-funnel test readout from then on carried both numbers side by side, the primary metric and its guardrail, in the same line of the scorecard, rather than the guardrail living in a separate monthly report that nobody cross-referenced against the test log until the damage had already compounded for weeks.
Pitfalls to avoid. Where CRO goals and KPIs go wrong.
- Setting the lift threshold after seeing the result. Deciding what counts as a win once the number is already visible turns goal-setting into storytelling.
- No guardrail metric on tests that touch qualification or friction. Removing a form field, a question, or a step tends to lift the primary metric and quietly change who gets through, which only a guardrail will catch.
- Judging the programme by single-test win rate expectations that are too high. A programme is not underperforming because most individual tests don't win; published research suggests most shouldn't.
- Stopping a test as soon as the primary metric looks good. Ending early at a promising but underpowered signal is one of the most common reasons a "winning" test doesn't repeat once it's rolled out fully.
- Re-defining the programme KPI every quarter. Win rate and cumulative lift only mean something when tracked against their own history using the same definitions; redefining them each review makes trend comparison meaningless.
None of this needs a bigger testing tool or a larger traffic allocation. It needs four decisions made in writing before a test launches, and the discipline to judge the programme on its quarterly trend rather than on any single test's result. Our conversion rate optimisation work builds exactly that structure before the first test goes live, not after the first disputed result forces the conversation.
Writing the goal down before launch also does something a verbal agreement doesn't: it gives the team a fixed point to argue against once the result comes in, rather than a moving one. A test that narrowly misses its stated lift threshold is a closed conversation, logged and moved on from, when the threshold was set in writing beforehand. The same result sparks a week of debate about whether it "really" counts as a win when the threshold only existed as a vague feeling everyone remembers slightly differently. That single habit, a one-paragraph goal document attached to every test before it launches, tends to do more for a CRO programme's credibility with the rest of the business than any individual test result ever does.
Common questions.
What are CRO KPIs, in plain terms?
The small set of numbers that tell you whether a conversion rate optimisation programme is actually working: a primary metric each test is judged against, a guardrail metric that must not get worse, and a programme-level figure, usually win rate or cumulative lift, that shows whether the whole effort is paying off over time.
How many KPIs should a CRO programme track?
One primary metric and one guardrail metric per test, plus two or three programme-level KPIs tracked over a quarter: test win rate, average validated lift, and revenue or pipeline impact. Tracking more than that at the test level usually means nobody agreed what the test was actually for.
What's a realistic win rate to set as a CRO goal?
Lower than most people expect going in. Published experimentation research, including Microsoft's own data on tested ideas, consistently finds that only a minority of tests move the metric they were built to move. A goal built on most tests winning will read as a failing programme within a quarter, even when the programme is working normally.
What's a guardrail metric and why does a CRO programme need one?
A second metric a test is not allowed to damage even while the primary metric improves, such as average order value next to a sign-up rate, or trial-to-paid quality next to a free sign-up rate. Without one, a test can report a clean win on paper while quietly making the business worse somewhere the primary metric doesn't look.
How often should CRO goals be reviewed?
Test-level goals get set once, before the test starts, and are not moved mid-test. Programme-level KPIs, win rate and cumulative lift, are worth reviewing quarterly; reviewing them monthly on typical traffic volumes usually means reacting to noise rather than to a genuine trend.
Not sure your CRO programme's KPIs would survive a bad quarter?
Send me your current test scorecard and I'll show you where the goal, not the test, is the weak point.
Let's talk ↑