Rank tracking

How to Calculate SEO Share of Voice: The Formula, a Real Example and a Spreadsheet Method

SEO share of voice is your share of the clicks for a set of keywords. Get the formula, a worked example from five real Google pages, and a spreadsheet method.

SEO share of voice is the share of all clicks for a set of keywords that goes to your site. To calculate it, estimate each site’s clicks from its Google position and each keyword’s monthly searches. Then divide your clicks by the total clicks of every site in the set.

A share of 20 percent means you get about one in five of the clicks your keyword set sends to the results you track. Below are the formulas, a worked example from five real Google pages, and a spreadsheet you can copy.

What is share of voice in SEO?

Share of voice is how much of the attention in your market you get, compared with everyone else. The term comes from advertising, where it meant a brand’s share of all ad spend in its category.

In SEO it means your share of organic visibility for a keyword set. Tools use the idea under different names. Ahrefs says its Share of Voice is the same thing other platforms call a visibility score.

Rank tracking tells you where you sit on one page. Share of voice rolls all your pages and all your rivals into one number you can watch over time.

The share of voice formula

There are two common versions. One counts rankings. The other weighs them by clicks.

Simple visibility: count the spots

Share of voice = your top-10 spots ÷ all top-10 spots in the set

If you track 20 keywords, there are about 200 top-10 spots. If you hold 30 of them, your simple share is 15 percent. It is fast, but it treats a #9 ranking on a tiny keyword the same as a #1 on your biggest one.

Click-weighted: estimate the clicks

Estimated clicks = monthly searches × CTR for the position

Share of voice = your estimated clicks ÷ estimated clicks of all results × 100

CTR, or click-through rate, is the share of searchers who click a result. It drops fast as you go down the page, so a #1 ranking counts for far more than a #9.

Ahrefs’ Rank Tracker works this way: your clicks divided by the clicks to all results for your tracked keywords. Semrush also weighs by search volume. Its help page gives an example: one keyword with 30,000 searches outweighs ten keywords with 50 searches each.

The CTR curve to use

You need a CTR for each position. First Page Sage publishes one twice a year. Its September 22, 2026 update splits the numbers by whether Google showed an AI answer on the page.

PositionAI answer presentNo AI answer
13.6%22.6%
21.4%10.2%
30.8%5.8%
40.5%3.7%
50.3%2.5%
60.3%1.8%
70.2%1.3%
80.2%0.9%
90.1%0.7%
100.1%0.5%

These numbers are far lower than older studies. First Page Sage’s own 2025 report put position 1 at 39.8 percent. Backlinko’s study of 4 million results put it at 27.6 percent. Our guide to what a good organic CTR is covers both the new and the older figures.

For share of voice, the level matters less than the shape. Every curve drops steeply from #1 to #10. As the example below shows, the shares barely change when you swap curves.

Worked example: who owns “share of voice” on Google?

We took five keywords about share of voice itself. We pulled the US desktop Google results for each on October 9, 2026, and the US monthly searches from DataForSEO. Every page had an AI Overview on top, so we used the “AI answer present” curve.

Here are the two sites that show the lesson best:

KeywordSearches a monthSprout SocialHubSpot
share of voice880#1: 880 × 3.6% = 31.7#4: 880 × 0.5% = 4.4
what is share of voice320#1: 320 × 3.6% = 11.5#2: 320 × 1.4% = 4.5
share of voice marketing260Not in top 10Not in top 10
how to calculate share of voice170#2: 170 × 1.4% = 2.4#1: 170 × 3.6% = 6.1
share of voice calculation140Not in top 10#7: 140 × 0.2% = 0.3
Estimated clicks45.615.3

Each page showed nine organic results, so the set has 45 results in total. Together they get about 131 estimated clicks a month. We counted HubSpot’s blog subdomain as HubSpot.

SiteSimple visibility (spots held ÷ 45)Click-weighted share of voice
Sprout Social3 spots = 6.7%45.6 ÷ 131 = 34.8%
HubSpot4 spots = 8.9%15.3 ÷ 131 = 11.7%
Wikipedia2 spots = 4.4%13.9 ÷ 131 = 10.6%

The two methods disagree. By simple count, HubSpot leads, because it ranks on four of the five pages. By clicks, Sprout Social has three times HubSpot’s share. It holds #1 on the biggest keyword, and that one keyword is worth more than all of HubSpot’s spots together.

Then we checked how much the curve choice mattered. With the “no AI answer” curve, total clicks jumped from 131 to 876. Sprout Social’s share moved only from 34.8 to 32.9 percent, and HubSpot’s from 11.7 to 12.0 percent. Pick a curve, keep it, and the trend you see will be real.

How to calculate share of voice in a spreadsheet

