Website traffic

How to Check Website Traffic in GA4: A Step-by-Step Verification Guide

Verify a website traffic campaign in GA4 without confusing test sessions with real growth. Check Realtime, pages, events, source, device, country, filters, and delivery differences.

A traffic campaign is not verified because a provider dashboard says “delivered.” It is also not verified because one large number appears in Google Analytics.

A useful check connects the two sides: what the provider delivered and what your own site measured. It also keeps test sessions separate from customer and growth reporting.

This guide shows how to check website traffic in Google Analytics 4, or GA4, before, during, and after a campaign.

What GA4 can prove

GA4 can show that your property processed activity linked to a page, event, source, device, country, and time. That makes it useful for analytics QA.

GA4 alone cannot prove:

  • that one analytics user equals one person;
  • that the person had purchase intent;
  • that a source label describes the full journey;
  • that traffic caused a ranking change;
  • that provider delivery and GA4 sessions should match one for one.

Use GA4 as first-party measurement evidence, not an identity detector or ranking oracle.

Before launch: save a clean baseline

Choose a short period before the campaign and record the normal numbers for the target page:

  • users;
  • sessions;
  • views;
  • average engagement time;
  • key events;
  • country and device split;
  • session source and medium.

Use the same timezone and page path you will use after launch. A baseline shows whether the campaign created a visible change and helps you spot normal background traffic.

If the page already receives a lot of traffic, use a dedicated test URL or campaign parameter so you can identify the new sessions.

Step 1: give the campaign a clear label

UTM parameters add campaign labels to a URL. Google documents these core fields:

  • utm_source for the referrer or source;
  • utm_medium for the marketing medium;
  • utm_campaign for the campaign name.

A test URL might look like this:

https://example.com/pricing
  ?utm_source=serplify_test
  &utm_medium=qa_traffic
  &utm_campaign=pricing_mobile_august

Keep values lowercase. Use underscores or hyphens consistently. Do not create serplify, Serplify, and serplify-test for the same source.

Google’s custom campaign URL guide explains how these values appear in acquisition reports.

Test the final URL after every redirect. A redirect can remove campaign parameters and cause traffic to appear as direct. Google’s guide to (direct) / (none) traffic lists missing UTMs, redirects, shorteners, and blockers as common causes.

Step 2: test one visit yourself

Before buying traffic, open the exact campaign URL in a private browser window. Accept or reject consent the way your test requires.

Then check:

  • Does the correct page load?
  • Does the GA4 tag run?
  • Does the page title look correct?
  • Do the expected events fire?
  • Do UTM parameters survive redirects?
  • Does a form or button work?

If your own test visit does not appear, provider traffic will not fix the measurement setup.

Step 3: use Realtime for the first delivery check

In GA4, open Reports → Realtime. Google’s Realtime documentation says the report covers activity from the last 5 and 30 minutes and can show pages, events, user source fields, and key events.

During the first small batch, check:

  1. Views by page title or screen name: Is the target page present?
  2. Event count by event name: Are page_view, session_start, and your planned events appearing?
  3. Active users by device or user property: Does the broad device setup look right?
  4. Active users by first user source or campaign: Is any campaign context visible?

Realtime is a quick health check. Google warns that attribution processing is limited there. Do not use a missing source card as the final verdict five minutes after launch.

Step 4: check the page, not only total users

A rise in total users can come from another campaign or normal traffic. Filter or compare the exact landing page.

In standard reports or Explore, use:

  • Landing page;
  • Page path and screen class;
  • Page title;
  • Session campaign;
  • Session source / medium.

Confirm that the page path matches the target after redirects and URL rules. Watch for both /pricing and /pricing/, or parameters that split one page into many rows.

For a pure page QA test, the page and event evidence matter more than the property’s total user count.

Step 5: inspect events and key actions

List the events the page should create before the campaign begins. Examples include:

  • page_view;
  • scroll;
  • a menu or button click;
  • form_start;
  • a custom signup or checkout event.

Controlled traffic should only be used for approved, passive QA actions. Do not create fake purchases, leads, ad clicks, reviews, or other business outcomes and then mix them into performance reporting.

Check event parameters too. A button event without the page, button label, or campaign context may be impossible to diagnose later.

Step 6: check country and device

Compare the provider settings with GA4’s country and device category. Use a single-country, single-device pilot first.

Expect some difference. Geo reporting depends on the network location GA4 sees and its own processing. Device categories depend on browser and measurement details. Small samples can also look uneven.

Set a tolerance before launch. For example: at least 85% of processed sessions should appear in the selected country. The right tolerance depends on the provider promise and test method; the key is to choose it before seeing the result.

Step 7: use Traffic acquisition for the final source check

