People often try to reduce website ROI to a single number. That's a mistake. A website affects revenue in several ways. It brings leads. It helps close deals. It takes load off the team. It lowers the cost of acquiring a customer. That's why ROI always rests on a set of metrics and on a correct link between analytics and sales.
What counts as website ROI and why one number isn't enough
A website pays off when it helps the business reach its goals. Not when traffic grows. Not when the design is liked. Not when the report shows more views. First you define which business task the site solves. Then you set up measurement. Then you calculate its contribution.
Which business goals a website should support
Define why a customer would visit the site at all and what the business wants to get out of it. Goals usually fall into three types.
- Leads — requests, calls, bookings, messenger messages, quote inquiries
- Sales — payments on the site or deals a manager closes after an inquiry
- Service and operational savings — self-service, answers to common questions, less load on operators, fewer manual errors, fewer unnecessary calls
One goal doesn't cancel out the others. But to calculate ROI it's important to pick the main one. And not to mix everything into one bucket.
How leads, sales and profit differ in the calculations
A lead is the fact of an inquiry. You see it in analytics the fastest. A sale is the fact of a deal. You see it in the CRM or in accounting, often with a delay. Profit is the margin after costs. It's calculated not by marketers but by the business. And there are always nuances there: discounts, logistics, returns, cost of goods, salaries.
If you calculate ROI by profit, you need discipline in your data. If there's no discipline, start with ROI by leads and by sales. And gradually make the model more complex.
When a website pays off not in money but by reducing team load
Sometimes a website shouldn't sell directly. It should remove routine. For example, the site answers standard questions and reduces the number of incoming calls. Or the site provides a clear service catalog and shortens consultation time. Or the site helps the customer choose a service and submit the right data so the manager doesn't keep asking the same things.
In such cases ROI lives in time and resource metrics. How many inquiries got shorter. How many errors disappeared. How many tasks stopped being done manually. These effects also need to be tracked. Otherwise the site looks unprofitable, even though it saves money internally.
First separate the traffic problem from the conversion problem
The same symptom looks different in reports. The business has no requests. The cause may be in the traffic. It may be in the site. It may be in sales. Until you separate these zones, you'll fix the wrong thing.
Scenario: low traffic and how it shows in reports
You see few sessions and few new users. Conversions may be normal, but there's nothing to count. The funnel is empty.
What's important to check:
- Whether there's a steady flow from search, ads, social and direct visits
- Whether you cut off the traffic yourself — closed indexing, changed the domain, broke redirects, turned off ads
- Whether the geography and language of the traffic match your market
If traffic is low, ROI can't be calculated honestly. First you secure the flow. Then you compare quality.
Scenario: there's traffic but few requests
You see visits, but goals aren't met. Conversion is low. People leave at the first steps. Most often the problem is in one of three places.
- The user doesn't understand the offer on the first screen
- The user can't find the next step — the button or form doesn't lead to an action
- The user hits a barrier — a complex form, unclear prices, weak trust, errors on mobile
In this scenario you don't increase the budget right away. You first fix the path to the request. And only then scale the traffic.
Scenario: there are requests but sales aren't growing
This is the most unpleasant case. Because the site seems to be working. But there's no more money. Here the link between marketing and sales often breaks.
- Managers can't reach people and don't record the reasons
- Requests arrive not in the CRM but in messengers and get lost
- The request source disappears, and you don't understand what brings the money
In this scenario ROI can't be calculated by the site alone. It has to be calculated across the chain: source, landing page, request, handling, deal.
Which goals and events to set up on the website
Goals are the language the site uses to talk to analytics. Without goals you only see traffic. With goals you see the site's contribution to the result.
It's easier to think about the setup this way. There are microconversions — they show interest. There are macroconversions — they produce an inquiry or a payment. And there are quality-control events — they catch errors and drop-offs.
Microconversions that show interest before the request
Microconversions don't bring money directly. But they show where the user gets engaged and where they're lost. What's usually tracked:
- Viewing a key service page
- Scrolling to the price or terms block
- Clicking the booking or quote button
- Opening contacts or the map
- Going to the cases or portfolio section
These events help you understand why there are few requests. The traffic may be relevant, but the user doesn't reach the action.
Macroconversions: requests, booking, purchase, form submission
Macroconversions are always tied to a specific result. What matters to measure first:
- Submitting the request form
- Booking a service
- Placing an order and payment, if it's an online store
- Going to the thank-you page after submission
The thank-you page often gives the most reliable signal. Because a button click can happen by accident. A successful submission shows that the scenario was completed.
Events that capture errors and user drop-offs
If you want to calculate ROI, you have to rule out invisible losses. What's worth tracking:
- Form validation errors — the user fills it out, but the site complains and doesn't explain
- Failed form submission — network, server, scripts
- Clicks on non-working elements
- Drop-offs at steps where you expect an action — for example, the user opened the form and closed it
These events aren't about marketing. They're about money. Because every technical error turns the ad budget into zero.
How to correctly count calls and messenger messages
A business often gets many inquiries not through a form but through calls and messengers. If you don't count them, you calculate ROI blindly. You see few leads and draw the wrong conclusions.
Which calls to count as targeted and how to avoid duplicates
Not every call equals a lead. In analytics it's important to separate a targeted contact from a random one. Define the rule for a targeted call. For example, a call from a new number with a reasonable conversation length. And decide right away how you remove duplicates.
Where duplicates appear most often:
- A person called and then left a request
- A person called twice because they couldn't get through
- A manager called back, and the system also recorded the call as an inquiry
If you don't set rules, the lead report will balloon. And the ROI will become false.
Tracking clicks on phone, WhatsApp, Telegram and email
Start simple. Track clicks on the contact buttons:
- Phone click
- WhatsApp click
- Telegram click
- Email click
This isn't the same as an inquiry, but it shows intent. And it helps you see which pages lead to contact and which don't. Next you'll be able to compare:
- Pages where people often click to get in touch
- Pages where people read but don't take the step
- Segments by device, because on a phone the call clicks are usually more important
How to link an inquiry to its source and landing page
To calculate ROI, you have to understand where the person who wrote or called came from. For that you need to store three things:
- Source — search, ads, social, direct
- Landing page — which screen the visit started on
- The page where the inquiry happened — often these are different pages
If you only see a total request counter, you can't improve the site. You can only argue about what doesn't work. Linking source and landing page turns the argument into a decision.
The site funnel from entry to request and where ROI is lost
ROI breaks not at the end but along the way. A person arrived. They understood something or didn't. They took a step or left. The funnel helps you see at which stage you lose money. And what exactly needs fixing: the traffic, the page, the form or the request handling.
Landing pages and matching user expectations
The landing page sets the expectation. The user comes in via a query or an ad. They expect a specific answer. Check this simple chain:
- What query or ad brought the person in
- Where they landed
- Whether the meaning, service, price, city and terms match
A common mistake: the ad leads to the home page instead of the right service. Or a blog article collects traffic but gives no clear next step. In the report you see visits. At the register you see zero.
What to look at in analytics at the entry level:
- Which pages bring the most entries
- What share of targeted actions these pages have
- Which pages people leave the fastest
If the landing page doesn't meet the expectation, after that it no longer matters how good the form is.
The path to the form and drop-off points at the decision step
The path to a request is almost always longer than the business owner thinks. The user compares. They look for proof. They check the terms. And if you don't give them support, they leave. Where people are lost most often:
- They don't see the price or don't understand what it depends on
- They can't find what's included in the service and how you're different
- They don't see examples of work, cases, portfolio, reviews
- They don't understand what the next step looks like — a consultation, an estimate, a booking, a brief
Microconversions help here. If a person clicks the button but doesn't open the form, the problem is in the step. If they open the form and close it, the problem is in the form or in trust.
Successful submission and the thank-you page as quality control
Don't count a lead by a button click. Count a lead by the fact of a successful submission. That way you cut off accidental clicks and technical failures. What matters to do:
- Set up a goal for the successful form submission event
- Verify that the thank-you page always opens
- Add a clear next step on the thank-you page — what happens next and when to expect a reply
The thank-you page is also a quality-control tool. If it doesn't open, you lose requests and don't see it in the report.
The metrics you need to calculate ROI
ROI isn't built on views and time on site. It's built on conversions and acquisition cost. And on sales data. That's why the basic set of metrics has to connect marketing with the result.
Conversion to request and conversion to sale
Separate the two conversions. These are different bottlenecks. Conversion to request shows how the site turns traffic into inquiries. Conversion to sale shows how the business turns inquiries into money.
If conversion to request is low, you fix the offer, the structure, trust, forms and the mobile version. If conversion to sale is low, you fix the handling: response speed, script quality, lead qualification, control of the reasons for rejection.
Don't mix these levels. Otherwise you'll rebuild the site when the problem is in the sales team. Or blame sales when the site brings the wrong people.
Cost per lead and cost of acquiring a customer
Cost per lead answers the question of how much one inquiry costs. Cost of acquiring a customer answers the question of how much one sale costs.
These metrics are calculated only together with acquisition costs — most often that's advertising. Sometimes it's also contractors' work, content and SEO. Here it's important to choose an accounting rule and keep it the same every month.
A business often sees only the cost per lead and is pleased. But then it turns out the leads are cheap while sales don't grow. That means you need to calculate the cost per customer. And compare sources not by leads but by sales.
Average check, margin and deal length
ROI without product economics will always be approximate. For the calculations you need three parameters:
- Average check or average revenue per deal
- Margin, or at least gross profit per order
- Deal length — especially in B2B and in expensive services
If the deal cycle is long, you won't be able to assess ROI within a week. You'll see leads but not the money. Then you calculate an interim ROI by leads and in parallel build sales accounting by period.
Related service
We'll set up analytics and support the site so no request gets lost
We check goals and events, the accounting of forms, calls and messengers, request delivery and mobile behavior. We connect regular support so bugs and updates don't turn the ad budget into lost leads.
How to read reports and draw conclusions without false causes
Reports easily mislead. Not because the analytics is bad, but because the business draws quick conclusions from average figures. Proper reading starts with breakdowns: by source, page, device and time.
Reports by source and why comparing averages is dangerous
The average conversion across the site says nothing. It blends different traffic and different intent. Compare sources separately:
- Search
- Advertising
- Social
- Direct visits
- Referral links
And look not only at conversion but at quality. If a source brings many leads but they don't convert into sales, ROI drops, even if the on-site conversion looks pretty.
A common mistake: turning off a channel with lower conversion, even though it brings more expensive but more buying requests. Or the opposite — keeping a channel with a high number of leads because it looks successful.
Segments by device, city and new users
Segments help you find the real cause. Check at least three breakdowns:
- Devices — mobile and desktop
- Cities and regions, if the business is tied to geography
- New and returning users
What this gives in practice:
- If mobile brings many entries and few requests, the problem is often in speed, the form and button convenience
- If there's little traffic from the city you need, you're not hitting the market
- If returning users convert better, the site works as decision support, and reminders and retargeting matter to you
Dynamics by period and checking the impact of changes
ROI lives over time. You check any improvement across periods. What's important:
- Compare equal intervals — week over week or month over month
- Account for seasonality and promotions
- Record changes — a new design, a new form, new ads, new prices
A common mistake: changing many things on the site at once and then not understanding what worked. Make changes one at a time. And check the impact on a specific goal: requests, calls, bookings, purchases.
The ROI formula and a worked example on clear data
ROI shows whether the investment paid off. But the formula only works on clean data. The basic formula looks like this: ROI equals profit minus costs, all divided by costs.
If you can't calculate profit, use a simpler level — ROI by revenue or payback by leads. The main thing is to honestly state what exactly you're measuring.
Which data you need from advertising and from sales
From advertising you need costs by period and by source. And the number of leads in those same breakdowns. From sales you need the sales and the sales amount that came from the site. And the link to the source, so you don't lose the channel after the request. The minimum set:
- How much you spent
- How many leads you got
- How many leads became sales
- What amount came into the register or payment
How to account for repeat sales and a long deal cycle
Repeat sales and a long cycle break the simple model. The money arrives later. Sometimes a month later. Sometimes a quarter later. What you can do without complex end-to-end analytics:
- Record the date of the first inquiry
- Record the date of the deal
- Calculate conversion to sale by lead cohort — that is, by the month the lead arrived
That way you won't demand the site pay off in a week if the business takes a long time to close deals.
When payback by leads is enough, rather than by profit
Sometimes a business isn't ready to calculate profit on every deal. Or the accounting data isn't accurate yet. Then you can calculate payback by leads. But set two conditions:
- You use a stable definition of what a lead is — the same goal
- In parallel you control lead quality — at least through the share of leads that reached contact with a manager
If quality drops, payback by leads will become pretty but useless.
Common analytics mistakes that make ROI come out wrong
An analytics mistake almost always looks the same. In the report everything is fine. In the business there's no money. Or the opposite — sales are happening, but analytics shows zero. Below are the three causes that break the calculation most often.
There are no goals, or they're set on clicks instead of results
A goal should record a result, not an attempt. A bad example — a goal on a click of the 'Leave a request' button. The user could have clicked and closed the form. Could have hit it by accident on mobile. Could have left because of an error.
A good benchmark — a goal on a successful form submission or on reaching the thank-you page. That's a signal that the scenario was completed. Another common mistake: goals don't separate different types of inquiries. A call, a request, a booking and a messenger message all land in one bucket. Then the business compares conversion across different channels and draws the wrong conclusion.
What to do:
- Verify that each key goal reflects the final action
- Separate goals by inquiry type
- Keep the same definition of a lead in the reports every month
Lost requests from forms and uncounted inquiries
ROI can't be calculated if you don't know how many leads you actually got. Losses usually happen in two places. First — the form was submitted but the request didn't arrive: a mail failure, a broken integration, a script error, the customer lost internet on their end. A click may remain in analytics. In the business there's no request.
Second — inquiries go to messengers and calls, while in the reports you only see forms. Then the site looks weak, even though it really does bring customers. What to do:
- Verify that the form always leads to the thank-you page
- Verify that request notifications arrive
- Set up tracking of clicks on phone, WhatsApp, Telegram and email at least as events
- Agree within the team where all inquiries are recorded, so you don't count only part of them
No CRM link, and the source is lost after the request
Even if you collected the leads correctly, further on you often lose the main thing. The source and the landing page don't survive until the deal. As a result, you can't answer two key questions:
- Which channels bring sales, not just requests
- Which pages really help close deals
Without this link the business starts optimizing by top-level metrics — by clicks, by cost per lead, by traffic. And it can hurt profit, even though the reports look prettier. What to do:
- Preserve the inquiry source and the landing page when passing the lead to sales
- Record the handling status and the outcome in one place
- Count not only leads but also lead-to-sale conversion by source
What to check first and when you need an analytics setup audit
Don't start with the ROI report. Start by checking that the data can be trusted at all. A short audit helps here. It doesn't require big investment but quickly shows why the numbers don't add up.
A checklist for the basic setup of Metrica, GA and Tag Manager
Check the basic things that give 80 percent of the accuracy:
- The trackers are on all pages of the site and load correctly on mobile
- Goals are set on results — successful form submission, booking, purchase, thank-you page
- Click events on phone and messengers are recorded, if the business gets inquiries through these channels
- You see traffic sources correctly and can tell ads from organic and from direct visits
- You can repeat the user journey and get the same result in analytics — for example, you submitted a test form and saw the goal fire
If you don't pass this checklist, it's better not to calculate ROI. First you fix the measurement.
How to tell the site needs UX work or technical support
Sometimes the problem isn't in the ads and isn't in the analytics. The problem is in the site. It shows up in reports as a drop in conversion and a rise in bounces, but the cause is technical or UX. Signs that it's worth going into improvements:
- The form opens, but the goal on successful submission almost never fires
- There's mobile traffic, but almost no conversions
- Users often click the contact buttons, but there are few inquiries
- The page loads slowly, and people leave before the first action
- Spikes of errors and sharp drops in metrics appear after updates
In such cases targeted work helps: fix the form, simplify the steps, speed up the pages, verify it works correctly on phones. If the site hasn't been maintained for a while, connect regular support. This reduces the risk of losing leads because of bugs and updates.
How to approach a CRM rollout so you can measure ROI before the sale
A CRM is needed not only by the sales team. It's needed by marketing for an honest ROI. But it's better to roll it out in stages so as not to stop the work.
- Step 1. Fix a single rule for what a lead is and where it appears — a form, a call, a messenger
- Step 2. Build a single registry of inquiries, even if at first it's a simple structure inside the CRM — the main thing is that no lead gets lost
- Step 3. Add fields for the source and landing page, without them you can't link sales to a channel
- Step 4. Set up statuses — new lead, in progress, rejected, sale — and a reason for rejection, this gives material to improve the site and the ads
If you want to build a CRM around your company's processes and connect it to the site, it's best to start with describing the processes and a single rule for counting leads.


