Analytics

Blending GA4 and Search Console in Looker Studio (Without Breaking the Numbers)

Search Console knows what people searched for. GA4 knows what they did after they arrived. Neither one can answer the question a client actually asks — which search queries bring people who convert — and that is why blending the two in Looker Studio is worth the afternoon it takes to get right.

I have built this blend for six clients now. The first two attempts produced reports that looked convincing and were wrong, which taught me more than the four that worked. Blending in Looker Studio is a join, and a join with the wrong key gives you numbers that add up to something plausible and meaningless.

Here is the version that survives contact with a real dataset, plus the two mistakes worth knowing before you start.

Why one source is never enough

Search Console reports on the search side of the visit: the query, the impression, the click, the position at that moment. Its story ends the instant somebody lands on your page. GA4 picks the story up there and follows it to a conversion, but it has no idea which query brought the person in — organic search arrives as a single undifferentiated channel.

That split is not a bug in either tool. It reflects what each one is allowed to see. But it means the most useful question in organic reporting sits in the gap between them: your landing page for a comparison keyword gets 400 clicks a month and converts at 6%, while the page ranking for a definition keyword gets 900 clicks and converts at 0.2%. Looking at either source alone, both pages look like wins.

Search Console covers the query and the click while GA4 covers everything after the landing, joined on landing page
Two halves of one visit, joined at the only field they share.

The join key decides everything

A blend is a join, and Looker Studio will happily build one on a field that looks right and is not. The only field the two sources genuinely share is the landing page URL, and even that needs work before it will match.

Search Console gives you the full URL, including the protocol and domain. GA4’s landing page dimension gives you the path alone. Join them raw and every row returns null, which produces an empty chart rather than an error — the failure mode that costs people an afternoon.

The fix that took me two attempts to find: create a calculated field in the Search Console source that strips the domain, so both sides carry the same path format. Then join on that. Trailing slashes and query strings need the same treatment, and a single inconsistent redirect will quietly halve your matched rows.

Do not join on date. It seems reasonable and it is the most common way these reports break: a date join multiplies rows across every page that had traffic that day, and the resulting click counts can be several times the real figure. If you need a time dimension in the blended chart, bring it in as a dimension rather than a join condition.

Wiring the two sources together

The mechanics are quick once the key is sorted. In Looker Studio, add both data sources to the report, then create a blend with Search Console on the left and GA4 on the right, using a left outer join so that queries with no matching session still appear.

From Search Console take clicks, impressions, average position and the query. From GA4 take sessions, your conversion event, and revenue if you have it. Keep the metric list short — every extra field slows the report, and a blend that takes fifteen seconds to draw is a blend nobody opens.

My default table has five columns: landing page, top query for that page, clicks, conversions, conversion rate. That fits on one screen and answers the question the client asked. Everything else I have tried adding got removed within a month.

Blend configuration in Looker Studio: left outer join on a normalised landing page path with five columns
Five columns, one join key, left outer join.

If the report will be shared beyond the marketing team, add a date-range control and nothing else. Filters look helpful and get misused — I have watched a stakeholder filter a report down to a single page and conclude that organic traffic had collapsed.

Why the totals will not match

Once the blend renders, somebody will notice that Search Console clicks and GA4 sessions disagree, and will ask which one is broken. Neither is. They count different events under different conditions.

A click is recorded when someone leaves the results page. A session begins when the analytics tag fires on your site. Between those two moments a visitor can hit the back button, block the script, decline consent, or arrive over a connection that drops the request. Search Console also samples and anonymises rare queries, so its query-level rows never sum to its own totals either.

The number I care about is the ratio, tracked over time. A stable gap between clicks and sessions is normal and tells you nothing. A widening one means your tracking is degrading — usually a consent banner change, a tag that stopped firing on one template, or a redirect that lost the parameter. I flag that in the report itself with a short note rather than waiting for someone to ask.

This is the same discipline I apply to any recurring report, and I wrote up the wider version in my guide to building a marketing report that people actually read.

When a blend is the wrong tool

Two situations where I skip it entirely.

When the site is small. Under a few hundred organic clicks a month, query-level conversion data is too sparse to read. Three conversions on one query is not a 12% conversion rate, it is three conversions. A simpler report on landing pages alone will serve the client better and take an hour less.

When the real question is trend, not attribution. If the client wants to know whether organic is growing, two separate charts side by side answer that faster and never break. Blends carry a maintenance cost: they fail silently when a URL structure changes, and the report keeps rendering with fewer matched rows and no warning.

For anything bigger — an ecommerce catalogue, a content site with hundreds of ranking pages — the blend earns its keep the first time it shows that a high-traffic page converts at nothing. That single insight has redirected more content budgets for my clients than any keyword research deck.

Three ways a Looker Studio blend fails: joining on date, mismatched URL formats and too many metrics
Three failures, in the order they cost me time.

Frequently asked questions

Can I blend more than two sources?

Looker Studio allows several, and performance degrades quickly with each one. I stop at two for reports that get opened daily. A third source is usually a sign the report is trying to answer two different questions, and splitting it into two pages serves everyone better.

Why is my blended table empty?

Almost always the join key. Search Console returns full URLs and GA4 returns paths, so an unprocessed join matches nothing and renders an empty table rather than an error. Normalise both sides to the same format with a calculated field and check a single known URL by hand before trusting the whole table.

Does blending slow the report down?

Yes, noticeably. Every blend is computed at render time, so a report with several blends and a wide date range can take many seconds to draw. Cutting the metric list and shortening the default date range fixes most of it; if it is still slow, the data volume has outgrown Looker Studio’s free connectors.

Should I use BigQuery instead?

If you already export GA4 to BigQuery, doing the join in SQL is faster, more reliable and gives you history beyond the retention window. It also requires someone comfortable writing queries. For a marketing team without that person, a well-built blend covers the same ground at zero cost — and my walkthrough of GA4 BigQuery queries is there for the day you outgrow it.

How often should the blend be rebuilt?

Check it whenever the site’s URL structure changes, and once a quarter regardless. Matched-row counts drift downward as pages get renamed and redirected, and nothing in the interface tells you that the report is now covering 60% of your traffic instead of 95%.

Where to start

Build the join key first and verify it against one URL you know by hand. Everything else in this report is arrangement; the key is the part that decides whether the numbers mean anything.

Once it holds, the report answers a question no single tool can: which searches bring people who do something. For most of my clients that has been worth more than every ranking chart I ever built for them — and if you want the full dashboard this blend usually lives inside, I covered that separately in my Looker Studio dashboard walkthrough.

Eric Mousaw

Digital marketing specialist with deep expertise in web analytics, technical SEO, content strategy, and SaaS growth. Writes actionable guides backed by hands-on experience with GA4, Google Ads, and modern marketing stacks.