Get Started
An open silver laptop seen close from a low angle against a pale cream background, its blank screen glowing soft aqua, with long ribbons of teal, coral and yellow light rising out of the screen into the upper right

By Mark McDowellPosted: 11 min read

How To Measure SEO ROI With A Worked Example

To measure SEO ROI, take the profit from organic search, subtract what you spent on SEO and divide by that spend. Measure it over 12 to 24 months, because the spend starts at once and visits from new rankings arrive months later. Then set the cost of one organic enquiry beside what a lead costs you in paid search.

Key Takeaways

  • SEO enquiries must cost less than paid leads. In Primal's own Google Ads account a click cost RM26.74 this year, so at a 3% enquiry rate a paid lead costs about RM891.
  • Decide the budget on profit. On the calculator's example numbers, one month of SEO at full strength returns 263% on revenue and 45% on profit.
  • Include the slow early months. With them, the same example covers its spend on revenue in month 11 and on profit in month 25, and its enquiries cost less than the paid lead from month 13.
  • Leave out people who already knew you. Search Console's branded queries filter and a year-earlier baseline keep them out of the return.
  • Report AI visibility in its own column. An AI answer can cite a page without sending a click, so the column sits beside the ROI.

How To Measure SEO ROI Against The Lead You Already Buy

At Primal, we compare search engine optimisation (SEO) with a price we already pay, the cost of a click in Google Ads. In Primal’s own Google Ads account, a click cost RM26.74 this year. Divide your click price by the share of visitors who send an enquiry, and you have the price of a paid lead. An enquiry from SEO has to come in cheaper than that, over a period agreed at the start. If it cannot, I would spend the budget on paid search.

The return on investment (ROI) sum is short, and the timing is the hard part. SEO spend starts in month one, and visits from new rankings arrive months later. One strong month makes SEO look cheap. The first year on its own makes it look like a loss. I would judge it on profit, over 12 to 24 months, with the people who searched for your name taken out.

The SEO ROI Formula

SEO ROI is the profit from organic search, minus what you spent on SEO, divided by that spend. Multiply the result by 100 to read it as a percentage.

SEO ROI = (profit from organic search − SEO cost) ÷ SEO cost × 100

The cost is everything the work takes in the period. That means the agency or freelancer fee, the hours your in-house staff give it, tools, writing, and any links or design bought for it. Our post on what SEO costs in Malaysia sets out those lines.

Revenue is the usual choice for the top of the sum. I would use profit. A budget decision asks whether the money came back, and only profit answers that.

How To Calculate SEO ROI Step By Step

Work from the search down to the profit, one multiplication at a time. For a business that sells through enquiries, the chain runs like this.

  1. Visits are your monthly searches times your click-through rate.
  2. Enquiries are visits times the share of visitors who send one.
  3. Customers are enquiries times your close rate.
  4. Revenue is customers times what one customer is worth to you over time.
  5. Profit is revenue times your profit margin.
  6. ROI is profit minus the SEO cost, divided by that cost.

An online store skips two steps. Orders are visits times the conversion rate, and revenue is orders times the average order value.

Before the work starts, every input is a guess. Once it runs, you swap each guess for a measured figure. The same sum then becomes the measurement.

A Worked Example With The Calculator’s Numbers

The return calculator on our SEO page opens with example numbers for a service business. They are inputs to replace with your own, not market figures and not a Primal price. Here is one month at full strength.

Step The sum One month
Visits 5,000 searches × 9.69% click rate 485
Enquiries 485 visits × 3% 14.5
Customers 14.5 enquiries × 25% close rate 3.6
Revenue 3.6 customers × RM5,000 each RM18,169
Profit RM18,169 × 40% margin RM7,268
ROI on revenue (RM18,169 − RM5,000) ÷ RM5,000 263%
ROI on profit (RM7,268 − RM5,000) ÷ RM5,000 45%
Cost of one enquiry RM5,000 ÷ 14.5 enquiries RM344

The sums use unrounded figures, so the rounded rows do not multiply out exactly.

The same month gives two answers. On revenue it looks like a large win. On profit it is a modest one, and profit is the part the business keeps. The customer value also covers repeat business over time. So the revenue line will not match this month’s bank statement.

At RM344, this month’s enquiry costs far less than a paid lead at our click price and the same 3% enquiry rate.

The calculator’s online store example is harder. The same visits make about 12 orders a month, which returns 9% on revenue and loses money on profit. A store whose customers buy again should use what one customer spends over time, not one order.

How Long SEO Takes To Pay Back

In this example, revenue covers the spend in month 11 and profit covers it in month 25. The calculator shows a month at full strength, and real SEO does not start there.