After normal processing, open Reports → Acquisition → Traffic acquisition. Review session-scoped fields such as:

  • Session source;
  • Session medium;
  • Session source / medium;
  • Session campaign.

Do not confuse First user source with Session source. First-user fields describe how GA4 first acquired an analytics user. Session fields describe the current session. A returning analytics identity can keep an older first-user value even when the new session has a different campaign.

This is one reason Realtime and Traffic acquisition may not show the same source breakdown.

Step 8: compare provider delivery with GA4

Use the same time window, timezone, page, and unit.

If the provider reports visits and GA4 reports sessions, calculate a simple visibility rate:

GA4 visibility rate = matching GA4 sessions ÷ delivered visits × 100

Example:

850 matching GA4 sessions ÷ 1,000 delivered visits × 100 = 85%

Record the numerator, denominator, and filters. “85% visible” means nothing if nobody knows which page, campaign, timezone, or GA4 metric produced it.

Do not use pageviews as the numerator when the provider sells visits. A visit that opens three pages can create three pageviews.

Why the numbers may differ

Common causes include:

  • users or browsers declining consent;
  • ad blockers or privacy tools;
  • the GA4 tag failing or loading late;
  • redirects removing UTM parameters;
  • an active data filter;
  • a cross-domain journey starting a new session;
  • provider and GA4 timezones using different days;
  • reporting delay;
  • comparing visits with users, pageviews, hits, or events;
  • duplicate tags or duplicate events;
  • your site blocking or interrupting a visit.

Investigate in that order: target page, tag, consent, labels, filters, time window, then provider delivery.

Step 9: keep QA traffic out of growth reports

The safest options are:

  1. a separate GA4 property for pure testing;
  2. a dedicated test page or hostname;
  3. a clear UTM campaign that report comparisons can exclude;
  4. a written test window and annotation in your team’s experiment log.

Be cautious with active GA4 data filters. Google’s internal traffic guide says an active exclusion is permanent: matching data is not processed and is not available later in Analytics or BigQuery. The guide recommends testing a filter before activating it.

IP-based internal filters may also be a poor fit for distributed provider traffic. A dedicated property or campaign-based report comparison is often easier to audit.

A complete verification table

EvidenceProvider sideGA4 sidePass rule
VolumeDelivered visitsMatching sessionsWithin planned tolerance
TargetRequested URLLanding page / page pathCorrect final page
TimeDelivery timestampsSession date and hourSame window and timezone
SourceConfigured referrer or campaignSession source / mediumExpected label after processing
CountryRequested countryCountry dimensionWithin agreed tolerance
DeviceRequested deviceDevice categoryMatches the pilot plan
BehaviorDuration/pages configurationEngagement and viewsPlausible for the page goal
EventsExpected page actionsEvent names and parametersRequired QA events present

When to stop the campaign

Pause and investigate when:

  • the wrong page receives traffic;
  • your own test visit fails to appear;
  • critical events do not fire;
  • the site error rate increases;
  • country or device data misses the agreed range;
  • source labels disappear after redirects;
  • you cannot compare the provider unit with a matching GA4 metric.

With Serplify, you can pause the project, correct future settings, and resume after the measurement path is clean. Our campaign setup guide explains those controls.

The bottom line

Check the page before the totals. Check events before engagement averages. Check session-scoped acquisition after normal processing. Compare the same unit, window, and timezone. Keep test traffic outside customer KPIs.

That process tells you whether the campaign reached the right page and whether your analytics setup worked. It also prevents a successful QA test from becoming a false growth story.

Frequently asked questions

Where can I see new website traffic in GA4?

Start in Reports, then Realtime to check activity from the last 30 minutes. Confirm the page and events first. Later, use Traffic acquisition for session source, medium, and campaign analysis because Realtime uses limited attribution processing.

Why does GA4 show fewer sessions than my traffic provider delivered?

Consent choices, ad blockers, tag errors, redirects, filters, reporting delays, timezones, and GA4 processing rules can all reduce or change the reported count. Compare the same time window and unit before you assume delivery failed.

How do I calculate GA4 visibility for a traffic test?

Divide the matching GA4 sessions by the provider's delivered visits, then multiply by 100. Use the same page, campaign label, date range, and timezone. Treat the percentage as a measurement result, not proof that each session came from a real person.

Should I permanently filter test traffic out of GA4?

Be careful. Active GA4 data filters permanently prevent matching data from being processed. For many tests, a separate property, dedicated landing page, UTM campaign label, or report-level comparison is safer because you can still inspect the evidence later.

From the team that built it

Put this into practice with the Website Traffic.

Buy website traffic that behaves like real people — geo and device targeting, referral source control, and analytics you can actually read.

Start on the free balance — no card required.