How to analyze landing pages: the four signals beyond bounce rate

Google Analytics 4 Landing page report split by source, the same page showing 38%, 87% and 22% bounce rates
Show article contentsHide article contents
  1. Why bounce rate misleads on landing pages specifically
  2. The four signals to read first
  3. Engagement score: what stays after a single pageview
  4. Goal conversion rate per landing page
  5. The source × landing page cross-filter
  6. Entry-source share: is the page doing acquisition work?
  7. Across Clickport sites: how often does bounce rate disagree with engagement?
  8. How to read a landing page in 60 seconds
  9. What a high bounce rate actually means (and when to ignore it)
  10. What about GA4's landing page report?
  11. Common questions
  12. Get the four signals on your own site
Part of our GA4 troubleshooting coverage. Also see what GA4's engagement overview gets wrong and what bounce rate actually measures.

One in five "high-bounce" landing pages is not broken. I pulled 1,007 landing pages across Clickport customer sites over the last 90 days, and 20.2% of the pages with bounce rate above 70% had engagement scores above 50. That means visitors who scrolled deep and stayed for a real amount of time, on pages the bounce rate flagged as failures.

The bounce rate said one thing. The behavior said another.

On the average landing page, most visitors never click through to a second page. That has been true for as long as landing pages have existed. So when your report opens with bounce rate as the headline metric, it is telling you what is normal, not what is working.

This article is the four signals to read instead, in order. The framework works in any analytics tool, GA4 included, once you know which sub-reports to chain together.

Key Takeaways
  • Across 1,007 landing pages on Clickport customer sites in the last 90 days, 20.2% of pages with bounce rate above 70% had engagement scores above 50. One in five 'bad' landing pages had visitors who actually scrolled and stayed.
  • 21.5% of landing pages had bounce rate and engagement score in opposing quadrants. Bounce rate alone was directionally wrong on roughly 1 in 5 pages we tracked.
  • The four signals that actually evaluate a landing page: engagement score (scroll + duration combined), goal conversion rate, source × landing-page cross-filter, and entry-source share. Bounce rate is at best a fifth signal, not the first.
  • GA4 already moved away from bounce rate in its default UI. Its replacement, engagement rate, is binary (engaged = 10+ seconds OR 1+ conversion OR 2+ pageviews). It is better than bounce rate, but it still collapses a multi-dimensional question into a single percentage.
  • On most landing pages, single-pageview visits are the norm, not the failure case. Industry data and our own data both confirm this. A landing-page report that leads with bounce rate is telling you what is normal, not what is working.

Why bounce rate misleads on landing pages specifically

A landing page is a page where visitors arrive cold. They clicked an ad, a search result, a social share, a newsletter link. They did not navigate from elsewhere on your site. The job of the page is to deliver one piece of value (a definition, a comparison, a price, a download, a signup) and then either send the visitor toward a goal or let them leave satisfied.

Bounce rate counts single-pageview sessions as a percentage of total sessions. That is all it counts. It does not care how long the visitor stayed. It does not care how far they scrolled. It does not care whether they clicked anything or hit a goal without ever leaving the page. A landing page is exactly the page where all of that matters. And bounce rate flattens it into one yes-or-no.

Here are four things that all show up as a "bounce" on a typical dashboard:

  1. The visitor read every word, scrolled to the bottom, copied a quote, took the next step off-site (called your sales team, opened your install command in a terminal, told their colleague).
  2. The visitor signed up, opted in, submitted a form, or triggered a goal event without leaving the page.
  3. The visitor arrived from a paid social campaign, looked at the headline, decided this was not for them, and closed the tab inside two seconds.
  4. The visitor was a bot or a low-quality referral that should never have counted in the first place.

Bounce rate cannot tell number 1 from number 3. The reader who stayed for four minutes and the reader who fled in two seconds look identical in the report. That is the whole problem.

The four signals to read first

So stop opening a landing-page report with bounce rate. Read these four signals instead, in this order. The first three tell you how visitors behaved once they were on the page. The fourth tells you whether the page got the right visitors in the first place.

