Tracker Campaign Filters Guide
Tracker Campaign Filters Guide
Introduction
Filters are used in stream sets to segment traffic and direct users to the desired streams. Each filter checks specific characteristics of the user or request and allows accepting or rejecting traffic based on specified conditions.
Filter Categories
All filters are divided into 4 categories:
-
Parameters — URL parameters and HTTP headers
-
Geo — geographical and network data
-
Device/Browser — device and browser characteristics
-
Tracking — tracking parameters (UTM tags, Sub-parameters)
Filter Operations
Each filter supports one or more operations:
Operation | Display | Description |
|---|---|---|
| IS | The value must match one of the specified |
| IS NOT | The value must not match any of the specified |
| EXISTS | The parameter or header must exist |
| NOT EXISTS | The parameter or header must not exist |
| BETWEEN | The value must be within a range (for numeric parameters) |
1. Parameters
1.1 Query Parameter
ID: parameter
Type: query
Operations: IS, IS NOT
Multiple Use: ✅ Yes
Description:
Filters traffic by URL parameters (query string). Allows checking for the presence and value of any GET parameter in the tracking link.
Settings:
-
Key — name of the parameter (e.g.,
utm_source,campaign_id,custom_param) -
Values — list of allowed or disallowed values
Special Value:
@empty— means that the parameter is absent or empty
Usage Examples:
Example 1: Filter by utm_source
Type: Query Parameter Key: utm_source Operation: IS Values: facebook, instagram, tiktok
Intercepts traffic only from Facebook, Instagram, and TikTok.
Example 2: Excluding a specific campaign_id
Type: Query Parameter Key: campaign_id Operation: IS NOT Values: test123, demo456
Rejects traffic from test campaigns.
Example 3: Checking for the absence of a parameter
Type: Query Parameter Key: fbclid Operation: IS Values: @empty
Only allows traffic without Facebook Click ID (direct visits).
1.2 Referrer
ID: referrer
Type: headers
Key: referer
Operations: IS, IS NOT
Multiple Use: ❌ No
Description:
Filters traffic by the HTTP Referer header — the domain or URL from which the user came.
Settings:
- Values — list of allowed or disallowed referrer domains
Usage Examples:
Example 1: Only traffic from social networks
Type: Referrer Operation: IS Values: facebook.com instagram.com twitter.com linkedin.com
Example 2: Blocking spam sources
Type: Referrer Operation: IS NOT Values: spam-site.com malicious-domain.net
Note
The referrer can be spoofed or absent (direct traffic). Do not use this filter as the only protection.
1.3 X-Requested-With
ID: x_requested_with
Type: headers
Key: x-requested-with
Operations: EXISTS, NOT EXISTS
Multiple Use: ❌ No
Description:
Checks for the presence of the HTTP header X-Requested-With, which is usually set by AJAX requests (value XMLHttpRequest).
Settings:
- Operation — EXISTS (header is present) or NOT EXISTS (header is absent)
Usage Examples:
Example 1: Only AJAX requests
Type: X-Requested-With Operation: EXISTS
Only allows asynchronous requests.
Example 2: Blocking AJAX
Type: X-Requested-With Operation: NOT EXISTS
Only allows regular browser transitions.
Application:
Used to protect against automated scripts or for specific scenarios with Single Page Applications (SPA).
2. Geo
2.1 Country
ID: country
Type: event
Key: user_country
Operations: IS, IS NOT
Multiple Use: ❌ No
Description:
Filters traffic by the user's country based on the IP address (determined via GeoIP database).
Settings:
- Values — list of ISO country codes (e.g., US, GB, DE, UA)
Usage Examples:
Example 1: Only English-speaking countries
Type: Country Operation: IS Values: US, GB, CA, AU, NZ
Example 2: Excluding countries with low conversion
Type: Country Operation: IS NOT Values: CN, IN, PK
Note:
Country determination is based on IP address and may be inaccurate when using VPN or proxy.
2.2 Proxy Detect
ID: proxy_detect
Type: event
Key: user_proxy
Value: 1 (fixed)
Operations: IS, IS NOT
Multiple Use: ❌ No
Description:
Determines whether the user is using a proxy server or VPN.
Settings:
-
Operation:
-
IS — allow only users with a proxy
-
IS NOT — block users with a proxy
-
Usage Examples:
Example 1: Blocking proxy traffic
Type: Proxy Detect Operation: IS NOT
Only allows "clean" traffic without a proxy.
Example 2: Only proxy traffic
Type: Proxy Detect Operation: IS
Intercepts users who use a proxy (a rare use case).
Application:
Used to improve traffic quality and prevent fraud.
2.3 Bot Detect
ID: bot_detect
Type: event
Key: user_bot
Value: 1 (fixed)
Operations: IS, IS NOT
Multiple Use: ❌ No
Description:
Determines whether the user is a bot (search engine crawler, automated script, etc.).
Settings:
-
Operation:
-
IS — allow only bots
-
IS NOT — block bots
-
Usage Examples:
Example 1: Blocking bots
Type: Bot Detect Operation: IS NOT
The standard case — allow only real users.
Example 2: A separate stream for bots
Type: Bot Detect Operation: IS
Direct bots to a special page (e.g., static content for indexing).
Detection Methods:
-
User-Agent analysis
-
Behavioral patterns
-
IP reputation
2.4 ASN Provider
ID: asn
Type: event
Key: user_asn
Operations: IS, IS NOT
Multiple Use: ❌ No
Dynamic Search: ✅ Yes
Description:
Filters traffic by the Autonomous System Number (ASN) — a unique identifier of an internet provider or organization.
Settings:
- Values — list of ASNs in the format
{ASN_ID} - {Provider Name}(e.g.,15169 - Google LLC,16509 - Amazon.com Inc.)
Usage Examples:
Example 1: Blocking data centers
Type: ASN Provider Operation: IS NOT Values: 15169 - Google LLC 16509 - Amazon.com Inc. 14061 - DigitalOcean LLC
Cuts off traffic from known hosting providers (possible fraud).
Example 2: Only large providers
Type: ASN Provider Operation: IS Values: 12389 - Rostelecom 8359 - MTS 31213 - MegaFon
Only allows traffic from large mobile operators.
How to Search for an ASN:
-
Start typing the provider name or ASN number
-
The system will automatically perform the search
-
Select the desired ASNs from the list
Application:
Used for filtering data center traffic, targeting specific network operators, or blocking known fraud sources.
2.5 IPv4
ID: ipv4
Type: data
Key: user_ip
Operations: IS, IS NOT
Multiple Use: ❌ No
Description:
Filters traffic by IPv4 addresses. Supports several formats: single IP, range, CIDR notation.
Settings:
-
Values — list of IP addresses in one of the formats:
-
Single IP:
192.168.1.1 -
Range with a wildcard:
192.168.1.*or192.168.1.0-255 -
Octet range:
192.168.0-20.* -
CIDR notation:
192.168.1.0/24
-
Usage Examples:
Example 1: Blocking specific IPs
Type: IPv4 Operation: IS NOT Values: 203.0.113.15 198.51.100.42
Example 2: Subnet whitelist
Type: IPv4 Operation: IS Values: 10.0.0.0/8 192.168.0.0/16
Example 3: IP range
Type: IPv4 Operation: IS Values: 192.168.1.* 10.0.0-10.*
Application:
Blocking known fraudulent IPs, creating white/black lists, testing from specific addresses.
2.6 IPv6
ID: ipv6
Type: event
Key: user_ip_v6
Value: 1 (fixed)
Operations: IS, IS NOT
Multiple Use: ❌ No
Description:
Filters traffic by IP protocol type (IPv6 or IPv4).
Settings:
-
Operation:
-
IS — allow only IPv6 traffic
-
IS NOT — allow only IPv4 traffic
-
Usage Examples:
Example 1: Only IPv4
Type: IPv6 Operation: IS NOT
The standard case — work only with IPv4 (most offers).
Example 2: Only IPv6
Type: IPv6 Operation: IS
Testing or specific offers for modern networks.
3. Device/Browser
3.1 Browser
ID: browser
Type: event
Key: user_browser
Operations: IS, IS NOT
Multiple Use: ❌ No
Description:
Filters traffic by the user's browser type.
Settings:
- Values — list of browser names (Chrome, Firefox, Safari, Edge, Opera, etc.)
Available Values:
-
Chrome
-
Firefox
-
Safari
-
Edge
-
Opera
-
Samsung Internet
-
UC Browser
-
Yandex Browser
-
And others
Usage Examples:
Example 1: Only modern browsers
Type: Browser Operation: IS Values: Chrome, Firefox, Safari, Edge
Example 2: Blocking old browsers
Type: Browser Operation: IS NOT Values: Internet Explorer, Opera Mini
Application:
Optimization for specific browsers, blocking incompatible versions.
3.2 OS
ID: os
Type: event
Key: user_os
Operations: IS, IS NOT
Multiple Use: ❌ No
Description:
Filters traffic by the device's operating system.
Settings:
- Values — list of OS names
Available Values:
-
Windows
-
macOS
-
Linux
-
Android
-
iOS
-
Chrome OS
-
Ubuntu
-
And others
Usage Examples:
Example 1: Only mobile OS
Type: OS Operation: IS Values: Android, iOS
Example 2: Excluding old Windows versions
Type: OS Operation: IS NOT Values: Windows XP, Windows Vista
Example 3: Only Apple devices
Type: OS Operation: IS Values: iOS, macOS
3.3 Device Type
ID: device_type
Type: event
Key: user_device
Operations: IS, IS NOT
Multiple Use: ❌ No
Description:
Filters traffic by device type.
Settings:
- Values — list of device types
Available Values:
-
Mobile
-
Tablet
-
Desktop
-
TV
-
Console
Usage Examples:
Example 1: Only mobile traffic
Type: Device Type Operation: IS Values: Mobile
Example 2: Mobile and tablets
Type: Device Type Operation: IS Values: Mobile, Tablet
Example 3: Excluding desktops
Type: Device Type Operation: IS NOT Values: Desktop
Application:
The most popular filter for separating mobile and desktop traffic.
3.4 User Agent
ID: user_agent
Type: event
Key: user_ua
Operations: IS, IS NOT
Multiple Use: ❌ No
Description:
Filters traffic by the full User-Agent string (contains information about the browser, OS, and device).
Settings:
- Values — list of patterns or full User-Agent strings
Usage Examples:
Example 1: Specific browser versions
Type: User Agent Operation: IS Values: Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) Mozilla/5.0 (Linux; Android 11; SM-G991B)
Example 2: Blocking known bots
Type: User Agent Operation: IS NOT Values: Googlebot bingbot YandexBot
Note:
The User-Agent can be easily spoofed, so do not use this filter as the only protection method.
3.5 Language
ID: language
Type: event
Key: user_lang
Operations: IS, IS NOT
Multiple Use: ❌ No
Description:
Filters traffic by the browser language (determined from the Accept-Language HTTP header).
Settings:
- Values — list of ISO language codes (EN, RU, UK, DE, FR, ES, etc.)
Usage Examples:
Example 1: English-speaking users
Type: Language Operation: IS Values: EN
Example 2: Russian-speaking countries
Type: Language Operation: IS Values: RU, UK, BE, KK
Example 3: Excluding Asian languages
Type: Language Operation: IS NOT Values: ZH, JA, KO, TH
Application:
Targeting language groups even if they are located in different countries.
4. Tracking
Even if you use parameter mapping in the source settings, custom parameter names will be converted to the system's standard names.
4.1 UTM Parameters
A group of filters for working with Google Analytics UTM tags.
utm_source
ID: utm_source
Type: event
Key: ext_utm_source
Operations: IS, IS NOT
Description:
Traffic source (e.g., google, facebook, newsletter).
Examples:
Type: utm_source Operation: IS Values: facebook, instagram, google
utm_medium
ID: utm_medium
Type: event
Key: ext_utm_medium
Operations: IS, IS NOT
Description:
Distribution channel (e.g., cpc, banner, email).
Examples:
Type: utm_medium Operation: IS Values: cpc, cpm
utm_campaign
ID: utm_campaign
Type: event
Key: ext_utm_campaign
Operations: IS, IS NOT
Description:
Advertising campaign name.
Examples:
Type: utm_campaign Operation: IS Values: summer_sale_2024, black_friday
utm_content
ID: utm_content
Type: event
Key: ext_utm_content
Operations: IS, IS NOT
Description:
Ad or creative identifier for A/B testing.
Examples:
Type: utm_content Operation: IS Values: banner_blue, textlink_cta
utm_term
ID: utm_term
Type: event
Key: ext_utm_term
Operations: IS, IS NOT
Description:
Keyword for paid search.
Examples:
Type: utm_term Operation: IS Values: buy+iphone, smartphone+deals
4.2 ext_click_id
ID: ext_click_id
Type: event
Key: ext_click_id
Operations: IS, IS NOT
Multiple Use: ❌ No
Description:
External click identifier from the advertising network (e.g., fbclid from Facebook, gclid from Google).
Usage Examples:
Example 1: Only traffic with a Click ID
Type: ext_click_id Operation: IS NOT Values: @empty
Only allows traffic with a tracked click.
4.3 Sub-parameters (sub1 - sub10)
IDs: sub1, sub2, sub3, sub4, sub5, sub6, sub7, sub8, sub9, sub10
Type: event
Keys: ext_sub1 - ext_sub10
Operations: IS, IS NOT
Description:
10 custom parameters for passing arbitrary data to the tracker (e.g., placement ID, creative ID, landing page version, etc.).
Settings:
- Values — list of allowed or disallowed values
Usage Examples:
Example 1: Filter by placement (sub1)
Type: sub1 Operation: IS Values: placement_001, placement_002, placement_003
Example 2: Excluding test creatives (sub2)
Type: sub2 Operation: IS NOT Values: creative_test, creative_demo
Example 3: Landing page version (sub3)
Type: sub3 Operation: IS Values: v2, v3
Application:
Flexible traffic segmentation by any custom parameters you pass in the URL.
Combining Filters
AND Mode
All filters must be satisfied simultaneously.
Example:
Filter 1: Country IS US Filter 2: Device Type IS Mobile Filter 3: Browser IS Chrome Mode: AND
✅ Allows: Mobile Chrome from the US
❌ Blocks: Desktop Chrome from the US, Mobile Safari from the US
OR Mode
It is enough for at least one filter to be satisfied.
Example:
Filter 1: Country IS US Filter 2: Country IS GB Filter 3: Country IS CA Mode: OR
✅ Allows: Any traffic from the US, UK, or Canada
Practical Scenarios
Scenario 1: Mobile Traffic from Tier-1 Countries
Mode: AND Filter 1: Device Type IS Mobile Filter 2: Country IS US, GB, CA, AU, DE, FR Filter 3: Bot Detect IS NOT
Scenario 2: Quality Facebook Traffic
Mode: AND Filter 1: utm_source IS facebook Filter 2: Proxy Detect IS NOT Filter 3: Device Type IS Mobile, Tablet
Scenario 3: A/B Testing Creatives
Stream Set A:
Filter: sub1 IS creative_a
Stream Set B:
Filter: sub1 IS creative_b
Tips for Using Filters
✅ Best Practices
-
Start with broad filters, then refine
-
Use AND mode for precise segmentation
-
Combine Geo + Device Type — the most common combination
-
Always add Bot Detect IS NOT for quality traffic
-
Test filters on a small volume before scaling
❌ Common Mistakes
-
Filters that are too narrow — you may lose all traffic
-
Contradictory conditions in AND mode (e.g., Device IS Mobile AND Device IS Desktop)
-
Forgetting about stream set order — more general filters should be placed lower
-
Not accounting for the @empty value for Query Parameter
-
Relying only on the User-Agent — it is easy to spoof
💡 Performance Optimization
-
Use no more than 5-7 filters in a single stream set
-
Place the most selective filters (Country, Device Type) first
-
Avoid redundant filters (if you already have Country IS US, Language IS en is not needed)
Conclusion
Filters are a powerful tool for precise traffic segmentation and routing. Proper use of filters allows you to:
-
Increase conversion by targeting your target audience
-
Reduce costs by cutting off non-targeted traffic
-
Run A/B tests and optimize campaigns
-
Protect against fraudulent traffic
Experiment with filter combinations and analyze statistics to achieve the best results!
