How to Measure the ROI of SEO


Why is it that SEOs seem to get no respect?

About 18% of online sales come from organic search. That’s $500 billion. (Yes, really). 

And yet, according to a survey by Moz, it’s very rare for any company to invest more than $10k a month for SEO. Including in-house SEO managers. 

I’ve seen that firsthand at VIPKid. At the time, we were a $3 billion company, we spent $6k a month on SEO, and our budget got cut by finance.

The reason: “No one knows how to Measure the ROI of SEO.”

I had to ask our social media manager to take on SEO as his second job.

This is nuts. Why doesn’t SEO get more respect – and more budget?

At most companies, most of the budget (and praise) goes to the people running paid channels.

Paid search. Paid social. Outdoor advertising. Sponsored events. Affiliate marketing.

Channels where the ROI is measurable.

Because business owners like predictability. If I put in $1, I’ll make $2.

But I’m here to tell you; there’s good news.

It is possible to measure the ROI of SEO – even down to the keyword level, just like paid search.

In this article, I’ll show you a brand new way to do it. A method that nobody can dispute.

So SEOs can finally start getting the respect we deserve!

Method #1: Calculating the value of non-brand conversions


As Moz points out in their article, “5 Common Objections to SEO (& How to Respond),” the true measure of the value of SEO excludes traffic from “Brand keywords.”

Brand keywords mean any search, including our website or company brand.

For example, I’m a fan of TOMS shoes. I google toms shoes. That’s a brand search.

Normally, these make up the majority of any website’s SEO traffic. For example, check out the Top 15 keyword searches that bring traffic to

They all have some version of the brand in them: “tom,” or “tom’s,” “toms.”

When I do google one of those words looking for TOMS shoes, I’m a return customer. I probably didn’t decide to buy shoes because I learned about TOMS for the first time from googling “sustainable shoes.” I could have heard about the brand on any of these channels: 

  • I saw a TOMS ad on Instagram; then I googled the brand name
  • I heard about TOMS on the podcast, “How I Built This,” then I googled the brand name
  • A friend told me about them. Then I googled the brand name
  • I googled “ethical shoe brands” and found them on a blog post, and then I googled the brand name

So, unfortunately, as SEOs, we can’t include Brand searches in our ROI calculation. Because we automatically rank at the top of Google for our brand name. That’s too easy!

What we can include in our ROI calculation is purchases and leads we get from Non-Brand searches. (Searches that don’t include our brand name.)

Like “shoes,” “slip-on shoes,” and “vegan shoes.” Those are #1, #2, and #3 among the Top 15 Non-Brand keywords that bring SEO traffic to


(Note how you can exclude Brand keywords in Ahrefs by using the brand and wildcards (tom*) in the “Exclude Keywords” filter above.)

When visitors arrive because they googled these terms, we can confidently say:

“This revenue can be attributed to SEO”

So, first, let’s measure that.

How to count non-brand SEO conversion

  1. Export 12 months of Google Analytics traffic data from Organic Search.

Acquisition > All Traffic > Channels > Organic


Make sure the Primary Dimension is set on Keywords.

More than 97% of the keywords will be hidden under Google’s (not provided) and (not set) category. But the remaining <3% will give you enough of a sample to report how many Non-Brand conversions the site gets from SEO.

(Please note that the domain and brand here have been changed to protect the innocent.)

Check out the keywords in the red boxes – those are the Brand terms for this made-up brand, “babymart,” plus combinations of Brand + intent keywords, like “babymart shirts.” Those are return visitors – we can’t attribute those to SEO.

The keywords in the blue box – “baby clothes,” “buy baby clothes,” “buy baby shirts” – those are the non-brand keywords—those we can attribute to SEO.

(Also, notice that the conversion rate is much higher for Brand keywords. That’s normal. Visitors who come to your site because they know your brand are much more likely to buy because they already trust you.)

  1. Export the data to Google Sheets

The maximum number of keywords we can export at a time is 5,000. For “Babymart,” that means we need to manually export 11 pages of data to capture the maximum amount of data.

At the bottom of the screen, change Show rows to 5000.

Then, choose Export > Google Sheets from the top of GA.

3. Compile all the data into one worksheet

One by one, copy the 5000 rows from each export into one sheet. In the end, you should have something that looks like this – 53k rows of it in the case of Babymart.

4. Classify each keyword as either brand or non-brand

In Column K, add a new Field: Keyword Type.

Here, you’ll classify every keyword into one type. Either:


The formula looks like this:

=if(REGEXMATCH(A8,(“(not provided)|(not set)”)),”unknown”,if(REGEXMATCH(A8,”(babymart|baby mart|baby-mart)”),”brand”,”non-brand”))

You’ll need to replace (babymart|baby mart|baby-mart) with your own brand terms.

The new column is inside the blue rectangle below:

  1. Run a pivot table to aggregate brand vs non-brand vs unknown conversions

In Google Sheets, run Data > Pivot Table and calculate by Rows. Add a Calculated Field dividing Transactions by Sessions, and you’ll see that the Brand conversion rate is always higher.

Again, that’s because when someone searches for your brand, they are much more likely to already know and trust you. That makes them much more likely to convert.

Now that we’ve split the Revenue by Brand vs Non-Brand, it’s easy to see how much real SEO value this site has. A pie chart demonstrates it best:

And this sample size is large enough to extrapolate over the entire site. The true annual SEO value is $9.2 million.