THE FOUR SIGNALS
1. Engagement score
Scroll depth and time on page combined into one number. The behavior that survives a single-pageview visit.
2. Goal conversion rate
The percentage of visitors who completed the page's actual job (form submit, signup, click, custom event).
3. Source × landing page
The same landing page sliced by where the traffic came from. Same page can be great from one source and terrible from another.
4. Entry-source share
What share of visitors land on this page from each channel. Tells you whether the page is doing acquisition work or just collecting drive-by traffic.

Each signal gets its own section below. Then I show you how to read all four in under a minute. Then I tell you what bounce rate is still good for, because it is not nothing.

Engagement score: what stays after a single pageview

The first signal is engagement score. The recipe is simple: take average scroll depth, combine it with average session duration, and turn it into one percentage. The exact formula does not matter as long as it uses both. Our dashboard uses (avg_scroll + min(100, avg_duration / 6)) / 2. A visitor who scrolls the whole page and stays ten minutes scores 100%. A visitor who scrolls nothing and leaves in zero seconds scores 0. Everyone else lands in between.

The whole point is that this number survives a single-pageview visit. A visitor who landed, scrolled to the bottom, read for four minutes, and left has high engagement. Bounce rate calls them a bounce. Engagement score does not.

Here is what a landing-page report looks like when engagement sits right next to visitors, as a peer column, instead of buried below the fold:

Top Pages Entry Pages Exit Pages
Page VisitorsEng
/pricing
2,84782%
/blog/server-side-tracking
1,92076%
/how-it-works
1,40771%
/
1,18044%
/blog/cookie-banner-free-analytics
89468%
/integrations/wordpress
61223%
Top Pages sorted by visitors, with engagement score as a sibling column. Real DOM, ported from the Clickport Pages panel.

The second row, /blog/server-side-tracking, is highlighted because that is the row I am about to click. Click it and every other panel on the dashboard updates to show only sessions where that page was the landing page. But the engagement column already told me something before I clicked. At 76%, this is a page where visitors stayed long enough to be worth a look.

The /integrations/wordpress row, sitting at 23% engagement, is a different story. Maybe the page ranks for a query that does not match the content. Maybe the page is broken below the fold. I do not know yet. But the engagement number tells me where to spend my time before I go digging.

Most analytics tools built in the last five years compute some version of this score. GA4 has its own, called engagement rate, and I cover it later. The math differs from tool to tool. The principle does not. Do not judge a session by what happened at one page boundary. Judge it by what the visitor did on the page they landed on.

Goal conversion rate per landing page

The second signal is the page's conversion rate against its actual job. Every landing page has a job. A pricing page wants you to start a trial. A blog post wants you to read the next post, sign up for the newsletter, or share the link. A product page wants the contact form. A landing page with no goal defined is a page you are not measuring. You are just watching it.

Measure each page against the goal that page is responsible for, not against your site-wide funnel. A blog post that turns 3% of its visitors into newsletter signups is doing its job well. Hold that same post against your trial-signup goal and it probably converts under 0.2%, because someone who just signed up for a newsletter is not ready to start a trial yet. Both numbers are true. Only one of them means anything for that page.

Put goal conversion right next to engagement and visitors, and the report starts to read like plain English:

  • High visitors + high engagement + high goal conversion: the page is doing its job, send more traffic.
  • High visitors + high engagement + low goal conversion: visitors are engaged but the offer is wrong. Test the CTA, the placement, the offer itself.
  • High visitors + low engagement + low goal conversion: page is broken. Diagnose with scroll depth and exit triggers.
  • Low visitors + high engagement + high goal conversion: the page works. Get it more traffic.

A Plausible-style "Top Pages" report does not show the goal column by default. You have to set up goals first, then add conversion rate as a peer column on the pages report. In Clickport the goal column shows up on its own once you configure a goal for the site, and it filters per page. In GA4 it hides under the "Key events" column on the landing-page report, and you add it by hand in the customization panel.

Get visitors, engagement, and goal conversion onto one row and you can read a landing page in about two seconds.

The source × landing page cross-filter

The third signal is the most useful move in all of landing-page analysis: cross-filter by source.

