Skip to content

Test your GA4 internal traffic filter before excluding visits

Build a controlled GA4 internal traffic test with a reusable evidence sheet, clear activation criteria, and recovery steps for mistaken exclusions.

RunbookOctober 5, 20264 min read
~/runbook $ cat workflows.md[guide]
>_// Workflows
91 lines · workflows.md0x0875

This sheet contains partner links. A purchase through one earns Runbook a commission at no additional cost to you. How we make money.

Your team checks a landing page repeatedly before launch. Those visits can muddy the report you later use to judge the campaign. Removing them sounds straightforward, but GA4 exclusion has a permanent consequence: excluded events never become available in Analytics or BigQuery. Historical data stays unchanged. Google’s data-filter documentation establishes both limits.

Use this workflow to decide whether one office network is safe to exclude. The deliverable is a saved test comparison and an activation record. If customers share that network, or nobody can confirm who uses it, keep the exclusion inactive and use report-level filtering where appropriate.

This is based on current documentation and editorial analysis, checked October 5, 2026. It is not a hands-on product test. The cited Google pages show no publication dates; this guide makes no claim of a new release.

  1. Confirm scope and record the starting state.

This procedure covers GA4 website traffic, not app traffic or Universal Analytics. You need property-level Editor access, a working web stream, the office’s public IP address, and a separate connection for the control visit. Google supports IPv4 and IPv6. Google’s internal-traffic instructions document these prerequisites.

Our recommendation is to start with one confirmed address. Ask the network owner whether it changes and whether guests or customers share it. Save the property ID, stream ID and existing filter settings before editing. Inspect existing exclusions first: another active filter could remove your test events and obscure the result.

  1. Create the classification and leave exclusion in Testing.

In Admin, open Data streams, select the web stream, then Configure tag settings, Show more, and Define internal traffic. Create an exact-IP rule with a distinctive traffic_type value, such as office_qa.

Under Admin’s Data filters, create an Internal Traffic exclusion matching that value. Name it Office QA, select Testing, and save. Testing labels matching events through the Test data filter name dimension; it does not discard them. Google says application can take 24–36 hours. These controls are documented in its setup instructions.

  1. Run a positive test and a separate control.

After allowing for the configuration delay, visit one existing, harmless page from the office connection. Then visit it from a separate connection, such as a phone with Wi-Fi disabled. Use ordinary browsing with the same consent choice; do not submit leads, purchase products or click advertisements.

Give each visit a distinct, nonpersonal query marker so you can distinguish them later. The following is a hypothetical test record, not observed evidence. Replace the page and identifiers with your own.

Property / stream: [record both]
Rule value: office_qa
Filter name / state: Office QA / Testing
Original settings: [saved reference]

Case A: office connection
Page: /pricing?qa_case=office_a
Visit time and timezone: [record]
Expected: page_view classified as Office QA
Observed: [leave blank until checked]

Case B: independent connection
Page: /pricing?qa_case=control_b
Visit time and timezone: [record]
Expected: page_view present without Office QA classification
Observed: [leave blank until checked]

Decision: hold / activate
Reviewer and evidence location: [record]
Activation or reversal timestamp: [record]
  1. Inspect both sides of the comparison.

Open Explore and select Free form. Import Page location, Test data filter name, and Event name as dimensions, plus Event count as a metric. Use the dimensions as rows and Event count as the value. Set dates covering the visits and restrict Event name to page_view. Google documents configurable rows, values and filters in its free-form exploration guide.

Inspect each marked URL separately. Do not restrict the entire table to Office QA, because that would hide the control you need to assess.

Our acceptance rule: both visits must be visible, and only the office visit should carry the chosen classification. A missing control is inconclusive. Save the table and complete the evidence record before considering activation.

  1. Handle failure, replay and reversal.

If neither visit appears, investigate collection, consent, dates and processing before changing the IP rule. If both are classified, verify that the control really used a separate network. If only the office classification is missing, recheck the current public address and matching value.

Repeat with fresh markers after each correction. Keep earlier evidence so a replay cannot be mistaken for the original result.

Activate only after the comparison passes and the network owner confirms the exclusion’s scope. If a mistake emerges, switch the filter to Inactive and repeat the controlled visits after the change takes effect. This stops further exclusion once applied; it cannot restore discarded events. Record the affected interval as a measurement gap, not zero traffic, consistent with Google’s permanence warning.

Carry the activation timestamp into your weekly marketing report workflow. A subsequent drop in visits may reflect the measurement change rather than weaker marketing.

About Runbook

AI tools and automation builds for marketers. What to use, how to wire it, and the workflow to copy this week. How we work

GET THE NEXT DISPATCH

Run the next build before your competitors read about it.

One short email when an AI tool or automation actually changes the work, with the build to copy.

No send unless there is a build worth running.

// keep_reading

Related builds