# GA4 and Analytics Testing With a Known Number of Visits

> Check a GA4 setup with real browser sessions you count yourself, then match GA4 against your server log and CDN. Example settings and the full cost.

After a new tag, a consent banner or a template change, a reliable way to know analytics still counts correctly is to send traffic you can count yourself. Run 200 real browser sessions to a test page in one hour, then check that GA4, your server log and your CDN report the same visits.

The sessions come from automated browsers. They test how your analytics counts visits; they are not an audience. They accept a CMP consent banner only when that setting is on in the campaign, and otherwise leave the banner alone.

## Why Test Analytics With Sessions You Control

### A report has no error message

01

- Broken tracking rarely looks broken. A tag that fires twice doubles page views, a consent banner that holds the tag back drops sessions, and a single-page app that sends no page_view on route changes hides whole sections of the site. Each of these still produces a plausible number.
- The gap shows only when you know what the number should be. A batch whose session count, page count and source you fixed before it ran gives you that figure.

### Changes worth a test batch

02

- A new GA4 property, a move to Google Tag Manager, a redesign that replaced the page templates, a new consent banner, or renamed referral sources that should land in a different default channel group.
- Each check is a small campaign pointed at the pages the change touched, scheduled in a quiet hour so the batch stands out from your regular visitors.

### Direct, referral and backlink paths

03

- Traffic Generator sends direct sessions, or referral and social sessions with a referrer you name, so you can see that each lands in the channel you expect. To test the referral path through a real page, Link Clicker opens a page that links to you and clicks the link itself.
- Organic search is a separate check: GA4 does not show the search term of an organic visit, and visits that come from a results page are SERP Clicks, not Traffic Generator.

## Example: Checking GA4 After a Template Change

A site has moved to new page templates and wants to confirm that GA4 still counts sessions, page views and channels. The batch runs against a test section that regular visitors do not open, so it can be told apart in every report.

Campaign settings

### Target URL

https://example.com/analytics-test/, a test section of 3 linked pages that regular visitors do not open

### Volume and schedule

200 sessions, all in one hour of a quiet day

### Traffic source

Direct

### Session duration

30 to 90 seconds

### Page depth

3 pages, following the links inside the test section

### Bounce rate

0 percent, so every session opens all 3 pages

### Country

The country most of your audience comes from

### Referral check

Link Clicker, 50 clicks on one backlink on a site you control

What the reports should show

- GA4 Realtime overview: the sessions arriving during the hour you scheduled
- GA4, Reports, then Engagement, then Landing page: about 200 sessions on the test page, once standard reports have processed, which can take a day or two
- Page views: about 600, that is 200 sessions times 3 pages. A count near double points to a tag that fires twice
- Server access log: about 600 page requests to the test pages in that hour, plus the asset requests each page makes
- The Link Clicker clicks: about 50 sessions in the Referral channel, under Session source, from the domain of the linking page

Cost of the whole test: 200 sessions at $0.0015 come to $0.30, and 50 backlink clicks at $0.003 come to $0.15, so $0.45 in all, well inside the $5 minimum deposit.

## Running the Test

### Write down the expected figures

Before the batch starts, note the sessions, page views and channel each report should show. A test without an expected figure is only a look at a dashboard.

### Check filters and consent

Look at the data filters on the GA4 property and at how the consent banner loads the tag. If the tag waits for consent, a campaign setting decides what the sessions do: with it on, the browsers accept the CMP banner; with it off, they leave the banner alone, so sessions that never accept it are not recorded the way accepted ones are, and the test shows you that gap.

### Run the batch in one hour

Schedule the whole batch inside one hour of a quiet day, so it is easy to isolate in Realtime, in the landing page report and in the log.

### Put three sources side by side

Compare GA4, the server log and the CDN for the same hour. When they agree, the tag counts what reaches the site; when GA4 alone falls short, look at the tag, the consent setup or a filter.

## What a Test Batch Can and Cannot Catch

- Shows whether GA4 counts sessions, page views and channels for a batch whose size and source you set yourself
- Gives you a figure to reconcile against your server log and CDN, independent of any dashboard, ours included
- Tests direct, referral and social attribution, and the referral path through a real backlink with Link Clicker

- Does not test conversions or forms: nobody behind these sessions fills in or buys anything
- Does not test search attribution: visits from search results are SERP Clicks, a separate tool
- Does not replace GA4 DebugView for checking the parameters of individual events

## Tools Used in This Example

The sessions come from Traffic Generator, billed per session at a rate that follows the session duration, and the backlink check uses Link Clicker, billed per click. Both rates are on the pricing page.

## Analytics Testing Questions

### Will GA4 count these sessions?

In a working setup, yes: they are real browsers that load the page and run its JavaScript, so the GA4 tag fires as it would for any visitor. That is what the test checks. A consent banner depends on a campaign setting: with it on, the browsers accept the CMP banner; with it off, they leave the banner alone, and where the GA4 tag waits for consent, those sessions are missing or modeled in GA4 while the server log still counts them. If GA4 shows fewer sessions than your server log for the same hour and consent is not the reason, something in the tag or a filter is dropping them.

### Will the test batch distort my real reports?

For the hour of the test, yes, because the sessions are counted. Run it against a staging copy with its own GA4 property, or against a test page, and keep a note of the date and hour so the batch is not read as demand later.

### How do I count the visits in my server log?

Filter the access log by the test path and the hour of the run. On a standard nginx or Apache log, grep '/analytics-test/' access.log | wc -l gives the number of requests to the test pages; narrow it to the hour by adding the timestamp the log uses.

---

- HTML version of this page: https://yootraffic.com/en/use-cases/analytics-testing
- Site index for agents: https://yootraffic.com/llms.txt
- Sitemap: https://yootraffic.com/sitemap.xml
