Key takeaways

  • The CSV keeps ranking keywords and top 10 keywords in separate columns so both sort as numbers.
  • Domain Overview fills five columns in one 50-credit run: visits, ranking keywords, top 10 keywords, referring domains and link rank.
  • seogeoaeo.ai tools run from REST or MCP at the same credit price as the browser, with maxCredits to cap each run.

If you want a competitor analysis Excel template without downloading a macro-laden workbook, paste a CSV header into a text file, save it, and open it. That gives you a sheet where every numeric column sorts and filters properly, which matters more than colors or charts. This tutorial walks through the header, the column types, and how to fill the rows from data that is comparable.

Step 1: save the header

Create competitors.csv with this content:

site,role,organic_visits_month,ranking_keywords,top10_keywords,top_pages,shared_keywords,gap_keywords,referring_domains,link_rank,content_types,google_ads,social_ads,ai_citation_share,decision_notes
yoursite.com,you,,,,,n/a,n/a,,,,,,,
competitor-1.com,,,,,,,,,,,,,,
competitor-2.com,,,,,,,,,,,,,,
competitor-3.com,,,,,,,,,,,,,,

This is the CSV published with the competitor analysis template on seogeoaeo.ai. Open it in Excel or Google Sheets. Your own domain stays in row two; shared and gap keywords are "n/a" for it because you can't compare a site with itself.

Step 2: know which columns are numbers

The header keeps one value per cell so Excel can treat the numbers as numbers:

Column Type Note
organic_visits_month integer estimate
ranking_keywords integer all ranking keywords
top10_keywords integer split out so it sorts on its own
shared_keywords integer overlap with your site
gap_keywords integer what they rank for that you don't
referring_domains integer linking sites
link_rank integer 0 to 1,000
ai_citation_share percent share of AI answers citing the site
role, top_pages, content_types, google_ads, social_ads, decision_notes text

A cell like "800 (100)" reads well in a slide but breaks a sort. Keeping ranking and top 10 keywords apart fixes that. Format ai_citation_share as a percentage, and write "Not cited" in a text note rather than a zero if a site never appears, so a filter for blanks doesn't hide it.

Step 3: fill each column from one source

Estimates from different providers do not line up, so each column needs one source for every row, including yours. With seogeoaeo.ai, the mapping looks like this:

  • role, shared_keywords: Competitor Finder, 38 credits, run once on your domain. It lists 30 sites that share the most keywords with you and flags close competitors at 5% overlap.
  • organic_visits_month, ranking_keywords, top10_keywords, referring_domains, link_rank: Domain Overview, 50 credits per domain. Keywords come split by position, so the top 10 count is the sum of the top buckets.
  • top_pages: Competitor Keywords, 35 credits.
  • gap_keywords: Keyword Gap, 85 credits per rival, comparing your URL with theirs.
  • google_ads: Competitor Google Ads, 15 credits.
  • social_ads: Meta Ad Finder and LinkedIn Ad Finder, 5 credits each.
  • ai_citation_share: AI Citation Finder in topic mode, 160 credits, run once. It returns the share of answers that cite each site, which fills every row together.

content_types is the manual one. Open each top page and label it: guide, template, calculator, comparison page, category page or documentation.

Each tool also has a REST endpoint and an MCP tool, so if you would rather script the fill than click through, a run from code costs the same credits as one from the browser, and maxCredits refuses a run above the price you set.

Step 4: sort, filter, decide

With numeric columns in place, three sorts tell you most of what you need:

  1. Sort by gap_keywords descending to see which rival has the most you lack.
  2. Filter role to "both" to isolate rivals that compete in search and in sales.
  3. Sort by ai_citation_share to see who AI answers lean on.

Write each conclusion in decision_notes as one line: the action, the row and column that justify it, an owner and the date you will recheck.

Step 5: version it

Save a copy per quarter, for example competitors-2026-q4.csv, and diff the numbers between refreshes. Provider estimates shift when their data updates, so look for changes that hold across two refreshes before acting on them. Drop any column that hasn't fed a decision in two quarters.

seogeoaeo.ai fits the quarterly fill. If you need daily keyword positions between refreshes, use a rank tracker in a suite like Semrush; seogeoaeo.ai doesn't offer one.

Frequently asked questions

Does this template work in Google Sheets?

Yes. Save the CSV and open it in Google Sheets or Excel.

Why split keywords and top 10 keywords?

A combined cell such as 800 (100) is text and breaks sorting. Two numeric columns sort and filter properly.

Can the columns be filled from code?

Yes. Every seogeoaeo.ai tool has a REST endpoint and an MCP tool, priced the same as a browser run.

Sources

  1. SEO competitor analysis template with a worked exampleseogeoaeo.ai
  2. seogeoaeo.ai tool catalog with credit pricesseogeoaeo.ai
  3. seogeoaeo.ai llms-full.txtseogeoaeo.ai
  4. Domain Overviewseogeoaeo.ai
  5. Competitor Finderseogeoaeo.ai
  6. seogeoaeo.ai pricingseogeoaeo.ai
  7. Semrush plans and pricingSemrush

Add ClaudeGPT Si as a preferred source on Google