Conversion rate optimization: the formula, six steps and a worked example
Conversion rate optimization (CRO) is the work of getting a larger share of the visitors you already have to take the one action that pays you: a purchase, a booked call, a paid deposit. You measure the rate (conversions ÷ visitors × 100) and find where people drop off and why. Then you change one thing and test it. At the same ad spend, a higher rate means a lower cost per customer.

- Name the conversion.
- Measure the baseline.
- Collect what people say.
- Write the hypothesis.
- Test one change.
- Ship and check the money metrics.
The process in six steps:
What conversion rate optimization is
A conversion is the action a page exists for: a completed order in an online store, a booked appointment for a dentist, a started trial for a software company, a paid deposit for a moving company. Conversion rate optimization raises the share of visits that end in that action, using evidence about why the other visitors leave. It covers everything between the visit and the action: how the offer reads, the form, the checkout, page speed and the terms shown next to the button.
CRO works on traffic you already pay for. Ads bring the visit, and so do search and referrals. Your own pages, from the landing page to the checkout, decide whether that visit turns into a customer. Most visits end without one: HubSpot puts the all-sector website average at 1.7%1, and Baymard Institute puts average cart abandonment at 70.22%2. If you spend the same and convert more, you get more customers for the same money, so your customer acquisition cost (CAC) falls. The section on CAC and payback shows the arithmetic on the worked example.
CRO has limits. It cannot create demand that does not exist, and it cannot fix an offer people refuse at its price; it only shows you the step where they refuse. On a page with few visitors, a test takes months to read, so research does most of the work.
Three habits separate CRO from a redesign by taste:
- a measured baseline before any change;
- a written reason for each change, tied to evidence;
- a result read against the baseline, in money as well as in rate.

How to calculate conversion rate
Conversion rate (%) = conversions ÷ visitors × 100
Take an assumed month for our example: 80 paid orders from 4,000 visitors (assumption). In our example, the rate is 80 ÷ 4,000 × 100 = 2%.
The denominator decides what the number means. Sessions count every visit, so a person who returns three times counts three times; users count that person once. For the same orders, a sessions-based rate comes out lower than a users-based one. Pick one denominator for the whole test and write it down, because switching midway produces a lift that exists only in the arithmetic.
Fix the time window and the conversion too. “Conversions” means the one action you named in step 1, counted by the same rule every week.
Points and relative lift
A change in conversion rate has two readings, and reports on CRO mix them up often enough to cause bad decisions.
- Change in points = CR new − CR old.
- Relative lift (%) = (CR new − CR old) ÷ CR old × 100.
| from → to (assumed rates) | change in points | relative change |
|---|---|---|
| 2% → 3% | +1 point | +50% |
| 1.7% → 2.0% | +0.3 points | +17.6% |
| 4% → 5% | +1 point | +25% |
| 10% → 15% | +5 points | +50% |
Report both every time. “Conversion is up 1%” can mean +1 point or +1% relative, which are different results: on the 2% base in our example, +1 point is +50% relative.
Revenue per visitor
Revenue per visitor = conversion rate × average order value. It catches lifts that cost money. Assume a control page converts 2% at a $100 average order, which is $2.00 per visitor (assumption). Assume a variant with a discount banner converts 2.4% at an $80 average order: $1.92 per visitor (assumption, illustration only). In our example, the rate rose 20% relative. Revenue per visitor fell.
Customers and CAC at fixed spend
Hold spend and traffic constant and the chain is short:
- customers = visitors × conversion rate;
- CAC = spend ÷ customers;
- so CAC new = CAC old × CR old ÷ CR new.
In our example, $2,400 a month buys 4,000 visitors (assumption). In our example, at 2% you get 80 customers and a CAC of $30. In our example, at 2.5% you get 100 customers and a CAC of $24.
The same chain runs backwards from a goal. Assume you need 50 customers a month and convert 2%: you need 50 ÷ 0.02 = 2,500 visitors (assumption). In our example, at 2.5% 2,000 visitors are enough. A rate gain lowers the traffic you have to buy.
What a good conversion rate is
Whether a rate is good depends on what you count as a conversion; your traffic sources and product price shift it too. Published averages give you a range to sanity-check your own number. Each row below is one figure with its source and period.
| benchmark | rate | source and period |
|---|---|---|
| Websites, all sectors | 1.7% | HubSpot, Q3 2025 data1 |
| Ecommerce, global average | 2.68% | Dynamic Yield, rolling 12 months, read October 20263 |
| Online shopping, skincare (highest in the set) | 2.7% | HubSpot citing Statista, 20254 |
| Online shopping, luxury apparel (lowest in the set) | 0.4% | HubSpot citing Statista, 20254 |
| Landing pages, compared with other signup forms | 23% | HubSpot, guide updated March 20261 |
The last row compares types of signup forms with each other. It measures something different from a whole-site rate, so it is a poor target for a store or a quote page.
Use benchmarks only to spot a gross problem, for example a rate several times below your sector’s figure. Set targets against your own baseline: this month’s rate against previous full months, with the same denominator and the same conversion. A rising trend on your own baseline tells you more than a gap to an industry average that counts conversions differently.

