Filter Internal Traffic in PostHog
Define internal and test-user rules, enable the relevant report filter and validate known examples on both sides. Filtering for analysis is different from preventing data collection or deleting historical events.
Before you start: Have permission to edit the relevant settings and reliable user or environment properties. Keep legitimate customer traffic distinct from contractors and test accounts.
Worked example: A team tests onboarding daily from company accounts and localhost. Exclude those known patterns, then confirm that a real customer using a similar browser is still included.
Step-by-step guide
Inventory internal identifiers
List reliable company-account and development-environment properties. Avoid excluding a shared email domain or IP unless it truly identifies the intended internal audience.
Define inclusion semantics
Write the population you want to keep and the cases to exclude. Check whether each rule behaves as an inclusion or exclusion before combining several conditions.
Apply the report filter
Configure the project’s internal/test-user rules and enable filtering on the insight. Do not assume defining rules retroactively turns on every existing report.
Validate known accounts
Compare a staff test journey, a development session and a real customer. Confirm that each is classified as intended before sharing the new metric.
Check dashboard behavior
Inspect existing insights and dashboard overrides individually. Record any report that uses different exclusions so a weekly review does not compare incompatible populations.
Preserve the baseline
Save the old and new counts with the rule definition and change date. Explain the measurement change before attributing the difference to product performance.
Common mistakes
Rules exist but toggle is off
A configured rule may not be applied to an insight. Verify the actual query.
Too broad a domain rule
Agencies or shared domains can include customers. Test known accounts.
Filtering equals deletion
Analysis exclusions do not by themselves remove collected data. Handle collection separately.
Tips
Keep a small test set of known internal and customer accounts.
Record exclusion changes beside recurring metrics.
Inspect SQL-based reports separately from visual insight toggles.
Sources and verification
Based on product documentation checked on 2026-10-24. This is a documentation-based guide, not a hands-on benchmark. Features and availability can change.