Campaign filter reference
Reference for Axalot campaign stream filters: fields, operators, values, limits, and routing examples.
What filters control
Campaign filters decide whether a click belongs to a stream set. If the click matches the stream filters, Axalot uses that stream's pixels and rotation. If it does not match, routing continues to the next active stream.
Request
IP, user agent, referrer, headers, language, timezone, and GET parameters.
Audience
Detected device, OS, browser, and bot fields.
Geo
Continent, country, region, city, and postal code.
Source parameters
Traffic Source fields mapped from the campaign tracking URL.
Console path
Console / Tracker / Campaigns / Create or Edit Campaign / Streams / Filters
Operators
| Operator | Meaning | Used by |
|---|---|---|
IS | Match selected values exactly. | Select lists, IP, postal code, query parameters. |
IS NOT | Match everything except selected values. | Select lists, IP, postal code, query parameters. |
LIKE | Text contains one of the entered tags. | Text filters such as user agent, referrer, continent, region, city. |
NOT LIKE | Text does not contain the entered tags. | Text filters such as user agent, referrer, continent, region, city. |
EXIST | Header exists. | X-Requested-With. |
NOT EXIST | Header does not exist. | X-Requested-With. |
First rule starts the group
The first saved filter starts the rule group. Additional filters can be combined by the filter dialog logic controls.
Request filters
Request filters use raw request data and normalized request metadata.
| Filter | Field | Operators | Value format | Limit |
|---|---|---|---|---|
| IP Version | ip_version | IS, IS NOT | ipv4 or ipv6 | Single value |
| IP | ip | IS, IS NOT | IPv4, IPv6, IP range, or CIDR | 100 values |
| User Agent | user_agent | LIKE, NOT LIKE | Text tags | 5 tags |
| Referrer | referrer | LIKE, NOT LIKE | Text tags or empty value | 50 tags in the UI |
| X-Requested-With | is_x_requested_with | EXIST, NOT EXIST | Boolean presence check | 2 values internally |
| Accept Language | accept_language | IS, IS NOT | ISO 639-1 language code | 20 values |
| Timezone | timezone | IS, IS NOT | IANA timezone name | 20 values |
IP values
The IP filter accepts:
192.168.1.10
192.168.1.10-192.168.1.20
10.0.0.0/24
2001:db8::/32Use IP IS NOT for internal QA ranges, office networks, or known unwanted ranges.
Text values
Most text filters accept up to 5 tags. Tags are matched as text conditions and must use safe characters:
letters, numbers, spaces, dots, dashes, underscores, /, :, +, #, parenthesesUse the empty value option when the goal is to match a missing value, for example an empty referrer.
Reserved empty text
Do not type empty manually as a text tag. Use the filter dialog's empty value option where the field supports it.
Audience filters
Audience filters use normalized MT detection fields stored with each click. Every audience field is selected from a fixed list and includes Unknown when Axalot cannot detect a value.
| Filter | Field | Operators | Values |
|---|---|---|---|
| Platform | platform | IS, IS NOT | Platform list plus unknown. |
| Is Mobile | is_mobile | IS, IS NOT | yes, no, unknown. |
| Device Model | device_model | IS, IS NOT | Device model list plus unknown. |
| Device Brand | device_brand | IS, IS NOT | Device brand list plus unknown. |
| Device Type | device_type | IS, IS NOT | Device type list plus unknown. |
| OS Platform | os_platform | IS, IS NOT | OS CPU platform list plus unknown. |
| OS Name | os_name | IS, IS NOT | OS name list plus unknown. |
| Browser Engine | browser_engine | IS, IS NOT | Browser engine list plus unknown. |
| Browser Name | browser_name | IS, IS NOT | Browser name list plus unknown. |
| Browser Type | browser_type | IS, IS NOT | Browser type list plus unknown. |
| Bot Name | bot_name | IS, IS NOT | Bot name list plus unknown. |
| Bot Category | bot_category | IS, IS NOT | Bot category list plus unknown. |
| Is Bot | is_bot | IS, IS NOT | yes, no, unknown. |
Use Is Mobile IS yes or Device Type IS smartphone when the stream should route phones and mobile browser traffic.
Use Is Mobile IS no or Device Type IS desktop when the stream should route desktop traffic to a desktop-specific landing or offer.
Use Browser Name IS Chrome or Browser Engine IS Blink when the destination depends on browser behavior.
Geo filters
Geo filters use detected location data.
| Filter | Field | Operators | Value format | Limit |
|---|---|---|---|---|
| Continent | continent | LIKE, NOT LIKE | Text tags | 5 tags |
| Country | country | IS, IS NOT | ISO-2 country code | One country filter per stream |
| Region | region | LIKE, NOT LIKE | Text tags | 5 tags |
| City | city | LIKE, NOT LIKE | Text tags | 5 tags |
| Postal Code | postal_code | IS, IS NOT | 3-10 digits | 20 unique values |
Country
Use ISO-2 country codes.
US
DE
TR
BROnly one country filter can be added to the same stream. Put multiple countries in the same filter instead of adding several country filters.
Postal code
Postal code accepts only digits.
10001
90210
34000Use it only when postal-level routing is actually needed. Country, region, or city is cheaper to maintain for most campaigns.
Source parameter filters
Source parameter filters are based on GET parameters from the selected Traffic Source. They let routing depend on ad platform values passed into the campaign link.
| Filter field | Default parameter | Typical use |
|---|---|---|
query_currency | currency | Currency code for cost. |
query_creative_id | creative_id | Creative-level routing or QA. |
query_ad_campaign_id | ad_campaign_id | Ad campaign split. |
query_source | source | Platform/source split. |
query_keyword | keyword | Keyword routing. |
query_utm_source | utm_source | UTM source split. |
query_utm_medium | utm_medium | UTM medium split. |
query_utm_campaign | utm_campaign | UTM campaign split. |
query_utm_term | utm_term | UTM term split. |
query_utm_content | utm_content | UTM content split. |
query_sub1-query_sub10 | sub1-sub10 | Custom source values. |
Custom parameter names are allowed
The Traffic Source can rename GET parameters. The filter still represents the same source field, but the actual URL parameter name comes from the selected Traffic Source mapping.
Source parameter value rules
| Field | Allowed value |
|---|---|
query_currency | ISO currency code selected from the currency list, for example USD. |
| All other source parameter filters | Latin letters, numbers, hyphens, and underscores; 1-64 characters. |
All source parameter filters support IS and IS NOT only, with up to 20 unique values.
Unsupported fields
Campaign stream filters do not support every report filter field.
| Unsupported field | Use instead |
|---|---|
host | Route by campaign domain at the campaign level. |
method | Not exposed for campaign stream routing. |
Generic query_parameter | Use mapped Traffic Source fields such as query_creative_id, query_sub1, or query_utm_campaign. |
Common recipes
US mobile stream
Country IS US
AND Is Mobile IS yesUse for mobile-only offers, PWA flows, or mobile landing tests.
Android traffic
Platform IS AndroidUse when the destination is Android-specific.
Empty referrer traffic
Referrer LIKE emptyUse the empty value option in the dialog. Do not type empty manually.
Exclude office traffic
IP IS NOT 203.0.113.10
IP IS NOT 203.0.113.0/24Use for QA networks and internal traffic.
Creative-based routing
creative_id IS creative_001Use when the Traffic Source passes creative ids and each creative needs a separate destination.
Checklist before saving
- Put the most specific stream above the fallback stream.
- Keep one final stream without filters if the campaign should always route somewhere.
- Use one country filter with multiple countries, not multiple country filters.
- Use one timezone filter with multiple timezones, not multiple timezone filters.
- Use mapped source parameters instead of generic query filters.
- Confirm the selected Traffic Source sends the same parameter names used by the filters.