SEO optimisation with Google Search Console and GA4: the practical framework
- Marc Alexander
- Jan 7
- 12 min read

If you’ve ever stared at Google Search Console thinking, “We’re getting loads of impressions, so why does it feel like nobody’s actually buying anything?”, you’re in excellent company.
Search Console tells you what Google is doing with your pages. GA4 tells you what people do once they arrive. Most businesses have both. Most businesses still can’t join the dots in a way that survives a meeting.
That’s not because the tools are bad. It’s because there’s a missing layer in the middle: a consistent way to describe what each page is trying to achieve, what intent it’s targeting, and whether it’s actually staying on-topic.
Without that layer, you end up doing SEO by instinct, spreadsheet, and the occasional panic-edit to the title tag five minutes before a monthly report.
This article gives you a clean, repeatable approach for SEO optimisation using Google Search Console and GA4, then shows how KEIT, the product that I designed to run through Google Tag Manager, makes the approach scalable by pushing structured “content meaning” into GA4 automatically.
You stop guessing. You stop arguing. You start prioritising the fixes that actually move the needle.
The problem with “SEO data” is that it’s not one problem
Search Console is brilliant at the “before the click” part. It shows you the queries you appear for, how often you appear, how often people click, your average position, and which pages are involved. It’s demand and SERP performance. It’s the view from Google’s side of the fence.
GA4 is brilliant at the “after the click” part. It shows you what people do once they land, how they move through your site, what they engage with, where they drop out, and what they convert on. It’s experience and outcome. It’s the view from your side of the fence.
And yet, in most organisations, those two views never quite reconcile.
The SEO person optimises for clicks and rankings. The performance person optimises for conversions and revenue.
The content person optimises for “tone of voice” and the occasional philosophical debate about whether headings should “feel friendlier”.
Everybody is technically correct, and somehow nobody is winning.
The missing piece is a shared language that describes the page itself, in a way you can measure.
A simple model that makes Search Console and GA4 work together
The easiest way to make this practical is to treat SEO as a chain with four links: demand, promise, experience, and outcome.
Demand is what people are searching for and how often you’re being shown. That is Search Console impressions and query themes.
Promise is what you’re implying in the SERP. Your title, your snippet, your URL, your positioning, and the intent your result appears to satisfy.
That is Search Console CTR, and it’s also hidden inside the query mix you attract.
Experience is what happens after the click. Do people find what they expected? Do they engage? Do they move forward? That is GA4 engagement and journey behaviour.
Outcome is the business result. Leads, sales, sign-ups, enquiries, whatever your organisation calls “the reason we’re doing this”.
Most SEO advice stops at demand and promise. Most analytics advice starts at experience and outcome.
The reason businesses get stuck is that they have no reliable way to connect the promise to the experience at scale.
Why Search Console and GA4 never match, and why that’s normal
This is the bit that stops your reporting turning into a pub argument.
Search Console and GA4 are both telling the truth, but they’re telling the truth about different moments, using different definitions, inside different systems.
Search Console reports Google Search interactions. It’s concerned with when your result was shown and when it was clicked, as Google observed it.
GA4 reports on-site behaviour, as your tags observed it. A Search click is not the same thing as a GA4 session, and expecting them to line up perfectly is like expecting your sat-nav and your mum to agree on the fastest route.
They might. They often won’t. They’ll both be very confident about it.
The most common “gap” is that Search Console clicks are higher than GA4 organic sessions.
That can be completely normal. A person can click your result and then immediately leave before your analytics loads. They can block analytics.
They can refuse consent. Your tag can fail. Your site can be slow.
From GA4’s perspective, if the tag didn’t run, that visitor never existed. From Search Console’s perspective, the click happened, so it counts.
Now add attribution and it gets even more “fun”. Search Console doesn’t do attribution modelling.
Search Console doesn’t try to follow a user across channels, across days, or across devices. It simply tells you about search interactions.
GA4 is an attribution system across all channels.
The source/medium and channel that GA4 assigns depends on attribution settings, channel groupings, campaign parameters, and how return visits behave.
So when you compare Search Console clicks with GA4 organic sessions, conversions, or revenue, you are comparing a single-touch search interaction dataset with a multi-touch site analytics dataset.
Those datasets are not designed to reconcile line-by-line.
In UK and EU environments, consent controls make this even more pronounced. If your compliance posture is “no measurement without consent”, GA4 will have legitimate blind spots.
Search Console will still record that Google search click occurred. That is not broken tracking. That is you choosing not to measure certain users, which is exactly what you said you wanted to do.
Once you accept this, you stop trying to force a perfect reconciliation and you start building decision-grade analysis.
You look for stable patterns, not perfect one-to-one matches.
You focus on what you can influence: the demand you target, the promise you make, the experience you deliver, and the outcomes you drive.
Where Search Console helps, and where it quietly refuses to get involved
Search Console is where you find three kinds of opportunity.
The first is the “you’re being seen, but nobody’s clicking” opportunity. High impressions, middling CTR, average position that suggests you’re not miles away.
That’s usually a promise problem. Your result is eligible, but it doesn’t look like the best answer, or it doesn’t match the intent behind the query.
The second is the “you’re getting clicks, but it’s not going anywhere” opportunity. Clicks are happening, traffic arrives, but business outcomes don’t move.
That’s usually an experience or intent mismatch problem. You’re attracting the wrong kind of visitor, or the page isn’t delivering what the SERP promised.
The third is the “Google doesn’t know which page is the right page” opportunity. Impressions are spread across several URLs for a theme.
That’s a coverage and clarity problem. You may have multiple pages sort-of about the same thing, or one page that should own it but isn’t clearly focused.
Search Console will show you these patterns. What it won’t do is tell you what your content is “meant” to be. It will not label a page as informational, transactional, mixed intent, overly branded, thin, unfocused, or hard to read. It will just keep sending you query strings and URLs and let you interpret them like tea leaves.
Where GA4 helps, and why most businesses underuse it for SEO
GA4’s value for SEO is not “organic sessions”. Organic sessions are the start of the story, not the ending. For SEO optimisation, GA4 earns its keep in three places.
First, landing page experience. What happens when someone lands from organic? Do they scroll? Do they click deeper? Do they trigger key events? Do they bounce in a way that suggests a mismatch?
Second, content-to-conversion flow. Which organic landing pages actually lead to meaningful actions? Which ones attract attention but don’t move people forward?
That’s where you stop treating all organic traffic as equal and start recognising that some pages are revenue pages and some are research pages, and they should be measured differently.
Third, segmentation by intent. And this is the crucial one: GA4 cannot segment by intent unless you feed it intent. By default, GA4 knows what page the user was on, not what that page is trying to do.
KEIT is how you feed GA4 that missing context.
What KEIT actually is, in plain English
KEIT is an automated SEO Keyword Intent Layer that analyses your content and pushes structured insights into GA4 so you can report and optimise by intent and focus, not just by URL.
In practice, KEIT uses a dataLayer event called content_analysis. When a page is analysed, it pushes a payload that includes the page’s intent classification, whether the intent is mixed, how confident the model is, what the primary target keyword is, supporting target keywords, whether the content is branded, and a set of quality and strength indicators such as readability, cohesion, word count, and topic focus strength.
This matters because it turns SEO from “a bunch of pages” into a system you can manage.
You can ask questions like, “How do our transactional pages perform versus informational pages once users arrive?” or “Which pages have a strong target focus but weak CTR?” or “Where do we have mixed intent that’s attracting clicks but producing poor outcomes?” and you can answer them inside GA4 without building a fragile spreadsheet that breaks the moment someone changes a URL.
KEIT doesn’t force GA4 to become Search Console, or Search Console to become GA4. It gives you a third layer that makes both datasets usable for prioritisation.
The four gaps that stop SEO turning into business outcomes
Once you combine Search Console, GA4, and KEIT, most SEO problems fall into four gap types. The reason this is useful is that each gap has a different fix, and most teams waste time because they try to solve the wrong gap with the wrong work.
The visibility gap is when the demand exists and you are visible, but CTR is underperforming for your position. This is the “promise” gap. It often means your title and snippet are not aligned to the intent behind the query, or your page is ranking for a theme it doesn’t really deserve and the SERP is politely ignoring you.
KEIT helps here because you can compare the page’s declared intent and target focus against the query themes.
If Search Console shows informational demand and KEIT classifies the page as transactional, your CTR will often be mediocre because you’re answering a question with a sales pitch.
The intent mismatch gap is when you are getting clicks, but the GA4 behaviour is weak. This is the “experience” gap and it’s the one that makes people say, “Organic traffic is rubbish,” which is usually unfair. What’s rubbish is the alignment.
KEIT’s intent and mixed-intent signals are extremely useful here. If KEIT flags mixed intent, it’s often because the page is trying to serve two masters: it wants to rank for informational queries, but it also wants to convert like a service page.
That can work if it’s engineered well. Most pages aren’t engineered well. Most pages are written like they were compiled from three different opinions and a mild sense of urgency.
The coverage gap is when Search Console demand exists but there is no clear, dedicated page that owns it, or Google spreads impressions across multiple URLs because your site structure isn’t telling a coherent story.
KEIT helps because you can see which pages share overlapping target themes and which pages have weak topical focus. This is where you choose between consolidation and creation.
Consolidation is often the better answer, even though it feels emotionally harder, because it involves deleting things you once wrote with pride.
The measurement gap is when the team cannot connect “search performance” to “business performance” without hand-waving. This is what drives the monthly “SEO report” that ends with, “We think this is good,” and everyone nods because nobody wants to be the person who asks, “Good for what, exactly?”
KEIT turns this into measurable categories inside GA4, which means you can build reporting that is stable, repeatable, and tied to outcomes rather than vanity metrics.
The workflow that makes this operational, not theoretical
The best SEO optimisation process is the one you can run every month without it becoming someone’s second job. Here’s how to run it in a way that is genuinely manageable.
Start in Search Console with a single goal: identify the handful of pages that can deliver the biggest impact if improved. You’re looking for pages with meaningful impressions that could click more, pages with clicks that should be driving outcomes but aren’t, and themes where impressions are spread across the wrong URLs.
Then move to GA4 and look at what happens after the click for those pages. Do visitors continue deeper? Do they engage with key elements? Do they trigger key events? Do they convert, or do they leave quickly and silently, like someone who has opened the fridge, found nothing, and decided it’s everyone else’s fault.
Now bring KEIT into the view. Instead of looking at those pages as a list of URLs, you look at them as intent types and focus profiles.
You examine whether the page’s content intent and title intent align with the query mix and the landing behaviour.
You check whether KEIT is flagging mixed intent.
You check the target focus strength.
You take note of readability and cohesion signals, not because “readability scores” are a magic ranking factor, but because poor clarity is a very reliable conversion killer.
At this point, you have something most teams never achieve: you can say why a page is underperforming in a way that doesn’t rely on superstition. You can attribute the problem to a specific gap type, and you can choose a fix that matches that gap.
You then implement changes in a disciplined order. If it’s a promise gap, you improve the SERP promise first.
That means titles, snippets, and the opening of the page, because that’s what confirms to the visitor they’re in the right place.
If it’s an intent mismatch gap, you fix content alignment and page structure. If it’s a coverage gap, you consolidate or create.
If it’s a measurement gap, you build the reporting layer once and stop rebuilding it every month.
Finally, you measure again. The best part of this process is that you don’t need to “wait for rankings”. You can often see improvement through better CTR, better engagement, and better conversion behaviour even before rankings shift materially, because you are improving the chain, not just one link.
A short example that shows why KEIT is different
Imagine you have a page that Search Console says is getting impressions and clicks for something that looks informational, like “new luxury hotels opening”.
You look at GA4 and see that users arrive, scroll a bit, and then leave without taking meaningful action. The business calls it “top-of-funnel” and moves on.
KEIT adds the missing diagnostic. It may classify the page intent as transactional, while the title intent is informational. It may flag mixed intent.
It may show a high target focus strength around that keyword theme, but low keyword confidence overall. In other words, you’re ranking and being clicked, but your page is not consistently fulfilling the job the query implies.
That is exactly the kind of mismatch that produces traffic that looks busy and performs poorly.
Once you see it, the fix is obvious. You either embrace the informational role and engineer the page for discovery and progression, with clear internal routes to conversion pages, or you redesign the page to match transactional intent and accept that it may rank for different queries.
Either way, you stop blaming “organic quality” and start fixing alignment.
That is the difference between guessing and optimising.
Where I can help, and why this is a service, not a blog post hobby
You can absolutely do parts of this yourself. Most businesses do. They also tend to stop right before it becomes useful, usually because they’ve built a process that relies on manual mapping, inconsistent definitions, and a spreadsheet that only one person understands.
My aim is to make this operational and decision-grade.
KEIT is the product layer that turns content analysis into GA4 reporting signals automatically.
My services then wrap the framework around your site in a way that actually drives outcomes.
That can look like a KEIT-led SEO Gap Audit, where I connect your Search Console patterns, GA4 outcomes, and KEIT intent signals into a prioritised backlog of the highest-impact changes.
Not a vague “content plan”. A practical list of what to change first, why it matters, what success looks like, and how to measure it.
If you want the outcome rather than the homework, we can implement the changes as well.
If you already have an SEO team, KEIT becomes the measurement layer that makes their work more accountable and more effective.
If you don’t have an SEO team, KEIT plus a clear monthly cadence gives you a sensible system that doesn’t require a full-time headcount and a tolerance for jargon.
The goal is not to “do SEO”. The goal is to create a reliable loop where Search Console shows you demand and promise, GA4 shows you experience and outcome, and KEIT tells you what your content is trying to do so you can fix the right thing, not just the most visible thing.
The closing truth most businesses need to hear
SEO doesn’t fail because people don’t know what a keyword is. It fails because organisations can’t consistently connect “what people searched” to “what our page promised” to “what happened next” to “did the business benefit”.
Search Console and GA4 give you most of the data you need. KEIT gives you the missing layer that makes that data actionable at scale.
If you want to stop treating SEO as a collection of pages and start running it as a measurable optimisation system, KEIT is built for exactly that.
And if you want someone to set it up properly, turn it into a repeatable cadence, and give you a backlog that translates directly into outcomes, that’s what Metric Owl does.
Whether you need GA4 implementation, analytics strategy, technical integration, or ongoing support, Marc can help transform your data into reliable business intelligence.
I'm surprisingly friendly, even when telling you your GA4 tracking's a disaster.
Or explore my specialised services:



Comments