Google’s Maile Ohye made the same point in a Google Search Central video on hiring an SEO. In most cases, she said, an SEO needs four months to a year to make improvements and then see a potential benefit. Keyword.com rank data on 67,000 keywords for Primal’s clients shows rankings rising a little each month. One in three sits on page 1 of Google today, and the number on page 1 grew by 14% over the last month. Visits follow those rankings, so they arrive the same way.

The table runs the service example over 25 months. It assumes no new visits in months 1 to 4, a rise in eight equal steps from month 5, and full visits from month 12. The spend stays at RM5,000 a month. It shows timing, not a forecast for your site.

End of month Spent so far Cost of one enquiry so far ROI on revenue so far ROI on profit so far
4 RM20,000 no enquiries yet −100% −100%
8 RM40,000 RM2,202 −43% −77%
12 RM60,000 RM917 36% −45%
13 RM65,000 RM813 54% −39%
18 RM90,000 RM590 112% −15%
24 RM120,000 RM500 150% −0.1%
25 RM125,000 RM491 154% 2%

I would agree the window before the work begins and report the running total each month. Then judge SEO on profit at the end of the window. The example keeps visits flat after month 12. A site that keeps adding rankings, or sells to customers worth more, covers its spend sooner.

How An SEO Enquiry Compares With A Paid Lead

Divide what SEO cost by the organic enquiries it brought over the same months. Set the result beside your cost per lead in paid search, which is your cost per click divided by your enquiry rate.

A click in Primal’s own Google Ads account cost RM26.74 this year. If paid visitors send enquiries at the example’s 3% rate, one paid lead costs RM26.74 ÷ 3%, or about RM891. In the worked example, an organic enquiry costs RM917 over the first 12 months, a little more than that paid lead. In the second year it costs RM344.

From month 1, the example’s running cost per enquiry falls below the paid lead in month 13 and keeps falling. Paid search stops sending leads the day its budget stops. A page that ranks keeps sending visits for as long as it keeps its ranking.

Use your own click price and enquiry rate for the comparison. Even in Primal’s own account, the main keywords cost from about RM15 to about RM90 a click, and a lower enquiry rate raises the price of every lead. Our post on what Google Ads cost per click and per lead shows how far apart those prices sit.

Where To Find Each Number

Every estimate in the example has a measured version in a report you already have. Swap them in one at a time.

Input Where the measured figure is
Searches, clicks and click-through rate Search Console, Performance report, with the non-branded filter on
Organic visits Google Analytics 4 (GA4), the Acquisition reports, the Organic Search row
Enquiries or orders GA4 key events on the same Organic Search row
Close rate Your customer relationship management (CRM) system: customers won from organic enquiries, divided by those enquiries
Value of one customer Your accounts: average revenue from one customer over the time they stay
Profit margin Your accounts: the margin your finance team uses for marketing decisions
SEO cost Invoices, timesheets and tool subscriptions for the same months

Google Analytics calls the actions that matter to a business key events. Any event it collects can be marked as one. So once you record a WhatsApp click as an event, it can sit beside a form send.

To read enquiries as money, give each key event a value. Google’s steps for setting a default key event value start in Admin, under Data display. Open Events, then the Key events tab, and pick the currency and the value. The value applies only to key events from then on, so set it before the period you plan to measure.

Google Analytics Help page on setting a default value for key events, the step that lets you measure SEO ROI on enquiries, showing the two default value options and the five steps from Admin to Save

A fair value for one enquiry is one customer’s value times your close rate. In the worked example that is RM1,250. Check the close rate in your CRM each quarter, because it changes the value of every enquiry.

How To Take Brand Searches Out Of The Return

Filter Search Console to non-branded queries. Then apply the non-branded share of organic clicks to your organic enquiries. People who already know your name would have found you without the SEO work. Their visits do not belong in its return.

Google added a branded queries filter to the Search Console Performance report. It splits searches into branded ones, which include your brand name or products closely tied to it, and non-branded ones, which are everything else. Google says an AI-assisted system does the sorting, so a few searches may sit in the wrong group.

Google Search Central blog post on the branded queries filter, showing the Query filter in the Search Console Performance report with the branded and non-branded options

Then set a baseline. Take the same months of the year before the work began, so seasonal peaks sit in both periods. Treat only the gain over that baseline as the return.

Which Attribution Model To Use In Google Analytics

Report SEO ROI on the data-driven model, and check it against paid and organic last click each quarter. An enquiry often follows several visits. The model decides which channel gets the credit.

Google Analytics offers three models, data-driven, paid and organic last click, and Google paid channels last click. Data-driven shares the credit across the clicks on the path, based on your own property’s data. Paid and organic last click gives all of it to the last channel clicked. It leaves out direct visits.

