SEO ROI tells you how much profit your search work earns for every dollar you spend on it. The sum is easy. Getting honest numbers to put into it takes more care, because organic search revenue arrives slowly and the cost is easy to undercount when much of it is your own time.

The formula

SEO ROI = (profit from organic search minus the cost of SEO) ÷ the cost of SEO × 100

Many guides put revenue in the first slot. Use gross profit if you can, meaning revenue minus the cost of the goods or service you delivered. A store with a 40% margin keeps $400 of a $1,000 order, and that $400 is what your SEO spend has to beat.

Here is a worked month for a small online store:

  • A freelance writer for four articles: $1,500
  • SERPed Premium for rank tracking and audits: $79 (the monthly price, checked November 4, 2026)
  • Ten hours of your own time, valued at $50 an hour: $500
  • Total cost: $2,079

Google Analytics shows $9,000 of purchase revenue from organic search that month. At a 40% margin, that is $3,600 of gross profit. The ROI is ($3,600 minus $2,079) ÷ $2,079 × 100, which comes to 73%. If you had used revenue instead of profit, you would have reported 333%, and your next budget conversation would rest on a number four times too high.

Count every cost

Most SEO ROI figures look better than they should because the cost side is thin. Add up:

  • Staff or freelancer time spent on research, writing, editing and technical fixes, including your own hours at a fair rate.
  • Agency retainers, project fees and one-off audits.
  • Tools: rank tracking, keyword research, crawlers and reporting.
  • Content production beyond writing: images, video and design.
  • Developer time for site speed, redirects and template changes.

Spread one-off costs, such as a site migration, across the months they serve. If you charge a $6,000 rebuild to a single month, that month looks terrible and the next eleven look better than they were.

Put a dollar value on organic visits

A store can read sales straight from its analytics. A business that sells through leads or calls has to give each lead a value first. A simple way is:

Lead value = closing rate × average lifetime value of a customer

If one in ten leads becomes a customer and a customer is worth $1,200 over their time with you, each lead is worth $120. Count lifetime value, meaning everything a customer spends with you while they stay, because someone who finds you through search and stays for three years paid for far more than their first invoice.

Recheck these two numbers every quarter with your sales records. A closing rate you guessed a year ago will inflate or shrink every ROI figure you report.

Set up the tracking

You need two free Google tools, linked together.

Google Analytics 4 records what visitors do. Mark the actions that make you money, such as a purchase, a form sent or a booking, as key events in Admin. Google renamed these from conversions, and now keeps the word "conversion" for Google Ads. Give each key event a value, either from the purchase itself or a default value you set to match your lead value. Analytics puts a visit into the Organic Search channel when the source is on its list of search sites or the medium is "organic".

Check one setting straight away. A standard Analytics property keeps event data for 2 or 14 months, and the setting limits your explorations and funnel reports. Set it to 14 months so you can compare this year with last year. Standard reports are not affected.

Google Search Console shows the searches that bring people to you, with clicks, impressions, click rate and average position for each query and page. Link it to Analytics under Admin, Product links, Search Console Links. You then get two extra reports: one for the queries people searched and one for organic landing pages with Analytics data beside them. Search Console keeps 16 months of data, so the linked reports go back 16 months at most.

Decide how credit is shared

Most buyers find you more than once before they buy. They might read a blog post from search, come back from an email a week later and buy after clicking an ad. The attribution model decides which of those visits gets the credit.

Analytics now offers three models: data-driven, paid and organic last click, and Google paid channels last click. Google removed first click, linear, time decay and position-based in November 2023. Data-driven spreads the credit across the visits Analytics judges helped the sale.

Use the same model every time you report. If you switch from last click to data-driven halfway through the year, your SEO ROI will move even though nothing about your SEO changed. Analytics can also show you which conversion paths included organic search, and that view helps when search tends to start the sale and another channel finishes it.

Measure over a long enough window

An article you publish in January can bring in visitors for years, while most of its cost lands in the month you paid the writer. A single month's ROI punishes new work and flatters old work.

Track three figures together:

  1. Monthly ROI, to catch sudden drops.
  2. Cumulative ROI since you started, which shows whether the whole program has paid back yet.
  3. ROI per page or topic, from the organic landing page report, so you can see which kind of content earns and which only gets visits.

Split branded searches from the rest in Search Console. People who type your company name would probably have found you anyway, so a rise in brand clicks says more about your reputation than your SEO. Filter queries that contain your brand name and judge your SEO on what remains.

Forecast before you spend

ROI looks back. Before you commit a budget, estimate what a set of keywords could be worth. SERPed's free SEO ROI calculator does this on one page. You enter each keyword with its monthly search volume and the share of searchers you expect to win, then your contact rate, closing rate and customer lifetime value. It returns the monthly and yearly value of that traffic. It has no field for what you plan to spend, so subtract your expected costs yourself to get a projected ROI. SERPed asks you to sign up for the full version, which lets you add more keywords and look up search volumes.

Treat the answer as a ceiling. Few pages win the share of clicks you hope for in the first months.

Mistakes that skew the number

  • Counting revenue instead of profit, which inflates ROI on low-margin products.
  • Leaving out your own hours because nobody sent an invoice for them.
  • Reporting a single good month, or a launch month full of setup costs.
  • Crediting brand searches to SEO.
  • Changing the attribution model between reports.
  • Comparing SEO with paid ads on different time windows. Ad spend stops earning when you stop paying, so compare the two over a year.

Reporting SEO ROI to a client or manager

People who approve budgets want the dollar figure, the trend and a short reason. One page with cumulative ROI, organic revenue or lead value by month, and the five pages that earned the most is enough for most meetings.

If you run an agency, SERPed builds PDF reports under your own branding from rankings, backlinks and metrics, saves them as templates for each client, and its Cashflow Manager records income and expenses by client and project. Add your Analytics revenue figures beside those reports so the client sees results in dollars as well as positions. For more reporting tools, see our guide to SEO reporting software.