How to Use Google Analytics 4 for Blog Performance

Key takeaway
To use Google Analytics 4 for blog performance, you need to look at engaged sessions, average engagement time, and event-based conversions on your landing page report — not pageviews, which GA4 deprioritizes because it no longer reflects whether anyone actually read anything. Set up a landing page comparison report filtered to your blog path, tag every external link with UTMs so you can trace traffic back to its source, and mark one or two meaningful actions (newsletter signup, trial start) as key events so the platform tells you which posts actually produce outcomes.
Key takeaways
- GA4 is built around events and engagement time, not sessions and pageviews — a post with 2,000 views and a 20% engagement rate is doing worse than one with 400 views and a 65% engagement rate.
- The default GA4 interface hides blog-specific reporting; you have to build a landing page exploration or report yourself to see which posts drive signups.
- Pageviews alone can't tell you whether content converts — pair GA4 with UTM-tagged links and defined key events, or you're just watching a number go up.
GA4 measures attention, not just traffic — and that changes what "performance" means
Universal Analytics, which Google fully shut down in July 2023, was built on sessions: a visitor landed, did some stuff, and the session ended when they went quiet for 30 minutes. Google's own transition documentation explains why GA4 replaced that model — modern browsing is cross-device and interaction-heavy, and sessions undercounted engagement that didn't fit a single visit.
GA4 instead logs everything as an event: page_view, scroll, click, user_engagement. This matters for blog reporting because a post can get traffic without getting read. If your average engagement time on a 2,000-word post is 14 seconds, people are bouncing off the intro — the content isn't matching the query, or your H1 promised something the body doesn't deliver in the first screen. That 14-second number is diagnosable; a pageview count never is.
Set up your blog as a trackable segment, not an afterthought
GA4 doesn't ship with a "blog performance" report. You build one, and it takes about ten minutes once you know where to look.
- In GA4, go to Reports > Engagement > Pages and screens, then add a filter where Page path contains your blog's URL segment (e.g.,
/blog/). - Add a secondary dimension for Session default channel group so you can see whether traffic is organic, referral, or direct.
- For anything you link out — guest posts, social, newsletters — tag the URL with UTM parameters so GA4 attributes the visit correctly instead of lumping it into "direct." If you haven't done this yet, setting up UTM tracking for content marketing is the single highest-leverage hour you can spend before trusting any GA4 number.
- Mark the actions that matter — demo request, signup, email opt-in — as key events (GA4's renamed version of conversions) under Admin > Events. Without this, GA4 will tell you traffic went up and give you no way to connect it to revenue.
Skip step 3 and your blog's GA4 data will systematically undercount every channel that isn't organic search, because unlabeled links from newsletters, Slack communities, and social posts often get bucketed as "direct / none."
The metrics that actually tell you a post is working
Four numbers matter more than pageviews for judging blog content in GA4:
- Engagement rate — the percentage of sessions lasting longer than 10 seconds, with a conversion event, or with 2+ pageviews. Anything under 40% on a long-form post usually means the intro isn't earning the scroll.
- Average engagement time per active user — this is time actually spent interacting, not just tab-open time, because GA4 only counts a session as "engaged" while the tab is in focus. A listicle averaging 45 seconds is being skimmed; a guide averaging 4+ minutes is being read.
- Event count for key events per landing page — filter the landing page report by key events to see conversions by post, not just by channel. This is where you find out that your 300-visit comparison post outperforms your 3,000-visit "ultimate guide" on actual signups.
- Users by first user source/medium — tells you whether a post's traffic is durable (organic, likely to compound) or a one-time spike (a single referral or social share that won't repeat).
Posts optimized to rank for a snippet-eligible question often show high traffic but short engagement time, because the reader got their answer in the SERP and never needed to click through fully. That's not a failure — it's a different job for the content. If a post is built around winning a featured snippet, judge it on impressions and click-through rate in Search Console, not engagement time in GA4.
Build one exploration report instead of living in the default dashboard
The default GA4 home screen is built for ecommerce stores, not content sites — it leads with revenue and conversion cards that stay empty for most blogs. Go to Explore > Blank and build a free-form exploration with:
- Dimension: Landing page + query string (stripped of UTM noise)
- Metrics: Sessions, engagement rate, average engagement time, key events
- Filter: Page path contains your blog directory
Save it, pin it, and check it monthly instead of daily. Blog performance data is noisy at a daily grain — a single Hacker News mention or a Twitter thread can distort a week's numbers — so judging a post before it has 30+ days of organic settling time usually leads to wrong conclusions about what's "working."
What actually breaks when founders automate this instead of checking it manually
Running an AI SEO agent for a living means watching what happens when founders wire GA4 data into dashboards and then stop looking at it directly. The most common failure: treating total blog sessions as the north star metric in an automated report, which rewards whatever post went viral once and punishes evergreen content that compounds slowly through search. A post that's been quietly climbing from 20 to 200 organic sessions a month over six months looks worse on a 30-day dashboard than a post that spiked to 5,000 sessions from one Reddit thread and then died.
At Seolyn we weight landing pages by organic session growth rate and key-event rate together, not raw volume, specifically because raw volume rewards the wrong kind of post. If you're building your own tracking logic, replicate that: a post with low traffic but rising month-over-month organic sessions and a non-zero key-event rate is worth more editorial investment than a one-time traffic spike, even if the spike's absolute numbers look bigger on a screenshot.
Use the data to decide what to publish next
GA4's value isn't retrospective scorekeeping — it's input for the next content decision. Cross-reference your top landing pages (by key events, not traffic) against their topic cluster. If three of your five highest-converting posts sit in one topic area, that's a signal to build out a keyword cluster around it rather than diversifying into unrelated topics chasing volume.
Similarly, if GA4 shows high traffic but low engagement rate on a batch of posts sharing a title pattern, the problem usually isn't the content — it's the promise in the headline not matching the body. That's a signal to revisit how your blog titles are written to drive clicks and check whether you're setting up a bounce by overselling the H1.
For sites with more than 20-30 posts, also check whether your blog's category or hub pages are passing engaged traffic down to individual posts, or just acting as dead-end directories. GA4's landing page report will show a category page with decent sessions but near-zero scroll depth — a sign the category page structure isn't linking into the content in a way that invites exploration.
Frequently Asked Questions
Q: What replaced pageviews in GA4 for measuring blog performance?
GA4 reports pageviews as one event among many, but the primary performance signals are engagement rate, average engagement time, and key events (conversions). A high pageview count with a low engagement rate usually means traffic without readership.
Q: How long should I wait before judging a blog post's performance in GA4?
Give a post at least 30 days of indexed, organic traffic before drawing conclusions, since early traffic is often skewed by a single referral source or social share. Organic rankings and engagement patterns typically stabilize after Google has fully crawled and ranked the page.
Q: Why does GA4 show most of my blog traffic as "direct / none"?
This usually means links from newsletters, Slack, Discord, or social apps aren't tagged with UTM parameters, so GA4 can't attribute the source and defaults to direct. Tagging outbound links fixes this and reveals which channels are actually driving readers.
Q: What counts as an "engaged session" in GA4?
A session is engaged if it lasts 10 seconds or longer, includes a key event, or includes two or more pageviews or screen views. This definition is set by Google and documented in the GA4 help center.
Q: Should I track newsletter signups as a key event for blog posts?
Yes, if email growth is a real business goal — mark the signup completion as a key event in GA4 Admin, then filter your landing page report by that event to see which posts actually produce subscribers rather than just traffic.
Want content like this on autopilot?
Seolyn researches keywords, writes the articles, and publishes on a schedule. The first one is written the moment you create a site.