A landing page does not have one bounce rate. It does not have one engagement score or one conversion rate either. It has one number per traffic source. Take a 65% bounce rate. That single figure can be a 90% bounce from one Facebook campaign averaged against a 30% bounce from organic search. Two completely different stories, mashed into one number. The campaign is bringing the wrong people. The organic traffic is fine. The 65% tells you neither.

To pull them apart in any modern analytics tool: click the landing-page row, then click the top source for that page, and watch every other panel narrow to just that source-and-page pair. Then click a different source for the same page. Now put the two sets of numbers side by side.

Active filters Page: /pricing× Source: Google×
Visitors
1,182
Eng score
81%
Conv rate
5.2%
Bounce
38%
Same page, different source. Each filter pill is a click on the Pages or Sources panel.

The same /pricing page on the same site can show:

  • Organic Google: 38% bounce, 81% engagement, 5.2% conversion. The page is doing its job for search traffic.
  • Paid Facebook campaign A: 87% bounce, 28% engagement, 0.4% conversion. The campaign is wrong about who should land here.
  • Referral from a partner blog: 22% bounce, 92% engagement, 12% conversion. The traffic is pre-qualified and ready.

None of this shows up in an aggregate report. The aggregate row would give you a 51% bounce rate and a shrug. One number, three completely different real situations underneath it. The cross-filter is what drags them into the light.

In GA4 this is the "secondary dimension" feature on the Landing Page report. Add "Session source / medium" as a secondary dimension and the same page splits into one row per source. In Clickport every panel cross-filters every other panel by default, so clicking the page row and then a source row in the Sources panel does it in two clicks.

Here is the move that falls out of this. Stop optimizing the page. Start optimizing the traffic mix. A page that does great on organic and badly on paid social does not have a page problem. It has a paid-social targeting problem.

Entry-source share: is the page doing acquisition work?

The fourth signal flips the cross-filter around. For a given landing page, what share of its traffic comes from each source? Some pages are built to catch cold traffic: a paid-ad landing page, an organic-search piece. Others are built for people already on your site: a settings page, an account page, a deep documentation node. When a page that was never meant for cold traffic starts catching it, the report should tap you on the shoulder.

Entry-source share splits a page's visitors by where they came from. A blog post that pulls 70% of its visitors from Google organic and 20% from your newsletter is acting as an acquisition channel. A pricing page that pulls 80% from internal navigation is a conversion-funnel page, not an acquisition page. You optimize those two pages in completely different ways.

A page with a healthy spread of sources is doing real work. A page leaning on one dominant source is one of two things. Either it is narrowly successful, an SEO win on a single keyword. Or it is narrowly fragile, and the day that one campaign or one referral dries up, the page goes dark.

So for each top landing page the routine is short. Look at the entry-source share. Then jump to signal three, cross-filter by the biggest source, and check whether that source is sending engaged visitors or junk. Then do it again for the next biggest source.

Across Clickport sites: how often does bounce rate disagree with engagement?

This is the number the whole article hangs on. I ran a query across all Clickport customer sites for the last 90 days, grouped by landing page, and dropped every page into one of four quadrants by its bounce rate and its engagement score. To keep noise out, a page needed at least 30 sessions to count. The test site was left out.

BOUNCE × ENGAGEMENT QUADRANTS, 1,007 LANDING PAGES, 90 DAYS
High bounce, high engagement
17
pages (1.7%)
Bounce rate says "bad", engagement says "good". The bounce-rate-only reading would have flagged these as broken pages. They are not.
High bounce, low engagement
67
pages (6.7%)
Both metrics agree. These are pages that genuinely need work. Bounce rate alone would have caught them, just like engagement alone would have.
Low bounce, high engagement
724
pages (71.9%)
Both metrics agree. These pages are doing their job. The majority case.
Low bounce, low engagement
199
pages (19.8%)
Bounce rate says "good", engagement says "poor". Visitors clicked through, but the landing-page experience itself was thin.
Sample: 1,007 landing pages across Clickport customer sites with at least 30 sessions each, Feb 17 to May 17, 2026. Test site excluded. Bounce rate threshold: 70%. Engagement score threshold: 50%.

Two numbers fall out of this grid.