Two ways to run CRO: research-led and test-led
| approach | what it needs | when it fits |
|---|---|---|
| Research-led | interviews, counted complaints, funnel data, recordings; changes shipped and read against a baseline | low traffic, an early offer, a blocker most customers name |
| Test-led | enough visits to reach a planned sample within weeks; an A/B testing tool | steady traffic and several plausible changes the team disagrees on |
A test-led team calls a winner when the result clears a significance threshold. The convention in A/B testing is a 95% confidence level, which is a 5% significance level5.
To pick, estimate how many visits the page gets in a month and how many conversions that yields. If reaching the planned sample would freeze the page longer than your business can wait, switch to research-led changes and read them against the baseline. If you do not know whether anyone is looking for the offer, measure demand first, for example with a one-week demand test.
Most teams mix the two: research finds what to change, and tests confirm it where traffic allows. The six steps below work for both.
The CRO process in six steps
Each step ends in one named output. These are the rules we apply throughout:
- One macro conversion per test. Micro steps are tracked, never reported as the result.
- Measure a baseline before any change.
- Every hypothesis names its evidence (a counted complaint theme, a funnel step, a recording pattern) in its «because».
- Report every change both in points and in relative percent.
- Judge a winner on revenue per visitor as well as on the rate, and check CAC and payback too.
- If demand or traffic is unmeasured, don’t promise a test length. Measure first.
Step 1. Name the one conversion that pays
The macro conversion is the action that brings money or a firm commitment. Micro conversions are the steps before it. You track the micro steps to find where people leave, and you judge the result on the macro.
| business type | macro conversion | micro steps before it |
|---|---|---|
| Online store | completed order | product view, add to cart, checkout start |
| Local service | paid deposit or booked job | quote request, quote viewed |
| Software with a trial | trial started or plan bought | pricing page view, signup form start |
| B2B services | qualified call booked | case study read, contact form start |
| Publisher | paid subscription or email signup | second article read |
Pick the action closest to revenue that happens often enough to count. If paid orders are rare, use the nearest step that predicts them and say so in every report. Secondary metrics still earn a place on the dashboard. Optimizely, drawing on lessons from 127,000 experiments, notes that under-prioritized metrics such as search rate can increase conversions6.
Output: one conversion, defined in writing, with its counting rule.
Step 2. Measure the baseline and find the leak
Record the current rate with your chosen denominator over whole weeks, so both weekday and weekend traffic are in it. Then open a funnel report: the share of visitors who pass from each step to the next. The step with the steepest drop is where you look.
Only then open recordings and heatmaps, filtered to that step. Move from a pattern in the heatmap to the sessions behind it, and back. Watching random sessions across the whole site costs hours and produces anecdotes.
Output: the baseline rate and the leaking step.
Step 3. Collect what visitors and customers already say
Start with data you already hold: chat logs, support email, sales call notes, refund and cancellation reasons. Then read public reviews of your business and your competitors, and count complaints by theme: price, quality, reliability, speed. A theme raised by most reviewers outranks a theme raised once. The method is in how to find customer pains in reviews.
Ask people who converted two questions: what persuaded them, and what almost stopped them. The second answer often becomes your next hypothesis. Wording that gets honest answers is in customer interview questions.
Read competitors’ offer and quote pages as evidence: what they show before asking for money, which fees they list, which guarantee sits next to the button. See how to find competitors and read their sites.
Output: a ranked list of complaint themes and objections, each with a count and a source.
Step 4. Write the hypothesis
Build it in three stages.
- Problem statement: what happens and where, backed by evidence. “Visitors who open the quote form leave at the phone number field; recordings show them pausing there.”
- Refined statement: narrow it to one cause you can change. “Visitors don’t want a sales call before they see a price.”
- If–then–because: one change, one expected movement in the macro conversion, one reason.
If we change [X] on [page or step], then [macro conversion] will rise, because [evidence: a complaint theme with its count, a funnel drop, a recording pattern].
Order the list by three things: the strength of the evidence, the share of visits that reach the page or step, and the cost to ship. A change on a step every visitor sees, backed by a counted complaint, and shippable in a day goes first. If the hypothesis concerns what you promise rather than how the page shows it, rework the promise itself with how to write an offer.
Output: a ranked list of hypotheses in this format.
Step 5. Test one change
- Change one thing per test, so you know what caused the result.
- Plan the sample size and the end date before you start, from the baseline rate and the smallest lift worth shipping.
- Run whole weekly cycles, because traffic and intent change by weekday.
- Read the result on the planned date against the planned threshold. The convention is a 95% confidence level5.
- Ignore the dashboard’s early “winner” readings. Early results swing, and stopping on a peak books a lift that later disappears.
If traffic is too low to reach the sample, ship the change. Then compare it with the baseline over the same number of whole weeks. Label that a before/after reading. It is weaker evidence than a split test, and the report should say so.
Output: a test plan written before launch. After the test, a result stated in points and relative lift, with its confidence.
Step 6. Ship, then check the money metrics
Before you call a change a win, check four numbers against the baseline:
- revenue per visitor;
- average order value;
- CAC at the current spend;
- refund or cancellation rate over the following weeks.
A higher rate with smaller orders or more cancellations can lose money. Log every result, failed tests included, so the next hypothesis starts from what you learned.
| step | output | done when |
|---|---|---|
| 1. Name the conversion | one macro conversion and its counting rule | written down and tracked |
| 2. Measure the baseline | baseline rate and the leaking step | whole weeks recorded with one denominator |
| 3. Collect what people say | ranked complaint themes | every theme has a count and a source |
| 4. Write the hypothesis | ranked if–then–because list | each «because» names its evidence |
| 5. Test one change | test plan and result | the planned sample and date are reached |
| 6. Check the money | revenue per visitor, order value, CAC, cancellations | all four read against the baseline |
Five page areas to check first
Leaks on a page come from five kinds of blockers. Price or terms are hidden. Something on the screen pulls attention from the action. A label fails to say what happens next. The copy is too thin to answer the visitor’s question. Information the visitor needs is missing, for example availability or what is included. The areas below are where these blockers sit. Treat each item as a hypothesis to test on your page, never as a rule.
Landing pages
One page, one offer, one action. The headline answers the query or ad that brought the visitor: someone who searched for a moving quote should see the quote form and a price range on the first screen. In HubSpot’s comparison of signup forms, landing pages have the highest average conversion rate, 23%, because each is built for a single action1. This section covers improving a page you already run; to build one from zero, see a landing page to test an idea.
Calls to action
Put one primary action on each screen. The label names the outcome: “Get my quote” tells the visitor what happens, “Submit” does not. Placement can outweigh design. In a HubSpot analysis by Pamela Vaughan, reported by Moz in 2016, 47–93% of a blog post’s leads came from anchor-text CTAs inside the text, and about 6% from the end-of-post banner7. That data comes from blog posts, so on a sales page treat placement as a hypothesis to test.
Forms
Every field has to earn its place. Ask for a phone number only if you will call, and explain why next to the field: “so the crew can reach you on moving day.” You can split a long form into steps, easiest questions first. Test a shorter version against the current one and watch which field people abandon.
Checkout and deposits
Checkout is where many buyers leave: Baymard Institute puts the average documented cart abandonment rate at 70.22%, an average of 50 studies2. For a service, the deposit step is the checkout. Before the payment field, show the full total and what the deposit covers. Also state the refund terms and the next step. In the worked example below, unexpected extra fees appear as a reported trust risk.
Mobile
Run the whole flow on a phone yourself: tap targets, the keyboard type on each field, pop-ups that cover the button, scripts that fail. Speed is part of the flow. Google’s research shows that 53% of visits are likely to be abandoned if pages take longer than 3 seconds to load8. Visitors seldom report broken scripts in surveys; you find them in the funnel as a drop that appears on mobile only.
What a conversion lift does to CAC and payback
At fixed spend, CAC new = CAC old × CR old ÷ CR new. Lifetime value stays the same when the rate changes. When CAC changes, payback and LTV to CAC move with it.
The worked example’s unit model, example by our method: a unit price of $159ex, one purchase a monthex, a lifetime of 12 monthsex, a margin of 0.35ex and a CAC of $30ex.
- Contribution per purchase, in our example: 159 × 0.35 = $55.65.
- Payback, example by our method: 30 ÷ 55.65 = 0.54 months, rounded by the check to 0.5ex. One job’s $55.65 contribution covers the $30 CAC.
- LTV, example by our method: 159 × 1 × 12 × 0.35 = $667.8ex.
- LTV to CAC, example by our method: 667.8 ÷ 30 = 22.26ex.
A renter does not book a move every month, so treat one purchase a month for 12 months as the check’s model input, not a forecast. With fewer repeat jobs, LTV and LTV to CAC come out lower. Payback does not change, because the first job already covers CAC.
Now assume a 20% relative lift in the deposit rate at the same spend (assumption, our example).
| metric | today, example by our method | with an assumed 20% lift |
|---|---|---|
| CAC | $30ex | 30 ÷ 1.2 = $25 |
| Payback, months | 0.5ex | 25 ÷ 55.65 = 0.45 |
| LTV to CAC | 22.26ex | 667.8 ÷ 25 = 26.7 |
| LTV | $667.8ex | $667.8 |
In this model the lift saves $5 on every customer. With thinner margins or a higher starting CAC, the same arithmetic decides whether paid traffic pays back at all.
CAC and payback do not depend on the lifetime figure. LTV to CAC does, so read the 12-month lifetime as a model input of the check. Full definitions are in unit economics in plain words. To run your own figures, open the unit economics calculator.
Worked example: an instant-quote page for a Denver moving company
The idea we checked, example by our method: «Local apartment moving company with two trucks in Denver: renters requesting instant online quotes for $130–$170/hour two-mover crews, booked with a deposit»ex. The verdict was «Possible, with caveats»ex with a score of 64ex (example by our method), built from 17 search queriesex and 23 sourcesex.
The funnel has three stages:
- A visit to the quote page.
- An instant quote shown (micro conversion).
- A deposit paid (macro conversion: money received and a date on the calendar).
The competitors a renter compares
The check found 9 direct competitors, example by our methodex. Five of them carry a measured visibility share:
| competitor | visibility share, %, example by our method |
|---|---|
| Local Moving LLC | 22ex |
| Moving Brothers | 21ex |
| TWO MEN AND A TRUCK | 20ex |
| Cowboy Moving & Storage | 10ex |
| MiniMoves Inc. | 7ex |
The top three sit within two points of each other. The check lists a risk that TWO MEN AND A TRUCK already covers about 45% of the offer, so renters may pick the established brand (example by our method)ex. A new mover’s quote page has to show something the known brand’s page leaves out. Read each rival’s quote flow with competitor analysis before you write the hypothesis.
Complaints and the hypothesis
Complaint themes in the check, example by our method: Price 4ex, Quality 1ex, Reliability and trust 1ex, Speed 1ex. That is 4 + 1 + 1 + 1 = 7 complaints, and price accounts for 4 of the 7 (example by our method).
Two of the listed risks point at the same step, example by our method. Price complaints are the most frequent, so the hourly rate may lose price-sensitive rentersex. Unexpected extra fees are a reported trust issue that could hurt bookings if hourly totals grow beyond the quoteex.
If the instant quote shows the full estimate, with every fee listed, before the deposit step, then more quote requests will turn into paid deposits, because price is the most frequent complaint theme in the check and unexpected fees are a listed trust risk.
The primary metric is the share of quote viewers who pay a deposit. The companion metric is the cancellation rate after the deposit, which shows whether a clearer estimate brings firmer bookings. If renters reject the rate itself once they see the full total, the page cannot fix that; work on the price with how to set a price.
The limit: no demand data
The check found no demand source, example by our methodex. Its first risk reads: local Denver demand is unmeasured, and the number of renters looking for two-mover crews is unknown (example by our method)ex. Without traffic figures there is no sample size and no test length to promise.
So the first month is a baseline. Count each step from quote page visit to paid deposit, including instant quotes shown, against one denominator. Then choose between an A/B test and a before/after reading. The ways to measure interest before spending on the page are in check demand before you launch.
The money
If the full-estimate change lifts deposits by an assumed 20% (assumption), CAC moves from $30 to $25 and payback from 0.5 to 0.45 months, as the table in the previous section shows (example by our method)exex.
Run the same check on your offer: Check your idea for free.
CRO and SEO
SEO brings the visit; CRO decides what the visit does. They meet at intent. A page that ranks for “Denver moving quote” and opens with the company’s history loses the visitor it worked to win. Match the first screen to the query: give a price query a price, and give a how-to query an answer before the offer.
Report the conversion rate for search traffic apart from the rate for paid traffic. The two groups arrive with different questions, and a blended rate hides which page fails which group. A page with strong rankings and a weak conversion rate is a CRO task; a page with a strong rate and few visits is a traffic task.
The tools you need, one per job
Group tools by the job they do:
- web analytics with funnel reports: the baseline and the leaking step;
- session recordings and heatmaps: what visitors do on that step;
- on-site surveys and post-purchase questions: what almost stopped them;
- an A/B testing tool: splitting traffic and reading the result at a set threshold;
- a form tool with field-level analytics: which field people abandon.
Buy for the job you cannot do today. A team with no baseline needs analytics before a testing tool. A team with 30 orders a month gains more from five customer calls than from a split-testing license (assumption, illustration).
Mistakes that waste a test
- Changing several elements in one test, such as the headline and the form, then not knowing which change worked.
- Stopping on the first day the dashboard shows a winner.
- Switching from sessions to users in the middle of a test.
- Reporting a rise like “up 1%” without saying whether it means percentage points or relative change.
- Calling a micro conversion the result: more quote requests with the same number of deposits is no win.
- Copying a tactic from a list with no evidence from your own page behind it.
- Promising a test length when traffic or demand is unmeasured.
- Ignoring order value and cancellations after a “win”.
- Skipping the log of failed tests, so the team retests the same idea a year later.
FAQ
What is conversion rate optimization in simple terms?
It is raising the share of your current visitors who take the action that pays you, such as an order or a deposit. You find where they leave and change one thing. Then you measure the result.
How do you calculate conversion rate?
Divide conversions by visitors and multiply by 100. Choose sessions or users as the denominator and keep that choice for the whole test, or the comparison breaks.
What is a good conversion rate?
What should count as a conversion?
The action closest to revenue that happens often enough to count: an order, a paid deposit, a booked call. Track the steps before it, but judge every test on that one action.
Is going from 2% to 3% a 1% or a 50% increase?
Both readings exist. In our example, it is +1 percentage point and +50% relative. Report both numbers so nobody mistakes one for the other.
How long should an A/B test run?
Until it reaches the sample size you planned before launch, in whole weekly cycles. Read it once, on that date, against the threshold; 95% confidence is the convention5.
Can you do CRO with little traffic?
Yes, research-led. Count complaints, interview customers, ship one change and compare it with the baseline over equal weeks. In our Denver example the check found no demand data, so month one is a baseline.
Before you write the first hypothesis, find the complaints and competitors behind your own page, along with its unit economics: Check your idea for free.
Sources
- blog.hubspot.com, 03/11/2026
- baymard.com, 09/22/2025
- marketing.dynamicyield.com, 10/06/2026
- hubspot.com, 10/03/2026
- experienceleague.adobe.com, 09/28/2026
- optimizely.com, 06/18/2026
- moz.com, 11/28/2016
- support.google.com, 06/18/2026
Check your idea for free
Describe your idea and the check collects demand, competitors, complaints and prices, with sources.
No idea yet? We will find one