Sometimes organic search earns far more credit under data-driven than under last click. That means it starts journeys that another channel finishes. A budget review should hear that before it cuts SEO for a low last-click figure.

What AI Search Changes In SEO ROI

An AI answer can mention or cite a business without sending a click. It adds nothing to the formula until someone visits, or searches for the name later. So report AI visibility in its own column beside the ROI. Keep the ROI itself on measured enquiries and orders.

Search Console’s Generative AI performance report shows how often your pages appear in Google’s AI Overviews and AI Mode. It gives impressions by page, country, device and date, with no clicks.

Elevate, Primal’s AI Visibility Tracker, logged 16,543 AI answers about 12 brands in 12 industries over the last month. Every brand’s own website was cited, typically in only about a quarter of the answers about it. Marketplaces and comparison sites appeared in the answers for 11 of the 12 brands. Facebook was the most-cited social site for 8 of them. Google’s own Business Profile and Maps results were cited for 7, and government registers for 6. So an AI column that looks only at your own site’s citations leaves out the answers that cite those other places. The chart shows how many of the 12 brands had each kind of source cited.

Bar chart of the sources AI answers cite for 12 brands over the last month: their own website for 12, a marketplace or comparison site for 11, Facebook as the most-cited social site for 8, Google’s own Business Profile or Maps results for 7, and a government register or regulator for 6

A smaller set from the same tracker, 3,693 answers across 66 queries, showed that answers to general SEO questions mentioned no agency at all and cited publishers and Google’s own pages. On a how-to question, an assistant can use your page without naming the business behind it. That use does not show up as a branded search either.

In this video on my channel, I show how to measure whether AI assistants recommend your business. That is the figure for the AI column.

How To Prove SEO ROI To A Finance Team

Give them one page each quarter. Put the inputs beside the result, so they can trace every number back to a report.

  • The period, and the months since the work began.
  • The cost by line: fee, staff hours, tools, writing and links.
  • Non-branded organic clicks from Search Console, against the same months a year earlier.
  • Organic key events and their value from Google Analytics, with the attribution model stated.
  • Revenue and profit from the customers those enquiries became, from your CRM and accounts.
  • ROI on revenue and on profit, for the quarter and the period so far.
  • The cost of one organic enquiry against your paid lead.
  • AI visibility in its own column.
  • The close rate, customer value and margin used, and when each was last checked.

Our post on SEO key performance indicators (KPIs) covers the early signs, such as pages indexed, rankings and clicks. They show whether the work is progressing, and the ROI shows whether it paid.

Primal started in 2015 and works from offices in Kuala Lumpur, Bangkok and Singapore. Our SEO team can set up this measurement in your own Search Console and Google Analytics, then run the sums with your numbers.

Frequently Asked Questions About SEO ROI

What is a good ROI for SEO?

A good SEO ROI is positive on profit by the end of the window you agreed before the work began. It should also do better than the next best use of the same budget, such as paid search, measured over the same months. In this post’s example, profit covers the spend in month 25.

Should SEO ROI use revenue or profit?

Report both and decide on profit. Revenue shows whether organic search brings in business, and profit shows whether the money spent on SEO came back. In the worked example, the same month reads 263% on revenue and 45% on profit.

How do I measure SEO ROI if I do not sell online?

Mark the enquiry form, and any WhatsApp or phone click you record, as key events in Google Analytics. Give them a value of one customer’s worth times your close rate. Check both figures in your CRM each quarter, because they change the value of every enquiry.

Can I measure SEO ROI in Search Console alone?

No. Search Console shows searches, impressions, clicks and positions, and nothing about what visitors did on your site. You need Google Analytics for enquiries and orders, and your own records for revenue, margin and cost.

Can I attribute organic keywords to the leads that came in?

Customers often ask us whether they can attribute organic keywords to the marketing qualified leads that came in. You can, as an aggregate for each month. Set the month’s non-branded searches and clicks from Search Console beside the organic leads your CRM recorded in the same month. Search Console stops at the click, so you read the link between keywords and leads across the month.

Mark McDowell

Mark McDowell

Founder and Chief Executive Officer

Mark McDowell is the Founder and Chief Executive Officer of Primal, which he started in Bangkok in 2015. He is on the Forbes 30 Under 30 Asia 2020 list and was Campaign Asia’s Southeast Asia Young Achiever of the Year in 2018. He writes about AI search and search engine optimisation.

About The Author

Join 20,000+ leaders getting the latest marketing insights for the AI-era.

30 Minute Call

Speak With Us

Book a quick call to see how we help you grow, without endlessly trying new agencies, waiting for a better year or hiring expensive in-house teams.

  • We learn about your business and your goals
  • We find where your growth can come from
  • You see the next steps: a strategy meeting, then launch
4.9Four Primal client reviewers
on Google

Loading the calendar…