Of the 84 landing pages with bounce rate above 70%, 17 (20.2%) had engagement scores above 50. Read that in plain English: one in five "high-bounce" pages were pages where visitors scrolled and stayed. If you trusted bounce rate as your headline, you would have written off all 84 as broken. One in five of those calls would have been wrong.

Across all 1,007 landing pages, 216 (21.5%) had bounce rate and engagement score in opposing quadrants. That is every page where the two metrics handed you different verdicts, added up. So on roughly one page in five, whether you led with bounce rate or led with engagement would flip your conclusion.

The data does not say bounce rate is useless. It says bounce rate is the wrong thing to look at first. Put it next to engagement and goal conversion and it sharpens the picture. Read it on its own and it lies to you about one page in five.

I want to be straight about two things in this analysis.

First, Clickport's own bounce-rate calculation already folds in engagement signals. It does not flag a visitor as a bounce if they scrolled deep or fired an engagement event. So our high-bounce-high-engagement quadrant is smaller than it would be in a tool that uses the strict single-pageview definition. Run the same query in GA4, or in any tool using the classic definition, and the disagreement rate climbs, not drops. Our 20.2% is the cautious read. The real gap is bigger.

Second, the 50% engagement threshold is a judgment call. Move it to 40% or 60% and the quadrant lines move with it. The shape of the story holds either way, but the exact number shifts. That is why the full method is written out right here. Run it on your own data, with whatever thresholds make sense for your site, and check me.

How to read a landing page in 60 seconds

Put the four signals on one screen and reading a landing page gets fast. Here is the routine I run on my own dashboard:

  1. Open the Pages panel. Switch to the Entry Pages tab. Sort by visitors descending. Skim the top 10 rows.
  2. Find a page with high visitors and a flagged engagement score (red or amber if your tool color-codes the column). Click it. Every other panel filters to that page.
  3. Check the Sources panel. Which channel is sending the most visitors to this page? Click that source. The dashboard is now filtered by page-and-source.
  4. Read the four numbers in the KPI bar. Visitors, engagement, conversion rate, and (if relevant) average duration. These four together tell you whether this page from this source is doing its job.
  5. Clear the source filter and click the next biggest source for the same page. Compare the four numbers. If they are wildly different, you have a traffic-mix problem, not a page problem.

That whole loop is four clicks. Once it is muscle memory, the slow part is reading the data, not collecting it. And the slow part is where the value lives.

For a high-engagement page the routine is identical, but the question turns around. It stops being "what is broken here?" and becomes "where do I find more traffic like this?". The Sources panel stops being a list of suspects and becomes a list of channels worth feeding.

What a high bounce rate actually means (and when to ignore it)

After all that, bounce rate is still useful. It is just not the first thing you should look at. So here is what a high bounce rate, above 70%, really tells you, page type by page type:

  • On a paid-ad landing page: probably a targeting problem if engagement is also low. Probably a wrong-offer problem if engagement is high. Almost never a page problem in isolation.
  • On a blog post or content page: usually fine. Content visitors read the thing and leave. Plausible's own data shows landing pages average 60-90% bounce rates as a normal baseline. Combined with high engagement, a 75% bounce is the success case.
  • On a docs page: almost always fine. People came for one specific answer. They got it. They left.
  • On a pricing page: this one matters. If engagement is also low, the page is not selling. If engagement is high but conversion is low, the offer or CTA is off.
  • On a contact page: depends on whether form submissions are happening. A 90% bounce with a 30% form submission rate is a contact page doing its job perfectly.
  • On a Single-Page Application (SPA) view: the bounce-rate definition breaks. Configure your analytics to fire on view changes (pushState/replaceState), not on traditional page loads. A misconfigured SPA can show 95% bounce rates that have nothing to do with engagement.

Here is the one thing to hold onto. Bounce rate is a session-structure metric. It tells you whether a visitor made one request or many requests. It does not tell you whether the visit worked. And on any page where one request is the normal, expected pattern, that makes bounce rate close to useless by definition.

What about GA4's landing page report?

GA4 already walked away from bounce rate as the headline metric. The default landing-page report shows engagement rate instead, which is just the inverse of bounce rate. Engagement rate is the share of sessions that were "engaged", and GA4 calls a session engaged if it lasted at least 10 seconds, OR fired at least one conversion event, OR included at least two pageviews.

