Targeting Conditions
This page lists everything a journey condition can test. Each attribute belongs to a source, supports a fixed set of operators, and expects values in a particular format.
Operators
| Operator | Meaning | Value |
|---|---|---|
| is / is not | Exact match (text comparisons ignore case) | One value |
| contains / does not contain | Substring match, ignoring case | Text |
| contains any of / does not contain any of | Substring match against a list, ignoring case — the text holds at least one of the listed values, or none of them | One or more values |
| starts with | Prefix match, ignoring case | Text |
| is one of / is not one of | Matches any value in the list | One or more values |
| is set | The attribute has any value | None |
| =, ≠, >, ≥, <, ≤ | Numeric comparison | A number |
| between | Inclusive range | A minimum and a maximum |
| is true / is false | Boolean test | None |
| within last | The event happened within the period | A count and a unit: hours, days, weeks, or months |
| more than … ago | The event happened before the period began | A count and a unit |
| before / after | Compared to a fixed time, date, or date-time | One value |
| is in any of / is in all of / is in none of | Segment membership — the member is in at least one, every one, or none of the listed segments | One or more segments |
| includes any of / includes all of / includes none of | List match, ignoring case — the page's list holds at least one, every one, or none of the listed values | One or more values |
| is not empty | The page's list has at least one value | None |
| has active entitlement to / does not have | Whether the member holds an active entitlement to a product | One product |
| key exists | The named key was sent, with any scalar value | None |
When an attribute cannot be determined for a visitor, every operator on it is false — including the negative ones. See When a Value Is Unknown.
This Request
Attributes describing the page being viewed and the device viewing it.
| Attribute | What it checks | Operators | Value |
|---|---|---|---|
| Property | Which of your properties served the page | is, is not, is one of, is not one of | A property slug; existing slugs autocomplete. Never matches on a host with no property |
| Content type | The kind of page, as reported by your site tag (for example article, video) | Text operators | Text |
| Section | The section of the site the page belongs to, such as News or Arts | Text operators | Text |
| Article tags | The tags or keywords on the article being viewed | includes any of, includes all of, includes none of, is not empty | One or more tags; tags seen on your content autocomplete |
| Article author | The author or authors of the article being viewed | includes any of, includes all of, includes none of, is not empty | One or more author names; authors seen on your content autocomplete |
| Article published | When the article being viewed was published | within last, more than … ago, before, after, between | A period such as 7 days, or a date |
| URL path | The page path, without domain or query string | Text operators | Text such as /news/ |
| Referrer | The URL the visitor came from, if the browser sent one | Text operators | Text |
| Referrer type | What kind of site sent the visitor, classified from the referrer | is, is not, is one of, is not one of | Direct, Internal, Search, Social, News aggregator, AI assistant, Email, Other website |
| Query parameter | A single named parameter from the URL's query string | key exists, is, contains, ≥, ≤ | Enter the parameter name in the key box, then a value |
| Cookie | A readable cookie set by a cookie action | key exists, is, contains, ≥, ≤ | Enter the cookie name in the key box without the _al_ prefix, then a value. See Cookies |
| UTM source / medium / campaign / term / content | The matching utm_* parameter on the URL | Text operators | Text |
| Browser | Detected from the request | is, is not, is one of, is not one of | Chrome, Firefox, Safari, Edge, Samsung Internet, Opera |
| User agent | The raw User-Agent string the browser sent, for in-app browsers that Browser can't name (such as the Facebook or Instagram apps) | Text operators, contains any of, does not contain any of | Text; one or more values for the "any of" operators |
| OS | Detected from the request | is, is not, is one of, is not one of | Windows, macOS, iOS, Android, Linux, ChromeOS |
| Device type | Detected from the request | is, is not, is one of, is not one of | mobile, desktop, tablet, bot |
| Country | Where the visitor appears to be browsing from | is one of, is not one of | Two-letter country codes such as US or GB; the picker searches by name |
| Region | The state or province the visitor appears to be browsing from | is one of, is not one of | Bare subdivision codes such as TX or ON. US states and Canadian provinces are suggested; any code can be typed |
| City | The city the visitor appears to be browsing from | Text operators | Text. Pair with Region, since city names repeat |
| ZIP / postal code | The ZIP or postal code the visitor appears to be browsing from | Text operators | Text |
| Continent | Derived from the visitor's country | is, is not, is one of, is not one of | Africa, Antarctica, Asia, Europe, North America, Oceania, South America |
| Privacy law | Which privacy regimes apply, derived from country and region | is one of, is not one of | GDPR, UK GDPR, Swiss FADP, Brazil LGPD, Canada PIPEDA, CCPA |
"Text operators" means is, is not, contains, does not contain, starts with, is one of, and is set.
Country, Continent, and Privacy law are always available. Region, City, ZIP / postal code, and the CCPA privacy law are shown disabled until your organization connects an IP geolocation provider. See Geolocation.
Country codes are validated on save. UK is rejected with a suggestion to use
GB.
A visitor whose location is known but who falls under none of the listed privacy laws matches Privacy law is not one of any list. A visitor whose location could not be resolved matches neither operator.
Content type, Section, and the article attributes come from the page metadata your site exposes, usually its JSON-LD structured data. See Page Metadata for how those values are read.
Article attributes are read from the page each time it loads, so a new article can be targeted from its first view. A page with no tags or authors matches includes none of but not is not empty. A page with no publish date matches no Article published condition. Use Article published within last 7 days to target recent articles, or more than 1 year ago for evergreen content.
Cookies
A Cookie condition reads a cookie that a
cookie action set with Set readable cookie turned on.
Readable cookies are stored with an _al_ prefix, and the SDK sends every
_al_ cookie with each page view, so a journey can check whether a visitor
already saw a promotion, dismissed a banner, or picked an option in an earlier
interaction.
The key box shows the _al_ prefix for you. Enter the same name you gave the
cookie action, for example promo_seen, then pick an operator. key exists
matches whenever the cookie is present, whatever its value.
Only _al_ cookies can be targeted. A cookie set with Set readable cookie
turned off, or one your site sets itself without the prefix, is never sent to
Allegro.
Date & Time
Organization attributes use your organization's timezone (set in Settings) and are always available. Visitor attributes use the timezone the visitor's browser reports; if the browser did not report one, visitor conditions never match.
| Attribute | Operators | Value |
|---|---|---|
| Current time (organization) / Current time (visitor) | is, before, after, between | 24-hour time such as 18:30. A between range may wrap midnight (22:00 to 06:00) |
| Date (organization) / Date (visitor) | is, before, after, between | A calendar date |
| Day of week (organization) / Day of week (visitor) | is one of, is not one of | One or more days |
| Visitor timezone | Text operators | An IANA name such as America/Chicago; names autocomplete |
Session
Session attributes are always known. An anonymous visitor is definitively false for both, so Authenticated is false is a reliable logged-out rule.
| Attribute | Operators | Meaning |
|---|---|---|
| Identified | is true, is false | The visitor is linked to a member record, even if not signed in right now |
| Authenticated | is true, is false | The visitor is signed in for this session |
Member Profile & Behavior
These attributes come from the member's analytics profile and resolve only for visitors who are signed in.
The profile is rebuilt on a schedule, about every 10 minutes, not on every page view. A member who donated or signed up a few minutes ago may not match a condition on that activity yet. The same applies to segment membership. The debug workbench shows when the current member's profile was last rebuilt.
| Attribute | Operators | Value |
|---|---|---|
| Member level | Text operators | The level recorded on the profile |
| Is donor | is true, is false | None |
| Total donations | =, ≠, >, ≥, <, ≤, between | An amount |
| Sign-up gate type | Text operators | Text |
| Signed up, First seen, Last seen | within last, more than … ago, before, after, between | A period, or a date-time |
| Pages per visit | Numeric operators | A number |
| Top content section | Text operators | Text |
| Primary device | is, is not, is one of, is not one of | Desktop, Mobile, Tablet |
| Days since last visit | Numeric operators | A number |
| Lifetime page views, Lifetime days visited, Lifetime logins | Numeric operators | A number |
| Page views (last 30 days), Days visited (last 30 days), Logins (last 30 days) | Numeric operators | A number |
"Numeric operators" means =, ≠, >, ≥, <, ≤, between, and is set.
User Attributes
Every user attribute you define appears here under its own name. Values come from what is saved on the member, so a change counts from the member's next page view. User attributes resolve only for visitors who are signed in.
| Attribute type | Operators | Value |
|---|---|---|
| Text | is, is not, contains, does not contain, starts with, is one of, is set | Text |
| Number | Numeric operators | A number |
| Boolean | is true, is false | None |
| Select (enum) | is, is not, is one of, is not one of | One of the attribute's options |
File and color attributes are not offered as conditions. A signed-in member with no value saved for an attribute matches none of its conditions, including is not.
Segments
| Attribute | Operators | Value |
|---|---|---|
| Segment | is in any of, is in all of, is in none of | One or more of your saved segments |
is in any of matches a member in at least one listed segment, is in all of only a member in every one, and is in none of a member in none of them. A signed-in member who belongs to no segments matches is in none of. An anonymous visitor matches none of the three.
Cohorts
| Attribute | Operators | Value |
|---|---|---|
| Cohort | matches any of / matches none of | One or more of your saved cohorts |
Unlike a segment, which groups known members by their profile, a cohort is a reusable set of targeting conditions — see Cohorts for how to build one and how it's evaluated, including how a deleted cohort and an unresolvable value inside it are handled.
A/B Tests
| Attribute | Operators | Value |
|---|---|---|
| A/B test variant | is any of / is none of | One of your A/B tests, then one or more of its variants |
A visitor who is not in the test (outside its traffic share, not in its audience, or while it's still a draft) matches neither operator, so is none of means "in the test, in another variant". See A/B Tests.
Entitlements
| Attribute | Operators | Value |
|---|---|---|
| Entitlement | has active entitlement to, does not have | One of your products |
Only active entitlements count. An anonymous visitor matches neither operator.
Meters
Each meter adds four attributes: Meter status, Meter remaining, Meter used, and Meter counted this view. See Targeting a Meter for their operators and values.
External Profiles
| Attribute | Operators | Value |
|---|---|---|
| External profile data | key exists, is, contains, ≥, ≤ | Enter the field in the key box as provider.path.to.field, then a value. Synced fields autocomplete |
External profile data reads a single field from a profile another system, such as a CRM or email platform, has synced to Allegro for the member. It resolves only for visitors who are signed in.
Custom Data
| Attribute | Operators | Value |
|---|---|---|
| Custom data | key exists, is, contains, ≥, ≤ | Enter the key in the key box, then a value. Keys your site has sent autocomplete |
Custom data is any key/value your site tag passes to the SDK alongside the page view. Your developer configures it; see the developer guide.
Integrations
Some integrations add their own targeting attributes once the integration is enabled, grouped under their own category in the attribute picker. They resolve only for signed-in members, and they never match for an anonymous visitor.
- Fundraise Up adds a Fundraise Up category for targeting on a member's giving — donor status, lifetime giving, recurring plan status, campaigns, and more. See Fundraise Up for the full list of attributes and how profiles are matched.
Integration-provided conditions always show No estimate in Potential Reach.
Which Conditions Can Be Estimated
Potential Reach counts visitors from analytics data. Eleven attributes are not recorded there and always show No estimate: Country, Region, City, ZIP / postal code, Continent, Privacy law, Referrer type, Query parameter, Cookie, Visitor timezone, and External profile data. Meter and integration-provided conditions show No estimate too. They all still evaluate correctly on your site.
An A/B test variant condition is estimated from the test's share of traffic and its variant weights, so a draft test can be estimated before it starts.
Article tags, author, and published estimates count views of articles Allegro has already cataloged. A new article joins the catalog shortly after it starts getting traffic, so its views can take a while to show up in an estimate, even though the condition matches it on your site right away.