You need two tabs in Google Sheets or Excel.

  1. Make a “Curve” tab. Put positions 1 to 10 in column A and the CTR for each in column B, as decimals (0.036 for 3.6 percent).
  2. Make a “Rankings” tab. One row per result: Keyword, Searches, Domain, Position. List every site in the top 10, including your rivals.
  3. Add an estimated clicks column. Multiply searches by the CTR for that position.
  4. Total the clicks per domain. Use a pivot table, or a SUMIF per domain.
  5. Divide by the grand total. That is each site’s share of voice.

The formulas, with Keyword in column A through Position in column D:

E2  (estimated clicks):   =B2*VLOOKUP(D2, Curve!A:B, 2, FALSE)
Share for one domain:     =SUMIF(C:C, "sproutsocial.com", E:E) / SUM(E:E)

Filling the Rankings tab by hand works for about 20 keywords. You can check Google rankings from a private window for a small set. Past that, you need rank data you do not have to copy.

How to automate share of voice with rank data

The data you need is the full top 10 for each keyword, every week, with every domain and position. A rank tracking API returns exactly that as JSON. Store each row, then run the same math in code.

Here is the calculation in Python, using the curve above:

CTR = {1: 0.036, 2: 0.014, 3: 0.008, 4: 0.005, 5: 0.003,
       6: 0.003, 7: 0.002, 8: 0.002, 9: 0.001, 10: 0.001}


def share_of_voice(rows):
    """rows: (keyword, volume, domain, position) for every top-10 result."""
    clicks = {}
    for keyword, volume, domain, position in rows:
        clicks[domain] = clicks.get(domain, 0) + volume * CTR[position]
    total = sum(clicks.values())
    ranked = sorted(clicks.items(), key=lambda pair: pair[1], reverse=True)
    return {domain: round(100 * c / total, 1) for domain, c in ranked}

Run on the 45 results above, it returns Sprout Social 34.8, HubSpot 11.7 and Wikipedia 10.6, matching the table.

The cost stays small. Checking 500 keywords once a week is about 2,170 result pages a month. At Serplify’s $0.005 per page, that is about $11 a month. Our guide to tracking rankings in bulk covers the scheduling and storage.

Share of voice vs share of market

Share of voiceShare of market
MeasuresAttention: visibility or clicksSales: revenue or units sold
Comes fromRankings, ads, mentionsSales data, industry reports
MovesWeek to weekQuarter to quarter

Many marketers watch share of voice as an early signal for share of market. People have to see you before they can buy from you.

Mistakes that skew share of voice

  1. Mixing branded keywords in. You will own your brand name. Keep brand terms in a separate set or they inflate your share.
  2. Mixing countries or devices. A US desktop ranking and a UK mobile ranking are different pages. Calculate each market on its own.
  3. Changing the keyword set or the curve. Both reset your baseline. Change them rarely, and note the date when you do.
  4. Mixing volume sources. Tools disagree on search volume. Use one source for every keyword.
  5. Ignoring the rest of the page. An AI Overview or a People Also Ask box can take clicks before any result. Tracking your AI visibility shows the part of the page that rankings miss.

Start with 20 to 50 keywords that match what you sell. Calculate it once by hand to see how it works, then automate it. The trend line is the part you will use.

Frequently asked questions

What is the formula for share of voice?

In SEO, share of voice equals your estimated clicks divided by the estimated clicks of every result you track, times 100. For each keyword, estimated clicks are monthly searches times the CTR for your position. Add them up across all keywords before you divide.

What is a good share of voice percentage?

There is no standard number, because it depends on how many keywords and rivals you track. Judge it against your top competitor on the same keyword set, and watch whether it rises month over month. In our five-keyword example, the leader held about a third of the clicks.

What does 100% share of voice mean?

It would mean your site gets every click in the set, which cannot happen in search, since each page shows many results. Some tools use a different 100 percent: Semrush's Visibility score hits 100 percent when you rank first for every tracked keyword.

What is the difference between share of voice and share of market?

Share of voice measures attention: your share of visibility or clicks. Share of market measures sales: your share of all revenue or units sold in your category. Attention comes before buying, so share of voice is often watched as an early signal.

What does SOV mean?

SOV stands for share of voice. It began in advertising as a brand's share of all ad spend or ad impressions in its category. In SEO it means your share of organic visibility or clicks for a set of keywords.

Sources and further reading

  1. First Page Sage: Google click-through rates by ranking position (updated September 22, 2026) firstpagesage.com
  2. Backlinko: organic CTR study of 4 million search results backlinko.com
  3. Ahrefs Help: What is Share of Voice and how is it calculated? help.ahrefs.com
  4. Semrush Knowledge Base: Position Tracking overview semrush.com

From the team that built it

Put this into practice with the SERP API.

Real-time Google SERP API with AI-ready JSON — 26+ SERP feature types, location and device targeting, 99.9% uptime — full live SERPs at a fraction of the going rate.

Start on the free balance — no card required.