A site like this might only spend $100k a year on SEO. They should be investing 10X that!

But because most SEOs don’t report their contribution to revenue in this way, we never get the respect we deserve.

By the way, this site is an outlier – it has much more Non-Brand traffic than most of the sites we see. Typically Non-Brand only makes up 5-10% of revenue.

That just goes to show how much most companies neglect their SEOs.

Method #2: Calculating the amount saved in paid clicks from SEO

I’m not sure if SEO companies are doing this today, but back when I was running an agency, I used to pitch SEO services by saying:

“Here’s how much it would cost you to get the organic traffic I’m going to get you if you paid per click in Google Adwords.”

Clicks X traffic = value

So, what we need to know here is:

How much do we pay per click for Non-Brand SEM keywords?

How many Non-Brand SEO clicks do we get per year?

Calculating average non-brand SEM PPC

The reason we need to exclude brand spend here is that, again, we only want to calculate

In Google Analytics:

Acquisition > Google Ads > Search Queries

To get the overall average CPC, divide total ad spend / total number of clicks.

Same as with Organic, we only want to use Non-Brand keywords. Those are the keywords we’re competing with other companies on, so they tend to be higher CPC.

  1. Use the same process from organic results to export, compile, and classify all the SEM search queries.

The method is basically the same as above. Five thousand keywords at a time, export them all to Google Sheets and then classify them using that same formula as above.

(For this website, it’s 400k keywords – 80 pages! Totally… worth… it. 🙂

The blue rectangle on the right has the formula that categorizes the keywords into Brand/Non-Brand.

(Again, check out the conversion rates between Brand and Non-Brand.)

2. Run a pivot table to calculate the average CPC for non-brand keywords

In this case, and most, Brand CPC is much less than Non-Brand. All due to competition (CPC auction-based after all!)

Another thing we do for our customers that you can try is checking the Brand vs Non-Brand CPA.

Normally CPA gets reported in a bundle – which includes the cost to “acquire” a buyer who bought because they already love the brand. It’s better to separate the CPA from return buyers and new ones this way.

Often you’ll find the CPA is much higher for new customers.

For “Babymart,”, the cost to acquire a new customer is 325% higher than for an existing one:

Part of that is down to the lower CPC – the rest is due to brand loyalty.

3. Calculate the amount of non-brand traffic SEO brings to the site

Earlier, we separated Brand vs Non-Brand revenue to the site using this table. Now we use the same table to work out how much Non-Brand traffic we bring to the site with SEO.

(Hint: it’s 42.5% of 23.5 million, which is 9.9 million sessions.)

4. Multiply non-brand traffic x non-brand CPC

Last step: multiply 9.9 million sessions x $0.29 per click:

$2.9 million.

This is just one more way to measure the actual value of SEO. So far, we know it’s somewhere between $3 and $9 million annually.

This is a pretty large margin of error. So I’ll go over the last method – the one we use. It requires a lot more work, but it calculates the value of SEO down to the penny.

Method #3: counting revenue from landing page reports

This is a pretty large margin of error. So I’ll go over the last method – the one we use. It requires a lot more planning and work, but it calculates the value of SEO down to the penny.

It uses landing page reports from Google Analytics.

The key to this method (which is the one we use) is to create landing pages that target a single Non-Brand keyword.

To more easily track which pages we created, we always put them on one subfolder, like /buy or /products. The traffic, revenue, and leads from any page with that URL path are attributed to SEO.

The argument makes sense:

We built the page. No page, no conversion.

The page ranks for keywords we never ranked for in the past.

We know exactly how much investment went into writing the copy, creating the page, and building the backlinks.

As long as we track the cost of the production of the page, we can calculate the ROI of SEO from it down to the penny.

Here’s how to run the landing page report:

  1. Make a report for the landing pages built by the SEO team

In Google Analytics:

Behaviour > Site Content > Landing Pages

And that’s it! There’s no Step 2.

This is the most accurate report you can create for SEO.

As you can see, the first two methods actually tend to underreport the contribution of SEO to a website’s sales. By our other estimations, the revenue attributable to SEO is $3-9 million. In fact, it’s over $13 million.

We will then save this as a Report so customers can easily check and report their SEO revenue, lead volume, conversion rates, AOV, and other metrics.

Caveat: This works best with long tail keywords – keywords that are 3+ words long or get less than 1,000 searches per month.

How to find long tail keywords to target

If you’re looking for target long tail keywords to go for, the easiest way is to use Ahrefs. Run a site report on your website and look for keywords that have 3+ words and are a maximum of 500 to 1,000 searches per month.

Here’s everything you need to set that up:

1. Position

From: 11. This means you’re currently ranking on Page 2 and below.

2. Volume

To: 500. This means the keywords listed will have relatively low search volume, which makes them less competitive.

3. Word a count

From: 3. The minimum number of words should be 3. The more words, the more specific the search intent.

4. Exclude

Keywords: (your brand), in this example, toms*. Add all permutations of your brand, separated by commas.

For example, if I was doing SEO for, the report would look like this:

What you’re looking for here is organic keywords that don’t precisely match the intent of the creation of the page. Some examples:

Like what you learned in this article?  Click here for more articles like it.

Want to start entering new categories and capturing demand at scale?  Click here to book in a product demo with one of our Customer Acquisition Experts. 

Book a demo

Start capturing your longtail growth potential today

Related Articles