Visitor Conditions
Filter an Ours Privacy audience on visitor attributes - consent categories, first-touch attribution, location, click IDs, and your own custom properties - with the full operator list.
Use this page as the reference for the Visitor Properties section of an audience: which attributes you can filter on, what each operator does, and how conditions combine. For behavior rather than attributes, see Event conditions.
Important: Advertising platforms are not HIPAA business associates and do not sign BAAs. Hashing an email does not make it anonymous. Read Compliance for audiences before sending an audience to any platform.
What you can filter on
The property dropdown is built from your own account, so it reflects what you actually collect. The categories below are always present.
Consent
Two properties, and both hold a list of categories rather than a single value, so contains is the operator you want.
| Property | What it holds | Typical use |
|---|---|---|
| Accepted Consent Categories | Categories the visitor actively accepted, such as functional, analytics, or advertising | Require affirmative opt-in before advertising to someone |
| Rejected Consent Categories | Categories the visitor actively rejected | Exclude a group beyond what a sync already excludes |
A visitor with no consent record has neither list populated. That is the case worth thinking about hardest: a sync automatically excludes visitors who rejected the advertising category, but a visitor who was never asked is not a rejection and is still sent. If your obligation is affirmative opt-in, require it here with a condition that Accepted Consent Categories contains advertising. See Compliance for audiences and Cookie Consent.
Attribution and traffic source
First-touch and current-session UTM values, referrer, and referring domain. First-touch properties are prefixed with initial and are the ones you usually want for an audience, because they describe how the person originally found you rather than how they arrived most recently.
Click IDs from ad platforms are also available as properties, which is how you build an audience of people who arrived from a specific platform's paid traffic.
Identity and profile
Email, phone number, first and last name, date of birth, gender, external ID, company name, and job title, where you collect them.
Email is worth singling out. It is the only identifier an audience sync matches on, so a condition requiring email to be not null tells you in Preview how much of your audience is actually deliverable rather than finding out from a delivered count later. See Audience Destinations.
Location
City, state, country, and ZIP code, plus latitude, longitude, metro code, and time zone.
Timing
First seen and last seen timestamps, which pair with the date operators below for "active since" and "has not been back since" audiences.
Custom properties
Anything you send on the visitor. These appear in the dropdown once Ours Privacy has seen them. If a property you send recently is not listed yet, or you need a nested path, an advanced entry mode lets you type the path directly.
Operators
Every operator below is available on visitor conditions and on the nested conditions inside an event condition. The in-app operator list carries a description of each one; this is the same set.
Equality and text
| Operator | Behavior |
|---|---|
| is | Equal to the value. Coerces primitives, so the string 1 matches the number 1. Compares objects and arrays deeply |
| is not | The negation of is |
| contains | The value appears inside a string, or is an element of a list. This is the operator for consent categories |
| does not contain | The negation of contains |
| starts with | A string begins with the value, or a list's first element equals it |
| ends with | A string ends with the value, or a list's last element equals it |
| is found in | The property appears in a comma-separated list you supply. Handy for a set of countries or campaign names in one condition |
| is not found in | The negation of is found in |
is is case-sensitive. For case-insensitive matching, use contains for substrings or one of the ignore-case regex operators below.
Presence
| Operator | Behavior |
|---|---|
| is null | The property is null |
| is not null | The property exists and is not null |
| is undefined | The property was never set |
| is not undefined | The property was set, even if to an empty value |
| is truthy | Any value that is not false, zero, empty, null, or undefined |
| is falsy | False, zero, empty string, null, undefined |
| is true | Strictly true, the string true, or 1 |
| is false | Strictly false, the string false, or 0 |
The distinction between is null and is undefined matters when you set a property to an empty value on purpose. If you only want to know whether a value is present at all, is not null is usually what you mean.
Numeric comparison
| Operator | Behavior |
|---|---|
| is greater than | Numeric comparison |
| is greater than or equal to | Numeric comparison |
| is less than | Numeric comparison |
| is less than or equal to | Numeric comparison |
Dates
| Operator | Behavior |
|---|---|
| is before | The date is earlier than the value |
| is after | The date is later than the value |
| is on or before | Inclusive form of is before |
| is on or after | Inclusive form of is after |
| is between | The date falls inside a range, inclusive. Supply two dates separated by a comma, for example 2026-01-01,2026-03-31 |
A value that is not a valid date makes the condition false rather than erroring, so a typo in a date shows up as an audience that is smaller than expected. Check Preview.
Patterns
| Operator | Behavior |
|---|---|
| matches regex | The string matches the pattern, case-sensitive |
| matches regex (ignore case) | The same, case-insensitive |
| does not match regex | The string does not match the pattern, case-sensitive |
| does not match regex (ignore case) | The same, case-insensitive |
An invalid pattern makes the condition false rather than erroring. Reach for regex when you need one condition to cover several URL shapes; a contains condition is easier to read and easier for a colleague to maintain when it will do the job.
Combining conditions
Set the connector between conditions to control how they combine.
AND requires every condition to match, which narrows the audience. Use it for the baseline plus qualifier pattern: an accepted advertising category AND a first-touch UTM medium containing paid.
OR requires any one condition to match, which broadens the audience. Use it for spelling and casing variants of the same underlying thing, such as a UTM medium of Paid Search or paid search or cpc.
When you have conditions in both the Visitor Properties and Event Behavior sections, a visitor has to satisfy both sections. Conditions inside each section combine according to that section's own connectors.
Practical notes
Start with consent. For anything that ends up at an advertising platform, put the consent condition in first. It is the condition most likely to be legally load-bearing and the one most easily forgotten once the behavioral logic gets interesting.
Require email when the audience will be synced. An audience whose members mostly have no email address syncs successfully and delivers almost nobody. Adding an email is not null condition makes the deliverable size visible in Preview.
Prefer first-touch attribution. initial UTM properties describe how the person found you originally. Current-session values describe the most recent visit, which for a returning visitor is often direct traffic and tells you nothing about acquisition.
Widen carefully. Each OR you add makes the audience bigger in ways that are hard to predict from reading the conditions. Preview after each change rather than after five.
Next Steps
- Event conditions to filter on behavior as well as attributes.
- Previewing an audience to check what your conditions actually match.
- Recipes for worked configurations that combine both condition types.
- Cookie Consent for how consent categories are collected in the first place.
Need help? Contact support@oursprivacy.com.
How is this guide?

