Variables¶
These variables are available inside both match expressions and extract expressions.
Request variables¶
| Variable | Type | Example | Description |
|---|---|---|---|
Host |
string |
example.com |
Request host, without scheme or port |
Path |
string |
/shop/product/42 |
Request path, always starts with / |
Query |
string |
ref=email&lang=nl |
Raw query string, without the leading ? |
Method |
string |
GET |
HTTP method, always uppercase |
Scheme |
string |
https |
http or https |
Ip |
string |
1.2.3.4 |
Client IP address |
IsReturningVisitor |
bool |
true |
Whether the visitor has a known marker cookie |
Dictionary variables¶
These are case-insensitive dictionaries accessed with the [] indexer.
Accessing a missing key returns an empty string — it does not throw.
| Variable | Description |
|---|---|
QueryParams |
Parsed query string parameters |
Headers |
Request headers |
Cookies |
Request cookies |
QueryParams["lang"] // "nl"
Headers["User-Agent"] // "Mozilla/5.0 ..."
Cookies["session"] // "abc123"
Geo variables¶
Geo information is resolved from the client IP via MaxMind GeoIP. If the IP cannot be resolved (private ranges, unknown IPs), both values are empty strings.
| Variable | Type | Example | Description |
|---|---|---|---|
Geo.Country |
string |
NL |
ISO 3166-1 alpha-2 country code, or "" |
Geo.Continent |
string |
EU |
Continent code, or "" |
Continent codes: AF Africa · AN Antarctica · AS Asia · EU Europe · NA North America · OC Oceania · SA South America
Testing with unknown geo
In the Tester, selecting Unknown (GeoIP not resolved) for country/continent simulates a visitor whose IP is not in the MaxMind database. Rules that check Geo.Country != "" will not match.