How to See Which Organic Keywords Drive Conversions in GA4 & GSC
"Which organic keywords are actually making us money?"
It's one of the most common questions I get from clients. And it's one of the most frustrating to answer, because Google makes it surprisingly difficult to find out.
You're investing in SEO. You're creating content. You're ranking for keywords. Traffic is coming in. Conversions are happening. But which keywords are driving those conversions? Which content is actually worth the investment?
If you've looked for this data in GA4, you've hit a wall. If you've tried to figure it out in Google Search Console, you've hit a different wall. And if you've asked your agency, you've probably been told it's "not really possible."
Here's the thing: it is possible. It just requires a different approach.
The Problem: Two Systems That Don't Talk to Each Other
To understand why this is difficult, you need to understand what data each system actually holds.
What Google Search Console Knows
Search Console is brilliant at telling you about your search presence. It knows:
Which keywords people searched to find your website
How many impressions each keyword generated
How many clicks each keyword drove
Which landing pages those clicks went to
What device people were using
Which country they were searching from
This is incredibly valuable data. But Search Console has a blind spot: it has no idea what happens after someone clicks through to your website. Did they bounce? Did they read three pages? Did they fill out a contact form? Did they buy something? Search Console doesn't know.
What Google Analytics 4 Knows
GA4 is brilliant at telling you about on-site behaviour. It knows:
Every page someone visited
How long they spent on your site
Whether they converted (form submissions, purchases, phone calls)
How much revenue that conversion was worth
What device and location they were using
But GA4 has its own blind spot: organic keywords. For privacy reasons, Google masks the search terms that brought organic visitors to your site. In your reports, you'll see "(not provided)" instead of the actual keyword.
GA4 knows someone converted from organic search. It just won't tell you what they searched for.
The Missing Link
Here's where it gets frustrating: there's no shared identifier between these two systems. No user ID. No session ID. Nothing that lets you directly connect "Keyword A" in Search Console to "Conversion B" in GA4.
Google doesn't provide this connection. It's not a configuration issue or a setting you've missed. It's a fundamental architectural limitation.
This is why most businesses - and most agencies - simply accept that keyword-level conversion data isn't available for organic search.
Why This Matters More Than You Think
You might be wondering if this actually matters in practice. Can't you just look at which pages convert well and assume the keywords ranking for those pages are valuable?
Sometimes. But often that assumption leads you astray.
The High-Traffic, Low-Value Keyword Problem
I regularly find keywords that drive thousands of visits but almost no conversions. They look great in Search Console reports - high impressions, good click-through rates, strong rankings. But the traffic they bring isn't commercially valuable.
Without keyword-level conversion data, you might pour resources into ranking higher for these terms, creating more content around them, building more links. All wasted effort.
The Hidden Gem Problem
Conversely, I often find keywords that drive relatively low traffic but exceptional conversion rates. These are the terms where searcher intent perfectly matches what you offer. They might only bring 50 visits a month, but if 10 of those convert, that keyword is gold.
Without attribution data, these keywords stay invisible. You don't know to protect those rankings, create more content around that topic, or expand into related terms.
The Cannibalisation Problem
Sometimes two pieces of content compete for the same keyword. Traditional SEO tools will tell you this is happening, but they can't tell you which page actually converts better for that term. You might consolidate the wrong one.
The Budget Justification Problem
Perhaps most importantly: if you can't prove which keywords drive revenue, you can't properly justify SEO investment. You're left making vague arguments about "organic traffic growth" rather than showing concrete ROI.
The Solution: Probabilistic Matching in BigQuery
I've built BigQuery data pipelines that bridge the gap between Search Console and GA4. The approach combines probabilistic matching with statistical attribution to estimate which keywords drive conversions.
Is it perfect? No - I'll be honest about that. But it's directionally accurate enough to make better decisions than you could make without it.
The Foundation: Raw Data Exports
The first requirement is getting raw, granular data out of both platforms and into BigQuery.
Both Search Console and GA4 offer BigQuery exports. These exports provide row-level data rather than the pre-aggregated summaries you see in the standard interfaces. This granularity is essential - you can't do this work with aggregated reports.
For Search Console, I typically work with URL-level data that includes the query, landing page, device, country, and click/impression metrics. Ideally, this is at hourly granularity, though daily can sometimes work too.
For GA4, I use the event-level export that includes session details, user properties, and conversion events with their associated values.
The Matching Logic
Once both datasets are in BigQuery, I join them on every available shared dimension:
Landing Page URL - The most important matching dimension. If Search Console shows clicks to /services/seo-audit/ and GA4 shows a conversion with that landing page, that's a strong signal.
Date and Time - The narrower the time window, the more confident the match. Hourly matching is more precise than daily. If a click happened at 2pm and a conversion happened at 2:15pm on the same page, that's a strong correlation.
Device Category - Mobile, desktop, or tablet. If Search Console shows a mobile click and GA4 shows a mobile conversion, that's another matching dimension.
Geographic Location - Country or region. A click from the UK matched to a conversion from the UK adds confidence.
When all these dimensions align, there's a candidate match between a keyword and a conversion.
The Attribution Challenge
Here's where it gets statistically interesting: multiple keywords can match a single conversion.
Imagine someone converts on your /contact/ page from a mobile device in London at 3pm on Tuesday. Search Console might show that five different keywords drove clicks to that page, from mobile devices, in the UK, during that hour.
Which keyword gets credit for the conversion?
This is where attribution modelling comes in. The simplest approach is click-weighted distribution: if Keyword A drove 70% of the clicks matching those dimensions and Keyword B drove 30%, the conversion value is split 70/30.
More sophisticated models can incorporate additional factors:
Historical conversion rates - Keywords that have historically converted well get proportionally more credit
Keyword intent signals - Transactional keywords ("buy," "hire," "get quote") may be weighted more heavily than informational ones
Position weighting - Keywords ranking in position 1-3 might receive more credit than those ranking 7-10
Recency - Clicks closer in time to the conversion may be weighted more heavily
The specific model depends on the business context and how much historical data is available.
Confidence Scoring
Not all matches are equally reliable. I assign confidence scores based on how many dimensions align and how specific the match is.
A conversion matched to a single keyword on an exact landing page, same hour, same device, same country? High confidence.
A conversion matched to 15 possible keywords on a generic landing page with only daily time matching? Lower confidence.
I typically filter outputs to only include matches above a certain confidence threshold, and I'm transparent about what that threshold means for data reliability.
What the Output Looks Like
The end result is a dataset showing estimated conversion value by keyword. This can be surfaced in several ways:
Looker Studio Dashboards - Visual reporting with automated refresh, showing keyword performance over time with the ability to filter by confidence level, date range, and conversion type.
BigQuery Tables - Raw data available for custom analysis, integration with other systems, or export to SEO tools.
Spreadsheet Exports - For teams who prefer working in Excel or Sheets, or for one-off analysis.
The data typically includes:
Keyword
Estimated conversions attributed
Estimated revenue attributed
Confidence score
Supporting metrics (clicks, impressions, average position)
Trend over time
What This Enables
With keyword-level conversion data, you can make decisions that were previously impossible:
Prioritise content investment - Focus on topics and keywords that actually drive business outcomes, not just traffic.
Identify undervalued keywords - Find the hidden gems that convert well but aren't getting enough attention.
Cut underperforming efforts - Stop investing in content that ranks well but doesn't convert.
Justify SEO budgets - Show concrete ROI from organic search investment, not just traffic metrics.
Inform paid search strategy - If a keyword converts well organically, it's probably worth bidding on too.
Guide technical SEO priorities - Know which pages to prioritise for Core Web Vitals improvements, mobile optimisation, and other technical work.
The Honest Limitations
I believe in being upfront about what this approach can and can't do.
It's probabilistic, not deterministic. We're inferring connections based on patterns, not tracking individual users across systems. The data is directionally accurate, not accounting-precise.
Confidence varies. Some keyword-conversion matches are highly reliable; others are educated estimates. I provide confidence scores so you know the difference.
It requires data infrastructure. This isn't a plug-and-play tool. It requires BigQuery exports to be set up, pipelines to be built and maintained, and some ongoing data engineering.
It works best with volume. Sites with very low traffic or very few conversions may not have enough data points for reliable statistical matching.
It's a snapshot, not a crystal ball. The model shows what has driven conversions historically. It doesn't predict future performance, though historical patterns are usually a good guide.
Why I Don't Share the Exact Implementation
If you've read this far, you might be wondering why I'm explaining the methodology but not providing copy-paste SQL queries.
A few reasons:
Every implementation is different. Your GA4 setup, conversion definitions, BigQuery schema, and business context all affect how the pipeline needs to be built. Generic code wouldn't work out of the box.
The details matter. Edge cases, data quality issues, and attribution model tuning require expertise to handle correctly. Getting these wrong produces misleading data - worse than having no data at all.
This is genuinely specialist work. Not because I want to gatekeep, but because building reliable data pipelines requires experience with BigQuery, understanding of both GA4 and Search Console data structures, and statistical knowledge to implement attribution models correctly.
If you have a data engineer or analytics specialist who understands these systems, the methodology above gives them a roadmap. If you don't have that expertise in-house, this is the kind of work worth hiring someone for.
Is This Worth It For Your Business?
This approach makes sense if:
Organic search is a significant channel for your business
You're investing meaningfully in SEO (content, technical improvements, link building)
You want to optimise that investment based on commercial outcomes, not just traffic
You have enough conversion volume to make statistical matching reliable (typically 50+ conversions per month as a minimum)
You're comfortable with directional data rather than perfect precision
It's probably overkill if:
Organic search is a minor channel for you
You're not actively investing in SEO
You have very low traffic or conversion volumes
You need exact attribution for financial reporting (probabilistic data isn't suitable for this)
The Bigger Picture
This blog post is about keyword attribution, but it illustrates a broader point about analytics.
The data you need often exists - it's just trapped in silos, hidden behind interface limitations, or not connected in the way you need. GA4 and Search Console both contain valuable information; the limitation is that Google doesn't join them for you.
BigQuery changes what's possible. When you have raw data in a warehouse you control, you can connect sources that weren't designed to talk to each other, build custom models that match your business logic, and answer questions that standard reporting tools can't touch.
Keyword attribution is one example. The same infrastructure enables customer journey analysis across platforms, custom attribution models for paid media, lifetime value calculations, and dozens of other use cases that aren't possible with out-of-the-box tools.
If you're making significant marketing investments and struggling to measure what's actually working, the answer is usually better data infrastructure - not better dashboards.
Want to Know Which Keywords Are Driving Your Revenue?
If you're investing in SEO and want to understand which keywords actually contribute to your bottom line, I can help.
I've built these pipelines for businesses across multiple industries, from professional services firms to ecommerce brands. The implementation is tailored to your specific setup, conversion definitions, and reporting needs.
Get in touch if you want to stop guessing and start measuring.