That is a real step up from classic bounce rate. It moves the bar from "did they request a second page" to "did they do anything on purpose". But it is still one binary signal squeezed into a single percentage. A session that lasted 11 seconds with zero scroll and a session that lasted 4 minutes with 90% scroll both count as "engaged". The report cannot tell those two visitors apart. You can.

The four-signal framework still works in GA4. You just have to build it by hand:

  • Engagement score equivalent: GA4's "Average engagement time per session" gets you partway there. Add "Scroll" as a custom event via Enhanced Measurement to get the second component, then create a custom calculated field or read the two side by side.
  • Goal conversion: the "Key events" column on the Landing page report. Make sure the key event is the page's actual job, not your site-wide signup event.
  • Source × landing page: add "Session source / medium" as a secondary dimension on the Landing page report. The report splits into one row per source per page.
  • Entry-source share: same secondary-dimension trick, sorted differently.

One GA4 bug is worth knowing about while you are in there. When a visitor lands on a URL with query parameters and your data stream does not strip them, the report counts each parameter variant as its own separate page. So one page can show up as a dozen rows, each splitting the traffic. I covered this in detail in GA4 not showing data and (not set) in GA4. The fix is to configure your data stream to merge the variants, or to use a tool that merges them for you out of the box.

So GA4 has all four signals. You just have to go find them and bolt them together yourself.

Common questions

What are the metrics of a landing page?

The four signals from this article: engagement score (scroll plus duration), goal conversion rate, the source-and-page cross-filter, and entry-source share. Visitors and bounce rate ride along as supporting metrics. They help. But bounce rate on its own is never enough.

How can I track the performance of my landing page?

Open the page in your analytics tool. Check that it has at least one goal configured. Read the four signals in order. When one signal disagrees with another, say high engagement but low conversion, or low bounce but low engagement, that disagreement is your to-do item. The conflict is the insight.

Is a 70% bounce rate good?

It depends on the engagement score and the page type. A 70% bounce on a blog post with 80% engagement is a win. A 70% bounce on a paid-ad landing page with 25% engagement is a real problem. Same 70%, opposite verdicts. The number alone tells you nothing.

Is 40% bounce rate good?

On its own, 40% sits below the typical landing-page baseline of 60-90%, and a touch below the typical site-wide baseline of 50%. That sounds great. But watch the trap. A 40% bounce paired with low engagement and zero conversions is not a healthy page. It is a page people clicked through to get away from. A 40% bounce paired with high engagement and a 5% conversion rate is a page working exactly as designed. Same bounce rate, two different stories. Always read it in context.

How do I analyse a landing page in GA4?

Open the Landing page report under Reports, Engagement, Landing page. Add "Session source / medium" as a secondary dimension. Use "Key events" as your conversion column. Pull in "Average engagement time per session" for a rough engagement read. Sort by visitors, then work down the list page by page with the four signals from this article. It is more clicks than I would like, but it gets you there.

Why is my bounce rate so high on some pages but not others?

Because bounce rate mostly tracks page type and visitor intent, not page quality. Documentation, contact pages, and single-purpose content pages run high bounce rates by design. People came for one thing, got it, and left. Multi-page funnels like signup, checkout, and product browsing run low bounce rates by design, because the whole point is to keep moving. Comparing bounce rates across those two groups is comparing apples to staplers.

Get the four signals on your own site

This framework was easy to write because it is what our dashboard shows by default. Engagement scores sit on every page row, every source, every country, every device. Goal conversion is a peer column, not a buried setting. Cross-filters chain in any direction you click. Entry-source share is one tap away.

If you want to read your own landing pages this way, start a free 30-day trial. The tracker is one script tag, and the dashboard is live a few minutes after you install it. Already on GA4 and not sure? Run both side by side for a week and read the same landing page in each. You learn something either way, whether you switch or not.

I answer every email from new accounts myself. If you have a landing-page question the framework above does not cover, hello@clickport.io reaches me directly.

David Karpik

David Karpik

Founder of Clickport Analytics
Building privacy-focused analytics for website owners who respect their visitors.

Comments

Loading comments...

Leave a comment