TraceLinker
Docs
Competitor Gap Analysis

Competitor Gap Analysis

Upload a competitor's backlink CSV, see every domain linking to them but not to you, with AI-drafted outreach pitches.

Competitor gap analysis is one of the most direct paths to new backlinks: find every domain that links to your competitor but not to you, then pitch them similar content. Most tools charge $99-$499/month for this. TraceLinker includes it on Pro and above.

How it works

You upload a competitor's backlink CSV (export from Ahrefs, Semrush, GSC if you somehow have access, or any tool). We:

  1. Parse and store the rows in a competitor_audits table.
  2. Cross-check each source domain against your own discovered_backlinks and monitored_links.
  3. Mark each row as overlaps_with_user = true (you already have this domain) or false (gap opportunity).
  4. Rank the gap opportunities by AI-estimated value.
  5. For the top opportunities, generate a "why this site might link to you" angle that you can use as the basis for an outreach pitch.

The output is a sortable list of "domains linking to competitor but not me" with concrete pitches per row.

Quotas

PlanCompetitor audits / month
Free0
Pro5
Agency50

Running a competitor audit

Open the Competitors page

Click Competitors in the sidebar. Free users see an upgrade prompt; Pro and Agency see the index of past audits.

Competitors index page with list of past audits

Click + New Competitor Audit

The form has two fields:

  • Competitor domain - e.g. competitor.com. Used for labelling and AI prompt context.
  • Backlink CSV - exported from any tool. Same format as our own audit CSV: source_url, target_url, anchor_text.

New competitor audit form with domain field and CSV upload

Click Start analysis

Same flow as a regular audit - you redirect to the detail page immediately, the analysis runs server-side, an email arrives when done.

The processing is faster than a normal audit because we skip per-link AI scoring (we just need domain-level data for the gap analysis). A 1,000-link competitor CSV finishes in 1-2 minutes.

Reading the results

The competitor audit detail page has three main sections:

Overlap stats

Top of the page summarizes:

  • Total competitor links: rows we ingested.
  • Unique source domains: deduplicated count.
  • Domains overlapping with you: domains that already link to your site too.
  • Gap domains: domains linking only to the competitor.

📸 Competitor audit detail with overlap stats

The gap count is your opportunity space. Even after filtering out junk, a typical SaaS competitor analysis surfaces 50-200 worthwhile gap domains.

Gap opportunities table

The main table lists every gap domain ranked by AI-estimated value:

ColumnWhat it shows
DomainThe site linking to the competitor.
Topic / TypeAI-classified: blog, news, directory, etc.
Pages linkingHow many pages of theirs link to your competitor.
Anchors usedTop anchor texts they used (signals what topic they care about).
Pitch angleOne sentence explaining how to approach them.
Action"Draft outreach" button (uses Reclaim engine).

📸 Competitor gap opportunities table

Sorting by AI-estimated value puts the highest-leverage targets at the top.

Drafted pitches

Click Draft outreach on any row to generate a custom pitch. Same engine as Reclaim Lost Links but with a different prompt: instead of "your link disappeared, please restore," it's "you link to my competitor on this topic, here's what I have on the same topic that's [different / better / more recent]."

The draft includes:

  • Subject line referencing the topic they linked the competitor on.
  • Body explaining your alternative resource (you fill in the URL).
  • A polite "would you consider linking" close.

📸 Drafted pitch modal for a competitor gap row

You then send via Gmail, default email client, or "Send via TraceLinker" (Pro+).

Best practices

Pick the right competitor

The closer the competitor is to your positioning, the more transferable their backlinks. A good rule:

  • Direct competitor (same product, same audience) → 60-80% of their backlinks are transferable.
  • Adjacent competitor (related product, overlapping audience) → 30-50%.
  • Aspirational competitor (much bigger, broader audience) → 10-20%.

For a startup: pick 2-3 direct competitors plus 1 adjacent. Don't bother with the giants - their backlinks are often relationships you can't replicate.

Filter aggressively

Most CSV exports from Ahrefs/Semrush include garbage: scraper sites, mirrors, expired domains. Filter the gap table by:

  • Topic = blog or news (the highest-conversion outreach targets).
  • Pages linking ≥ 2 (one-off mentions are flukes; multiple links suggests real interest).
  • Anchors include topic keywords (signals they care about the topic, not just the competitor's brand).

Don't pitch with a generic template

The drafted pitch is a starting point, not a final email. Customize the middle paragraph with:

  • A specific reason your resource is different (newer data, different angle, free tool, original research).
  • A reference to a recent post they wrote (shows you actually read their site).
  • A clear ask (replace? add as additional source? mention in a roundup?).

Generic blast outreach has a 1-3% reply rate. Personalized outreach with a clear angle hits 15-25% on the right targets.

Track outcomes

Every drafted pitch lives in the same Reclaim queue with status drafted → sent → replied → closed. Filter by source = "competitor analysis" to see your gap-pitch funnel separately from regular reclaim.

What the AI pitch angle says

Examples of generated angles for various row types:

  • Blog about "best SaaS for X": "They round up tools in your category. A pitch with a feature comparison highlighting your differentiator works."
  • News site covering competitor's funding: "Probably not transferable. They write about funding events, not products."
  • Directory or listicle: "Submit your product. Often a free or paid listing form."
  • Personal blog: "Higher reply rate, lower authority. Pitch a guest post or original quote."

The angle is meant to set your strategy. Skip rows where the angle is "probably not transferable."

Cross-checking with your audits

TraceLinker automatically marks competitor sources as overlaps_with_user = true if they already appear in your discovered_backlinks (from any past audit) or monitored_links. This avoids the embarrassing case of pitching a publisher who already linked to you.

You can dig into the overlap rows separately - they often reveal that you have backlinks you forgot about, or that a placement you thought was unique is actually shared with the competitor.

Troubleshooting

The CSV upload errored: "no source_url column". Ahrefs export naming changed at some point. Rename Referring Page URL to source_url, Linked Domain or Target URL to target_url, and Anchor to anchor_text. Or use our CSV format converter.

The gap count is huge (10,000+). Big competitors have huge link profiles. The AI-estimated value ranking helps - take the top 100 and ignore the long tail. Or filter to only the topic types you care about.

Several gap rows don't actually link to the competitor anymore. TraceLinker doesn't re-crawl every competitor row to verify the link still exists. Backlink data ages quickly. If a pitch reply says "we don't link to that company," apologize, move on, and consider that the CSV was 6+ months stale.

No "Draft outreach" button on a row. Outreach drafting respects your monthly draft cap (50 on Pro, 500 on Agency). If you've drafted everything you wanted, the button is disabled until next month.

Next