Google Analytics
I've relied on Google Analytics for years, and while it's the best free tool for understanding on-site behaviour, it's also a trap if you try to use it for ranking data.
The short verdict
- Link GA4 to Search Console to see organic queries behind landing pages and identify content gaps.
- Filter by organic traffic and set up goals to measure conversions per page, not just traffic volume.
- Do not use GA4 for keyword ranking data; use a dedicated rank tracker instead.
- If GA4's data sampling or privacy bothers you, consider Matomo or Plausible as alternatives.
- Focus on engagement metrics like average engagement time and bounce rate to spot content that attracts but fails to convert.
What it's good at
Google Analytics is the best free tool I know for understanding what people do after they arrive on your site. If you link it to Search Console, you can see which organic queries brought them in, how long they stayed, whether they dropped off, and whether they completed a goal. I do this for every client: I filter by organic traffic, then sort landing pages by sessions. The real insight comes from the engagement metrics. For a recent B2B SaaS site, I noticed that a blog post about 'API security' brought in 2,000 organic sessions a month but had a bounce rate of 82% and an average engagement time of 12 seconds. That told me the content matched the search intent poorly — people expected a product comparison, not a glossary definition. I rewrote the page, and the bounce rate dropped to 45% and goal completions (demo sign-ups) tripled. That kind of diagnostic is impossible without a tool that tracks behaviour after the click.
Another strength is goal tracking. I set up events for form submissions, button clicks, and scroll depth, then tie them to conversions. In GA4, you can create conversion events without modifying the tracking code — just mark an existing event as a conversion. This is useful for SEO because you can measure which organic pages actually drive business value, not just traffic. I use this to prioritise content updates: pages with high traffic but low conversion get a rewrite; pages with low traffic but high conversion get link-building attention.
GA4 also handles cross-device and cross-platform measurement well. If someone visits your site on mobile and later converts on desktop, GA4 can stitch that together using Google signals. That's a big improvement over the old Universal Analytics, which treated each device as a separate session. For SEO, this means you get a clearer picture of how organic discovery feeds into multi-device user journeys.
What it's awkward for
I spent months trying to infer keyword rankings from GA4 landing page data, and it was a waste of time. Google Analytics does not show you where your page ranks for a given keyword. It only shows you the queries that Search Console passed to it, and even then, the data is aggregated and anonymised when traffic is low. If you have a page that ranks 15th for a keyword and gets 20 clicks a month, GA4 will hide that query under 'not provided'. You cannot drill down and see the actual keyword or its position. I tried to back-calculate rankings by comparing click-through rates from Search Console impressions, but the data is too noisy and the sampling is severe. For accurate ranking data, I now rely on a dedicated [rank tracking](/rank-tracking/) tool like STAT or Ahrefs. GA4 is a poor substitute.
Another pain point is data sampling. Even on the free version, GA4 starts sampling reports when you apply advanced segments or filters to high-traffic properties. I once ran a custom report comparing organic traffic to direct traffic for a site with 500,000 monthly sessions, and GA4 sampled 85% of the data. That made the conversion rates unreliable. I had to switch to a pre-aggregated report to avoid sampling, which limited the dimensions I could use. If you need precise, unsampled data, you'll eventually hit this wall.
Finally, GA4's event-based model has a steep learning curve. Unlike Universal Analytics, which had clear pageview and session concepts, GA4 requires you to define everything as an event. Setting up enhanced measurement is straightforward, but custom events demand a clear plan. I've seen teams mess up their tracking by accidentally firing duplicate events or mislabelling parameters. Debugging those issues often requires [Google Tag Manager (GTM)](/gtm/), which adds another layer of complexity. If you're not comfortable with tag management, GA4 can quickly become a source of bad data.
Alternatives I'd consider
If I need behaviour data and I'm not happy with GA4's sampling or privacy implications, I look at Matomo or Plausible. Matomo is self-hosted, so you own the data, and it has no sampling even on high traffic. I've used it for a B2B site where the client was paranoid about data sovereignty. The trade-off is that you have to manage the server yourself, and the free version lacks some of GA4's advanced features like cross-device tracking. But for pure SEO analysis — seeing which pages convert, where traffic comes from, and how long people stay — Matomo is more than adequate. It also has a built-in [SEO report](/seo-report/) module that shows keyword rankings, something GA4 cannot do.
Plausible is a simpler, hosted alternative that focuses on privacy. It does not use cookies, so you don't need a cookie banner in many jurisdictions. I use it for a personal blog because it's lightweight and shows me the essentials: pageviews, bounce rate, and referral sources. The downside is that it has no goal tracking beyond events, and the data is less granular than GA4. For a client that needs detailed conversion funnels, Plausible would be too limited.
Another option is to use GA4 exclusively for acquisition data and pair it with a dedicated analytics tool for behaviour. For example, I export GA4 data to [Looker Studio](/looker-studio/) and build custom dashboards that combine Search Console, Google Ads, and CRM data. This gives me the flexibility to create views that GA4 cannot natively support, like comparing organic traffic by country with lead quality scores. If you have the time to set up Looker Studio, it mitigates many of GA4's reporting limitations.
Ultimately, I choose the tool based on the client's needs. If they need deep behavioural analysis and are okay with Google's data handling, GA4 is fine. If they want privacy, no sampling, or ranking data, I switch to Matomo or Plausible. There is no one-size-fits-all, and I've learned that the hard way by forcing GA4 into roles it was never designed for.
Next step
Quick answers
Can I see keyword rankings in Google Analytics?
No, Google Analytics does not show keyword rankings. The Search Console integration gives you query data, but it is aggregated and anonymised for low-traffic queries. You need a dedicated rank tracking tool to see actual positions.
What is the difference between GA4 and Universal Analytics?
GA4 is event-based, tracking every interaction as an event, while Universal Analytics used pageviews and sessions. GA4 also supports cross-device tracking, better privacy controls, and no longer relies on cookies for measurement. Universal Analytics stopped processing data in July 2023.
How do I get organic traffic data in GA4?
In GA4, go to Reports > Acquisition > Traffic Acquisition, then filter by 'Organic Search' under the 'Session default channel group' dimension. For more detail, link your Search Console account and view the 'Google Organic Search' reports under 'Life cycle'.
Sources
Primary documentation is linked directly. Anything commercial is marked nofollow.
- How Google Analytics works — Primary source for how data is collected, setup requirements, and the basics of measurement.
- Introducing the next generation of Analytics — Official explanation of GA4 and event-based measurement, confirming the shift from Universal Analytics.
- Google Analytics Developers — Product overview and developer documentation, supporting the technical details of GA4 implementation.
- Search Central — Best Google source for SEO context and connecting Analytics with Search Console workflows.
Notes from Callum Bennett.