Search Intelligence: building a tool to join paid and organic search

Most businesses that run Google Ads and SEO look at them in separate reports, often from separate suppliers. Nobody sees where the two overlap, where one is carrying the other, or where both miss valuable searches. I built Search Intelligence to answer that, and it now runs for client accounts in the UK and the US.

At a glance

Type Own tool, built for client work
What it does Joins Google Ads search terms with Google Search Console data and classifies every search
Builds A local browser app and a Python script that produce identical results, plus client versions
Used for Kwiat (US), condoms.uk (UK) and GaraDry (UK and US)
Built August 2026

The problem

Google Ads search term reports show which searches cost money and convert. Search Console shows where a site’s pages already appear and rank. Each on its own answers half the question. To decide where budget should go, which searches content should target and whether brand ads are worth it, you need both, matched search by search.

Doing that by hand in spreadsheets is slow and error-prone, especially for accounts with tens of thousands of searches.

The SEO and AI search strategy it supports

Area How Search Intelligence supports it
Budget allocation Shows where ads cover ground organic hasn’t reached, and where they duplicate strong organic rankings
Content planning Lists converting paid searches with no organic presence, so content targets proven demand
Page two bridging Flags valuable searches stuck on page two organically with no ads, where paid can help while content improves
Waste reduction Identifies paid searches spending without results, feeding negative keyword lists
Brand decisions Separates brand searches so brand bidding can be tested rather than assumed
Reporting Gives owners one view of search, not two reports that never meet

What was built

A browser app that runs from a local file, so client data isn’t uploaded anywhere to be analysed. It loads CSV or Excel exports, finds the header row past the Google Ads preamble, removes total rows, and detects which columns hold clicks, costs, conversions, impressions and positions.

A Python script for larger and repeated runs, which produces the same results line for line as the browser app.

The outputs: headline figures, a coverage view of how searches split between paid only, organic only, both and neither, a breakdown by strategy, and a formatted spreadsheet with a tab for each segment, with explanations built into every tab and column.

Client versions with the right currency and brand terms: Kwiat in dollars, condoms.uk and GaraDry in pounds, and GaraDry’s US store run separately in dollars.

Problems caught before they reached a client

Two data faults surfaced in early runs, and both became checks that now run first:

  • The wrong accounts joined. In one run, paid data from a different business was joined against the organic data. Almost every search landed in a single bucket and almost nothing overlapped, a pattern that’s now checked before any analysis.
  • Clicks labelled differently. Some Google Ads exports label clicks as “Interactions”. Until the tool recognised that label, paid clicks read as zero and every cost figure was wrong. The mapping now handles both, and the detected columns are always confirmed on a new account.

Neither fault reached a client, because the output was checked before it was trusted.

What it found

  • Kwiat: high-impression pages were earning very few clicks, and checking the live results found search titles that weren’t displaying properly. The steer moved Ads budget away from competitor name searches and brand duplication, towards commercial searches stuck on page two.
  • condoms.uk: most Google Ads spend was already going on searches where organic sat on page two or below, so paid was covering ground organic hadn’t reached. It also surfaced thousands of converting paid searches, many combining a brand with a product attribute, with no organic presence.
  • GaraDry: separate runs for the UK and US stores, so each market’s paid and organic picture is judged on its own.

What I learned

A tool that produces a confident-looking spreadsheet can be completely wrong without looking wrong. Both early faults produced plausible output. The fix wasn’t in the tool alone. It was checking the shape of the result against what the data should look like before believing any of it.

The most useful output wasn’t a keyword list. It was seeing where paid search had already proved the demand that organic hadn’t reached yet, which turned the SEO plan into something the whole marketing budget could get behind.

Limitations

The match between paid and organic is never complete, because Search Console anonymises some low-volume queries. Results depend on conversion tracking in the Google Ads account being right. Traffic value estimates rely on stated assumptions and aren’t quoted to clients as savings.

Services used

Search Intelligence powers paid and organic search planning, Search Intelligence reports and keyword research. How the tool works is set out on the Search Intelligence tech stack page. It’s used across ecommerce and Shopify clients.

FAQ

Why join Google Ads and Search Console data?

Because each shows only half the picture. Google Ads shows which searches convert and what they cost, while Search Console shows where your pages already rank. Joined together, they reveal where you’re paying for clicks organic could win, and where valuable searches are being missed by both channels.

What went wrong in early runs of the tool?

Two data problems were caught before any analysis went to a client. In one, paid data from a different business had been joined by mistake. In another, a Google Ads export labelled clicks as interactions, so paid clicks read as zero. Both led to checks that now run first.

Can Search Intelligence work for stores in different currencies?

Yes. Separate versions run for UK stores in pounds and US stores in dollars, with each client’s brand terms set so brand searches are classified correctly. GaraDry’s UK and US stores, for example, are analysed as separate markets with their own exports.

See your paid and organic search together

Get in touch about a Search Intelligence report, or start with a free assessment.

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.