Search Intelligence

Search Intelligence is a tool I built to answer a question most businesses running Google Ads and SEO can’t: are the two working together, or getting in each other’s way? It joins Google Ads search term data with Google Search Console data, search by search, and shows where paid and organic overlap, where each is carrying the other, and where valuable searches are being missed by both.

What it does

Search Intelligence takes two exports, a Google Ads search terms report and a Google Search Console queries export, and matches every search across both. Each search is then sorted by what’s happening in each channel: paid and organic both strong, paid covering ground organic hasn’t reached, organic winning with no paid spend, valuable searches stuck on page two with no ads, or paid spend that isn’t converting.

The output is a clear picture of the whole search account, not two separate reports that never meet.

How it works

  1. Load the exports. Google Ads search terms and Search Console queries, as CSV or Excel files. The tool finds the header row past the Google Ads preamble and removes total rows automatically.
  2. Check the columns. It detects which columns hold clicks, costs, conversions, impressions and positions, and shows the mapping so it can be confirmed. Some Google Ads exports label clicks as “Interactions”, which the tool handles.
  3. Join and classify. Every search is matched across both datasets and classified.
  4. Apply the assumptions. Editable settings, such as brand terms and click-through rate assumptions, are shown so it’s clear what shaped the numbers.
  5. Produce the outputs. Headline figures, a coverage view of how searches split across the channels, a breakdown by strategy, and a formatted spreadsheet with a tab for each segment.

It runs as a local file on my computer, and as a Python script for larger or repeated runs. Both produce the same results line for line.

What I check before trusting the output

The join is only as good as the data going in, so two checks come first:

  • Are both exports from the same business? If paid and organic data don’t belong together, almost everything lands in one bucket and almost nothing overlaps. That pattern is checked for before any analysis.
  • Did clicks and costs map correctly? If paid clicks come back as zero across the board, the column mapping has failed and the efficiency figures would be meaningless.

Search Console data is pulled through the API rather than the on-screen export, which is capped and would make gaps look bigger than they are. Anything the tool flags is then checked against the live search results and the Google Ads account before it becomes a recommendation.

Example output

HEADLINE: Most paid spend sits on searches where organic ranks between positions 7 and 17. Very little goes on searches where organic already holds the top three. READING: Paid is covering ground organic hasn’t reached, not duplicating it. STEER: Keep that spend. Point content and SEO at the highest-converting paid searches first, then shift budget as organic climbs.

The example reflects a real finding, with figures removed.

Where it’s been used

  • condoms.uk: a year of paid and organic data showed most Google Ads spend already covering searches where organic sat on page two or below, which pointed SEO at the next opportunities
  • Kwiat: the analysis moved budget away from competitor name searches and duplicated brand spend, towards commercial searches stuck on page two
  • GaraDry: a separate version runs for each of its UK and US stores

The findings, and how they were written up, are covered in the Search Intelligence case study.

What I review

The tool classifies searches. It doesn’t know a business. I decide what each finding means: which terms are sub-brands that must never be blocked, which apparent waste is actually a converting niche, and which decisions need the client’s input. Every recommendation is reviewed before it’s shared, and every change to a live Google Ads account is approved first.

Limitations

  • Search Console anonymises some queries, so the paid and organic match is strong but never complete.
  • Conversion tracking drives everything. If the Google Ads account records minor actions as conversions, efficiency figures will mislead, so tracking is checked first.
  • Traffic estimates use assumptions. Where the tool estimates organic traffic value, the assumptions are shown, and headline “cost to buy” figures based on placeholder costs are never quoted to a client.

Services it powers

Search Intelligence powers paid and organic search planning, Search Intelligence reports, keyword research and Google Ads management. You can see the rest of the tools on the tech stack page.

FAQ

What does Search Intelligence need to run?

Two exports: a Google Ads search terms report and a Google Search Console queries export, ideally covering the same 12 months. The organic data is best pulled through the Search Console API rather than the on-screen export, which is capped and can make gaps look bigger than they are.

Is my Google Ads data shared with anyone?

No. The main version of Search Intelligence runs as a local file on my own computer, so client data isn’t uploaded to a third-party service to produce the analysis. The outputs, a steer document and a spreadsheet, are shared only with you and anyone you choose.

How accurate is the paid and organic match?

The match is made search by search, so where a query appears in both exports it’s exact. It’s never complete, because Search Console anonymises some low-volume queries. Before any analysis, the join is checked to confirm both datasets belong to the same business and costs and clicks mapped correctly.

Get started

Proof, not promises.

Tell me what's going on and I'll come back with what I'd do first. No obligation, and no report you need a translator for.

Over 925,000 impressions and 13,795 clicks in a year, from people asking one awkward question: what size do I need?condoms.uk, past 12 months

Brands and sites I have worked on

Brands worked on across nearly twenty years, in agency roles and directly.