{
  "slug": "paid-organic-keyword-overlap",
  "name": "Paid and organic keyword overlap",
  "aliases": [
    "Overlap count",
    "Paid and organic keyword intersection"
  ],
  "definition": "How many keywords you both bid on in Google Ads and already rank for in organic search over the same period.",
  "category": "Paid and organic",
  "type": "derived metric",
  "unit": "keywords",
  "direction": "neutral",
  "verification": "verified",
  "calculation": "Three governed reads, then a join. The paid keyword set with its cost, clicks and conversions is read whole-domain and capped at five thousand rows by cost. The organic click set is read separately at keyword grain and capped at five thousand rows by clicks. The paid-cost-ranked intersection of those two is cut to the requested row cap, and only those keywords get a third read for impression-weighted average position, deliberately from a different dataset than the clicks came from, so the position formula is the parity one. The frames are joined on the exact keyword string in the compute engine; the overlap count is the number of joined rows, and the response also reports how many keywords each side contributed.",
  "numerator": "Keywords present in both the paid and the organic result sets",
  "denominator": "Reported alongside as the paid keyword count and the organic keyword count, never collapsed into a single ratio",
  "aggregation": "A count of joined rows. Each side is capped before the join, so the count is a bounded sample of the overlap, not a census.",
  "grain": "One count per date range, plus one row per overlapping keyword ranked by paid cost.",
  "dimensions": [
    "keyword"
  ],
  "requiredFilters": [
    "date_range"
  ],
  "sources": [
    "google-ads",
    "search-console"
  ],
  "reports": [
    "paid-organic-overlap-report"
  ],
  "skills": [
    "paid-organic-balance"
  ],
  "verbs": [
    "paid_organic_overlap"
  ],
  "rungs": [
    "R5",
    "R2"
  ],
  "levers": [
    "L8"
  ],
  "questions": [
    "Are we paying for keywords we already rank for?",
    "Which terms do we buy and earn at the same time?"
  ],
  "interpretation": "The size of the surface where paid and organic meet. It is the input to a spend conversation, not the answer to one: overlap says the two channels touch the same demand, and nothing about whether either is redundant.",
  "caveats": [
    "The join is on the exact keyword string. Match-type differences, casing and near-variants will under-count the true overlap.",
    "The paid side is the search term that triggered the ad, not the bidded keyword, the two are separate fields.",
    "Both sides are capped at five thousand keywords before joining and the overlap is returned ranked by paid cost, so the count reflects the top of each list rather than the whole tail.",
    "Organic clicks and organic average position come from two different reads on two different datasets, and the position read covers only the paid-cost-ranked overlap candidates up to the row cap. A keyword outside that cap joins with no position at all.",
    "Whole-domain only.",
    "Slowest contributing source is Google Search Console, so the freshness shown is the organic side's.",
    "The result is stamped observational in the payload itself."
  ],
  "freshness": "1 to 2 days behind, Google's own reporting lag. Any answer touching the last 48 hours says so on the card.",
  "failureModes": [
    "Reading overlap as wasted spend.",
    "Comparing overlap counts between periods where the caps bound different fractions of each list."
  ],
  "notSameAs": [
    {
      "slug": "paying-for-owned-term",
      "why": "The overlap count is every keyword present on both sides; the owned-term flag is the subset of those that also clear an organic rank threshold. One is a set size, the other is a filtered condition on its rows."
    }
  ],
  "related": [
    "paying-for-owned-term",
    "total-search-share",
    "paid-clicks"
  ],
  "workflows": [],
  "lastVerified": "2026-08-04"
}