Skip to main content

Segmentation of profiles for communications

Profile segmentation in the CRM enables hoteliers to create targeted audiences for marketing, loyalty, and operational communications.

M
Written by Michelle Normoyle
Updated over 2 weeks ago

Profile segmentation in the CRM enables hoteliers to create targeted audiences for marketing, loyalty, and operational communications. Segments use guest profile and reservation data to define precise groups, and these segments are automatically refreshed daily to ensure they are always up-to-date.

To effectively use segmentation, it is important to understand how guest profiles are updated through:

  • Automated processes.

  • Guest actions.

  • Operational practices and integrated systems.

The CRM serves as the source of truth for guest profiles, adhering to match, merge, and profile standards established during implementation.

There are two types of segments static and dynamic:

Static segments

  • Profiles are added manually, via campaign actions, form submissions, or CSV bulk uploads.

  • They do not refresh automatically.

Dynamic segments

  • Profiles automatically move in and out based on filter criteria.

  • Segments can be refreshed on-demand or automatically each day.

  • Refreshing occurs in the background; processing time depends on the segment size.


Configuration of segmentation of profiles for communications

Outlined below is how to view existing segments and creating a new segment.

Viewing existing segments

  1. Navigate to the campaign management tools and click Segments.

  2. Sort, search, and view segments, including the number of profiles in each.

Creating a new segment

  1. Navigate to the campaign management tools and click Segments.

  2. Click New.

  3. Configure:

    • Name: Use descriptive naming for clarity.

    • Description: Include all segment parameters for future reference.

    • Alias: Auto-populated or custom, used in other system areas.

    • Public segment: Determines if other admins can use the segment.

    • Available in preference center: Allows guests to opt-in/out via portal.

    • Published: Controls segment visibility for filters, campaigns, and actions.

    • Reward rule: Optional; tie the segment to loyalty reward issuance.

    • Ignore unsubscribe option: Allows sending critical communications even to unsubscribed profiles, this should be used with caution.

  4. Click Apply to save configuration.

    • For static segments, click Save & Close if no filters are required.

      • This segment is now ready as a static segment which can be used for bulk imports, campaign journeys or form submissions.

Creating a new dynamic segment

  1. Navigate to the campaign management tools and click Segments.

  2. Click New.

  3. Configure:

    • Name: Use descriptive naming for clarity.

    • Description: Include all segment parameters for future reference.

    • Alias: Auto-populated or custom, used in other system areas.

    • Public segment: Determines if other admins can use the segment.

    • Available in preference center: Allows guests to opt-in/out via portal.

    • Published: Controls segment visibility for filters, campaigns, and actions.

    • Reward rule: Optional; tie the segment to loyalty reward issuance.

    • Ignore unsubscribe option: Allows sending critical communications even to unsubscribed profiles, this should be used with caution.

  4. Click Apply to save configuration.

    • For static segments, click Save & Close if no filters are required.

  5. Go to the Filters tab.

  6. Choose fields from guest profile, hotel, reservation, or preference data.

  7. Combine filters with AND / OR logic:

    • AND: Profiles must meet all conditions in the group.

    • OR: Profiles meet any condition in the group.

  8. Click Save and Close.

    • Profiles meeting criteria will populate after refresh, manual or automated.

Viewing and exporting segment members

  1. Click View Contacts to see profiles in a segment.

  2. Click Export to export up to 100,000 profiles; contact support for larger exports.


Segment filter reference guide

Segment filters allow you to create targeted groups of guests based on profile data, reservation history, preferences, and survey responses. Understanding which filters are available, how they work, and which operators you can use with each filter helps you build precise segments for marketing campaigns, loyalty programs, and operational communications.

Understand segment filters

Segment filters use guest and reservation data to define which profiles belong in a segment. Each filter consists of:

  • Filter field – The data point you want to filter on such as Birthday, Country, or last stay date.

  • Operator – How you want to compare the data such as equals, greater than, or contains.

  • Value – The specific value or criteria you're looking for.

Filters can be combined using AND/OR logic to create complex segment criteria.

Filter categories

Filters are organized into five categories based on the data they reference:

  • Contact – Guest profile information such as name, email, address, loyalty status and consent.

  • Reservation – Booking and stay data such as arrival dates, room type, rate code and reservation status.

  • Hotel – Property information and proximity.

  • Preference – Guest preferences stored in the CRM.

  • Survey – Survey responses from integrated reputation management systems.

Date mode options

Date and datetime filters support four different entry modes:

Date Mode

Description

Example Use Case

By Date

Select a specific date

Find guests with birthday on June 15, 2024

By Month

Select a month regardless of year

Find all guests with birthdays in December

By Timeframe

Enter relative dates (±N days/weeks/months/years) or birthday/anniversary offsets

Send emails 7 days before guest birthdays

Special Keyword

Use predefined keywords

Find guests who checked in this week

By month date mode

The By Month mode simplifies month-based campaigns by filtering on the month portion of a date field while ignoring the year.

  • Supported operators: equals, not equal.

  • Available months: January through December.

  • How it works: When you select By Month and choose a month, the system uses SQL pattern matching for example LIKE '%-MM-%' to find all dates falling in that month regardless of year.

  • Example: Birthday equals By Month, December returns all guests with December birthdays in any year.

  • By timeframe date mode: The By Timeframe mode allows relative date calculations.

Standard relative dates

  • +7 days – 7 days from today.

  • -30 days – 30 days ago.

  • +2 weeks – 2 weeks from today.

  • -6 months – 6 months ago.

  • +1 years – 1 year from today.

Birthday or anniversary offsets

  • birthday – On their birthday this year.

  • birthday +7 days – 7 days after their birthday.

  • birthday -30 days – 30 days before their birthday.

  • anniversary +14 days – 14 days after their anniversary.

Special keyword date mode

Special keywords provide shortcuts for common date ranges.

Keyword

Description

today

Current date

tomorrow

Next day

yesterday

Previous day

month_this_dob

Birthdays this month

week_this

Current week

week_last

Previous week

week_next

Upcoming week

month_this

Current month

month_last

Previous month

month_next

Upcoming month

year_this

Current year

year_last

Previous year

year_next

Upcoming year

Operator reference

Operators determine how the filter compares your value to the data in the system.

Operator Name

Used With

Description

equals

Text, Number, Date, Boolean, Select

Exact match

not equal

Text, Number, Date, Boolean, Select

Does not match

greater than

Number, Date

Value is greater than

greater than or equal

Number, Date

Value is greater than or equal to

less than

Number, Date

Value is less than

less than or equal

Number, Date

Value is less than or equal to

empty

All field types

Field has no value

not empty

All field types

Field has a value

like

Text

Pattern match (use % as wildcard)

not like

Text

Does not match pattern

regexp

Text

Regular expression match

not regexp

Text

Does not match regular expression

starts with

Text

Value begins with

ends with

Text

Value ends with

contains

Text

Value contains

including

Select fields with dropdown options

Value is in selected list

excluding

Select fields with dropdown options

Value is not in selected list

⚠️Important: When you select empty or !empty operators, the value input field is hidden – no value entry is required.


Understanding regular expressions (regexp)

Regular expressions (regexp) allow you to create complex pattern-matching filters for text fields. While regexp can be powerful, most common filtering needs can be met with simpler operators like contains, starts with, or like.

When to use regexp

  • Filtering for multiple specific values such as multiple zip codes or room types.

  • Complex pattern matching that can't be achieved with like or contains.

  • When you need more efficiency than creating multiple OR filters.

Basic regexp syntax

Symbol

Meaning

Example

^

Start of string

^902

`# Segment Filter Reference Guide

| Values ending with 567 | | \| | OR (either/or) | 90210\|90211 | Either 90210 or 90211 | | () | Grouping | ^(902\|310) | Starts with either 902 or 310 | | [0-9] | Any digit | [0-9]{5} | Any 5-digit number | | [a-z] | Any lowercase letter | [a-z]+ | One or more lowercase letters | | . | Any character | 9.2 | 902, 912, 922, etc. | | + | One or more | [0-9]+ | One or more digits | | * | Zero or more | [a-z]* | Zero or more lowercase letters | | ? | Zero or one | colou?r | Color or colour |

Common regexp patterns for hospitality

  • Exact match for multiple zip codes: ^(90210|90211|90212)$ Matches only 90210, 90211, or 90212 exactly.

  • Multiple room types: ^(KING|QUEEN|SUITE)$ Matches only these specific room types.

  • Area code matching: ^(\+1)?[\s\-]?\(?555\)? Matches phone numbers with 555 area code in various formats.

  • Email domain filtering: @(gmail|yahoo|hotmail)\.com$ Matches email addresses from these domains.

  • Postal code patterns: ^[A-Z][0-9][A-Z]\s?[0-9][A-Z][0-9]$ Matches Canadian postal codes for example M5H 2N2.

📌Note:

  • The ^ and `# Segment Filter Reference Guide.

  • Anchors ensure exact matching prevents partial matches.

  • Use | (pipe) to separate multiple values in an OR pattern.

  • Escape special characters with backslash \ when you want to match them literally.

  • Test your regexp patterns carefully before using them in production segments.


Multi-select behavior

Fields with dropdown options automatically enable multi-select when you choose the including or excluding operator.

How it works:

  • Select a filter field that has predefined options such as Country, region, tags and member tier.

  • Select including or excluding as the operator.

  • The dropdown automatically switches to multi-select mode.

  • Selected values appear as removable tags.

Fields supporting multi-select:

  • Country.

  • Region.

  • Device brand, device OS and device type.

  • Segment membership.

  • Tags.

  • Campaign membership.

  • Email read, email sent and email clicked.

  • Member tier.

  • Hotel tag.

  • Guest preference.

  • Survey question.

📌Note: Text fields like Zip Code do not support multi-select with the including operator. For multiple zip codes, use separate filters with OR logic or use regexp for pattern matching.


Contact filters

Contact filters use guest profile data stored in the leads table.

Address line one

Property

Value

Field Type

Text

Supported Operators

equals, not equal, empty, not empty, like, not like, regexp, not regexp, starts with, ends with, contains

Value Entry

Text input

Example: Address line one contains Main Street.

Address line two

Property

Value

Field Type

Text

Supported Operators

equals, not equal, empty, not empty, like, not like, regexp, not regexp, starts with, ends with, contains

Value Entry

Text input

Example: Address line two contains Apartment.

Age median

Property

Value

Field Type

Number

Supported Operators

equals, greater than, greater than or equal, less than, less than or equal

Value Entry

Numeric input

Example: Age median greater than 35.

Birthday

Property

Value

Field Type

Date

Supported Operators

equals, not equal, greater than, greater than or equal, less than, less than or equal, empty, not empty, like, not like, regexp, not regexp, starts with, ends with, contains

Value Entry

Date picker with four date modes (By Date, By Month, By Timeframe, Special Keyword)

Date Modes Supported

All four modes

Example: Birthday equals By Month → December - Finds all profiles where birthdays are in the month of December.

Example: Birthday equals By Timeframe → birthday -7 days - Finds all profiles where birthdays are in 7 days.

Shape

Bounced - Email

Property

Value

Field Type

Boolean

Supported Operators

equals, not equal

Value Entry

Dropdown (No, YES)

Example: Bounced - Email equals YES.

Bounced - SMS

Property

Value

Field Type

Boolean

Supported Operators

equals, not equal

Value Entry

Dropdown (No, YES)

Campaign membership

Property

Value

Field Type

Campaign

Supported Operators

empty, not empty, including, excluding

Value Entry

Multi-select dropdown (when using including/excluding)

Available Options

All configured campaigns

Example: Campaign membership including, Summer Promotion 2024 - Finds all profiles who are attached to a specific campaign journey.

City

Property

Value

Field Type

Text

Supported Operators

equals, not equal, empty, not empty, like, not like, regexp, not regexp, starts with, ends with, contains

Value Entry

Text input

Example: City equals New York.

Country

Property

Value

Field Type

Country

Supported Operators

equals, not equal, empty, not empty, including, excluding, regexp, not regexp

Value Entry

Single-select dropdown (equals, not equal) or multi-select dropdown (including, excluding)

Available Options

All countries with ISO codes

Example: Country including US, CA and MX.

Date added

Property

Value

Field Type

DateTime

Supported Operators

equals, not equal, greater than, greater than or equal, less than, less than or equal, empty, not empty, like, not like, regexp, not regexp, starts with, ends with, contains

Value Entry

Date/time picker with four date modes

Date Modes Supported

All four modes

Example: Date Added greater than or equal By Timeframe → -30 days.

Date identified

Property

Value

Field Type

Date

Supported Operators

equals, not equal, greater than, greater than or equal, less than, less than or equal, empty, not empty, like, not like, regexp, not regexp, starts with, ends with, contains

Value Entry

Date picker with four date modes

Date Modes Supported

All four modes

Date last active

Property

Value

Field Type

DateTime

Supported Operators

equals, not equal, greater than, greater than or equal, less than, less than or equal, empty, not empty, like, not like, regexp, not regexp, starts with, ends with, contains

Value Entry

Date/time picker with four date modes

Date Modes Supported

All four modes

Example: Date Last Active less than By Timeframe → -90 days.


What updates date last active

The date last active field tracks when the profile record itself was last modified in the system. It is not a measure of guest engagement activity like email opens or website visits.

Date last active updates when:

  • Profile creation – When a new guest profile is created (via import, API, form submission, or manual entry).

  • Profile updates – When a guest profile is modified (any field change, preference update, address change).

  • Profile merges – When duplicate profiles are merged.

  • Form submissions – When a guest submits a form that creates or updates their profile.

Date last active does not update when:

  • Emails are opened, read, or clicked.

  • Website pages are visited.

  • Guest logs into the loyalty portal, this updates last_login instead.

Practical use cases:

Filter Example

What it finds

Date Last Active less than -90 days

Profiles that haven't been modified in 90+ days (potentially stale records)

Date Last Active greater than -30 days

Profiles that were recently created or updated

Date Last Active empty

Profiles with no activity timestamp (rare edge case)

⚠️Important: If you want to find guests who haven't engaged opened emails, visited website, use filters like email read date or visited URL date instead. Date last active tracks profile record modifications, not guest engagement behavior.

Deactive

Property

Value

Field Type

Boolean

Supported Operators

equals, not equal

Value Entry

Dropdown (Active, Deactive)

Example: Deactive equals Active.

What makes a profile deactive

The Deactive filter refers to the Active status flag on a guest profile. This is a boolean field in the leads table that indicates whether a profile is active or deactivated.

A profile becomes deactivated when:

  • Profile merge – When duplicate profiles are merged, the non-surviving profiles are deactivated. The system keeps one master profile active and sets the merged profiles to deactivated. This is the most common reason for deactivation.

  • Manual deactivation – An administrator manually deactivates a profile through the CRM Admin interface.

  • Data cleanup – Profiles are deactivated during data cleanup or purge operations.

Filter values

Filter Value

What It Finds

Deactive = Active

Profiles that are currently active and usable

Deactive = Deactive

Profiles that have been deactivated (typically merged duplicates)

⚠️Important:

  • Deactivated profiles are not deleted from the database – they remain for historical reference and audit trails.

  • When profiles are merged, the deactivated profile's data (reservations, email history) is transferred to the surviving active profile.

  • Most system queries automatically filter to active profiles, so deactivated profiles don't appear in normal contact lists.

  • The Deactive filter in segments allows you to specifically include or exclude these deactivated profiles.

Practical use cases:

  • Use Deactive = Active to ensure your segment only includes valid, active profiles (this is typically the default behavior).

  • Use Deactive = Deactive if you need to audit or report on merged/deactivated profiles.

Device Brand

Property

Value

Field Type

Device Brand

Supported Operators

empty, not empty, including, excluding

Value Entry

Multi-select dropdown (when using including/excluding)

Available Options

Apple, Samsung, Google, Huawei, and others

Example: Device Brand including Apple or Samsung.

Shape

Device OS

Property

Value

Field Type

Device OS

Supported Operators

empty, not empty, including, excluding

Value Entry

Multi-select dropdown (when using including/excluding)

Available Options

iOS, Android, Windows, macOS, Linux, Chrome OS

Example: Device OS including iOS, Android finds all profiles who have accessed the system using iOS or Android devices.

Shape

Device Type

Property

Value

Field Type

Device Type

Supported Operators

empty, not empty, including, excluding

Value Entry

Multi-select dropdown (when using including/excluding)

Available Options

Desktop, Mobile, Tablet, Smart TV, Console, Wearable

Example: Device type including mobile or tablet finds all profiles who have accessed the system using mobile or tablet devices.

Shape

Email

Property

Value

Field Type

Text

Supported Operators

equals, not equal, empty, not empty, like, not like, regexp, not regexp, starts with, ends with, contains

Value Entry

Text input

Example: Email ends with "@gmail.com"

Shape

Email Read

Property

Value

Field Type

Email Received

Supported Operators

including, excluding

Value Entry

Multi-select dropdown grouped by language

Available Options

All published emails (excludes AB test variants)

Example: Email read including "Welcome Email" will bring back profiles for the parent email only if AB testing is in use where the email named "Welcome Email" has been flagged as a read status.

Shape

Email read including AB test variants

Property

Value

Field Type

Email Received (All)

Supported Operators

including, excluding

Value Entry

Multi-select dropdown grouped by language

Available Options

All emails including AB test variants

Example: Email Read including AB test variants "Welcome Email" will bring back profiles for the parent email and the AB test variants if AB testing is in use where the email named "Welcome Email" has been flagged as a read status.

Shape

Email clicked

Property

Value

Field Type

Email Received

Supported Operators

including, excluding

Value Entry

Multi-select dropdown grouped by language

Available Options

All published emails (excludes AB test variants)

Email sent

Property

Value

Field Type

Email Received

Supported Operators

including, excluding

Value Entry

Multi-select dropdown grouped by language

Available Options

All published emails (excludes AB test variants)

Example: Email Sent including "Welcome Email" will bring back profiles for the parent email only if AB testing is in use where the email named "Welcome Email" has been sent to the profile.

Shape

Email read count

Property

Value

Field Type

Number

Supported Operators

equals, greater than, greater than or equal, less than, less than or equal

Value Entry

Numeric input

Example: Email Read Count greater than 10.

Shape

Email read date

Property

Value

Field Type

DateTime

Supported Operators

equals, not equal, greater than, greater than or equal, less than, less than or equal

Value Entry

Date/time picker

Email sent date

Property

Value

Field Type

DateTime

Supported Operators

equals, not equal, greater than, greater than or equal, less than, less than or equal

Value Entry

Date/time picker

Example: Email Sent Date greater than By Timeframe → -7 days finds all profiles who were sent an email within the last 7 days.

Explicit consent date - Email

Property

Value

Field Type

Date

Supported Operators

equals, greater than, greater than or equal, less than, less than or equal, empty, not empty

Value Entry

Date picker

Example: Explicit Consent Date - Email greater than By Timeframe → -90 days finds all profiles who provided explicit email consent within the last 90 days.

Shape

Explicit consent date - SMS

Property

Value

Field Type

Date

Supported Operators

equals, greater than, greater than or equal, less than, less than or equal, empty, not empty

Value Entry

Date picker

Example: Explicit Consent Date - SMS greater than By Timeframe → -90 days finds all profiles who provided explicit SMS consent within the last 90 days.

Shape

First name legal

Property

Value

Field Type

Text

Supported Operators

equals, not equal, empty, not empty, like, not like, regexp, not regexp, starts with, ends with, contains

Value Entry

Text input

Example: First Name Legal starts with "John".

Shape

Gender

Property

Value

Field Type

Select

Supported Operators

equals, empty

Value Entry

Single-select dropdown

Available Options

Female, Male, Undefined

Example: Gender equals Female.

Implied consent expiration date - Email

Property

Value

Field Type

Date

Supported Operators

equals, greater than, greater than or equal, less than, less than or equal, empty, not empty

Value Entry

Date picker

Example: Implied Consent Expiration Date - Email less than By Timeframe → +30 days will bring back any profiles where the implied consent expiration date is in the next 30 days.

Shape

Implied consent expiration date - SMS

Property

Value

Field Type

Date

Supported Operators

equals, greater than, greater than or equal, less than, less than or equal, empty, not empty

Value Entry

Date picker

Example: Implied Consent Expiration Date - SMS less than By Timeframe → +30 days will bring back any profiles where the SMS implied consent expiration date is in the next 30 days.

Is VIP

Property

Value

Field Type

Boolean

Supported Operators

equals, not equal

Value Entry

Dropdown (No, Yes)

Example: Is VIP equals Yes.

Shape

Last name legal

Property

Value

Field Type

Text

Supported Operators

equals, not equal, empty, not empty, like, not like, regexp, not regexp, starts with, ends with, contains

Value Entry

Text input

Example: Last name legal starts with "Smith".


Lifetime filters

Lifetime filters calculate totals from all completed reservations for the guest, regardless of when the profile was created. The system queries all reservations where:

  • The reservation is not cancelled (ResStatus ≠ 'C')

  • The checkout date is at least one day in the past or completed stays only.

Outlined below are the different types of lifetime filters available.

Lifetime room nights

Property

Value

Field Type

Number

Supported Operators

equals, greater than, less than

Value Entry

Numeric input

If historical reservation data was imported into the CRM before a profile was created, those reservations are included in lifetime totals. For example, if a guest had stays at your property ten years ago and their profile was only created last year, those ten year-old stays still count toward their lifetime totals.

Lifetime room nights calculates the sum of nights (DayOut - DayIn) across all completed stays.

Lifetime spend non room

Property

Value

Field Type

Number

Supported Operators

equals, greater than, less than

Value Entry

Numeric input

Example: Lifetime spend non room greater than 1000

If historical reservation data was imported into the CRM before a profile was created, those reservations are included in lifetime totals.

Lifetime spend non room calculates the sum of non-room revenue such as food and beverage, spa, services, and other charges across all completed stays.

Lifetime spend room only

Property

Value

Field Type

Number

Supported Operators

equals, greater than, less than

Value Entry

Numeric input

Example: Lifetime spend room only greater than 3000.

If historical reservation data was imported into the CRM before a profile was created, those reservations are included in lifetime totals.

Lifetime spend room only calculates the sum of room revenue across all completed stays.

Shape

Lifetime spend total

Property

Value

Field Type

Number

Supported Operators

equals, greater than, less than

Value Entry

Numeric input

Example: Lifetime spend total greater than 5000.

If historical reservation data was imported into the CRM before a profile was created, those reservations are included in lifetime totals.

Lifetime spend total calculates the sum of total charges across all completed stays including room revenue plus all other charges.

Shape

Lifetime stays

Property

Value

Field Type

Number

Supported Operators

equals, greater than, less than

Value Entry

Numeric input

Example: Lifetime stays greater than five.

If historical reservation data was imported into the CRM before a profile was created, those reservations are included in lifetime totals.

Lifetime stays calculates the count of all completed, non-cancelled reservations.


Loyalty filters

Outlined below are loyalty filters giving the available filters and how to navigate them.

Loyalty join date

Property

Value

Field Type

Date

Supported Operators

equals, greater than, greater than or equal, less than, less than or equal, empty, not empty

Value Entry

Date picker with four date modes

Date Modes Supported

All four modes

Example: Loyalty join date less than by timeframe such as less than one year.

Shape

Loyalty member ID

Property

Value

Field Type

Text

Supported Operators

empty, not empty

Value Entry

None (no value input required)

Example: Loyalty member ID not empty.

Loyalty member tier

Property

Value

Field Type

Member Tier

Supported Operators

equals

Value Entry

Single-select dropdown

Available Options

All configured member tiers (displays tier names such as Bronze, Silver, Gold)

Example: Loyalty member tier equals gold.

Shape

Loyalty credit available balance

Property

Value

Field Type

Number

Supported Operators

greater than, greater than or equal, less than, less than or equal

Value Entry

Numeric input

Example: Loyalty credit available balance greater than 5000.

Loyalty credits expiring

Property

Value

Field Type

Date

Supported Operators

equals, greater than, less than, empty

Value Entry

Date picker

Example: Loyalty credits expiring less than by timeframe to plus 60 days will bring back profiles who have loyalty credits that are expiring anytime in the next 60 days.


Marketing filters

Outlined below are marketing filters giving the available filters and how to navigate them.

Marketing consent - Email

Property

Value

Field Type

Select

Supported Operators

equals, not equal, empty, not empty, including, excluding, regexp, not regexp

Value Entry

Single-select dropdown (equals, not equal) or multi-select dropdown (including, excluding)

Available Options

Configured consent status values

Example: Marketing consent, email equals true finds all profiles who have given explicit email marketing consent.

Shape

Marketing consent - SMS

Property

Value

Field Type

Select

Supported Operators

equals, not equal, empty, not empty, including, excluding, regexp, not regexp

Value Entry

Single-select dropdown (equals, not equal) or multi-select dropdown (including, excluding)

Available Options

Configured consent status values

Example: Marketing consent, SMS equals true finds all profiles who have given explicit SMS marketing consent.

Mobile

Property

Value

Field Type

Text

Supported Operators

equals, not equal, empty, not empty, like, not like, regexp, not regexp, starts with, ends with, contains

Value Entry

Text input

Example: Mobile contains "5551234" finds profiles with this number sequence regardless of formatting.

📌Note: The mobile number is stored as plain text with no automatic formatting. The format depends on how data was entered or imported. Numbers may be stored as:

  • 5551234567 (digits only).

  • 555-123-4567 (with dashes).

  • (555) 123-4567 (with parentheses).

  • +1 555 123 4567 (with country code and spaces)

Format matching:

  • If stored as 5551234567 and you filter for 555-123-4567 using equals, it will not match.

  • Use contains to find 1234567 regardless of formatting.

  • Use starts with to match area codes (such as 555).

  • Use regexp for complex pattern matching.

  • Related field: Mobile country code is a separate field that stores just the country code such as "1" for US or "44" for UK.

Page sessions

Property

Value

Field Type

Number

Supported Operators

equals, greater than, greater than or equal, less than, less than or equal

Value Entry

Numeric input

Preferred language

Property

Value

Field Type

Language ID

Supported Operators

equals

Value Entry

Single-select dropdown

Available Options

All configured languages

Example: Preferred language equals Spanish.

Shape

Primary company

Property

Value

Field Type

Text

Supported Operators

equals, not equal, empty, not empty, like, not like, regexp, not regexp, starts with, ends with, contains

Value Entry

Text input

Example: Primary company contains Hotel Group finds profiles associated with companies containing this text.

📌Note: This is a company field on the guest profile, not a corporate profile.

Region

Property

Value

Field Type

Region

Supported Operators

equals, not equal, greater than, greater than or equal, less than, less than or equal, empty, not empty, like, not like, regexp, not regexp, starts with, ends with, contains

Value Entry

Single-select dropdown (equals, not equal) or text input (other operators)

Available Options

US States and Canadian Provinces grouped by country

Example: Region equals CA (California).

Example: Region equals QC (Quebec, Canada).

Salutation

Property

Value

Field Type

Select

Supported Operators

equals, empty, not empty

Value Entry

Single-select dropdown

Available Options

Mr, Mrs, Ms

Example: Salutation equals Mrs finds all profiles with the salutation set to Mrs.

Segment membership

Property

Value

Field Type

Segment List

Supported Operators

empty, not empty, including, excluding

Value Entry

Multi-select dropdown (when using including/excluding)

Available Options

All configured segments (excludes current segment being edited)

Example: Segment membership including VIP Guests will consider profiles that are in the segment named VIP Guests and include them.

Example: Segment membership excluding Guests with Future Bookings will exclude all profiles who are in the segment named Guests with Future Bookings.

Shape

Tags

Property

Value

Field Type

Tags

Supported Operators

empty, not empty, including, excluding

Value Entry

Multi-select dropdown (when using including/excluding)

Available Options

All configured tags

Example: Tags including business traveler.

Shape

Unsubscribed - Email

Property

Value

Field Type

Boolean

Supported Operators

equals, not equal

Value Entry

Dropdown (No, YES)

Example: Unsubscribed - Email equals no finds all profiles who have not unsubscribed from email communications.

Unsubscribed - SMS

Property

Value

Field Type

Boolean

Supported Operators

equals, not equal

Value Entry

Dropdown (No, YES)

Example: Unsubscribed - SMS equals no finds all profiles who have not unsubscribed from SMS communications.

Shape

Visited URL

Property

Value

Field Type

Text

Supported Operators

equals, not equal, like, not like, regexp, not regexp, starts with, ends with, contains

Value Entry

Text input

Example: Visited URL contains "/special-offers"

Shape

Visited URL count

Property

Value

Field Type

Number

Supported Operators

equals, greater than, greater than or equal, less than, less than or equal

Value Entry

Numeric input

Example: Visited URL Count greater than five finds all profiles who have visited website URLs more than five times.


Shape

Filtering for multiple zip codes

There are three approaches to filter for multiple specific zip codes:

Option one: Pattern matching with like operator

  • Use: Zip Code like "902%".

  • Finds: All zip codes starting with 902 (90210, 90211, 90212, 90213, for example).

  • Best for: Filtering by zip code prefix when you want all codes in a range

Option two: Separate filters with OR logic

  • Create three separate filters:

    • Zip Code equals "90210" OR

    • Zip Code equals "90211" OR

    • Zip Code equals "90212".

  • Finds: Profiles with exactly these three zip codes.

  • Best for: Small number of specific zip codes.

Option three: Regular expression this is most efficient for exact matches.

  • Use: Zip Code regexp "^(90210|90211|90212)$".

  • Finds: Profiles with exactly these three zip codes.

  • Best for: Multiple specific zip codes - more efficient than separate OR filters

Understanding the regexp pattern:

  • ^ means "start of string" ensures exact match from beginning.

  • `# Segment Filter Reference Guide.

Zip code

Property

Value

Field Type

Text

Supported Operators

equals, not equal, empty, not empty, like, regexp, not regexp, starts with, ends with, contains

Value Entry

Text input

📌Note: Zip Code does not support the including operator with multi-select. For multiple zip codes, use separate filters with OR logic or use regexp for pattern matching.


Reservation filters

Reservation filters use booking and stay data stored in the reservations table.

Book time

Property

Value

Field Type

DateTime

Supported Operators

not equal, greater than, greater than or equal, less than, less than or equal

Value Entry

Date/time picker with four date modes

Example: Book time greater than by timeframe less then -30 days finds all profiles with reservations booked within the last 30 days.

Book time or loyalty join date

Property

Value

Field Type

Loyalty Join Date

Supported Operators

equals, greater than, greater than or equal, less than, less than or equal

Value Entry

Single-select dropdown

Available Options

Loyalty Join Date

Description: Compares the booking date to the guest's loyalty join date.

Example: Book time or loyalty join date greater than loyalty join date finds reservations booked after the guest joined the loyalty program.

Shape

Cancel time

Property

Value

Field Type

DateTime

Supported Operators

not equal, greater than, greater than or equal, less than, less than or equal

Value Entry

Date/time picker

Channel Code

Property

Value

Field Type

Text

Supported Operators

equals

Value Entry

Text input

Example: Channel code equals OTA.

Shape

Children count

Property

Value

Field Type

Number

Supported Operators

equals, greater than, greater than or equal, less than, less than or equal

Value Entry

Numeric input

CRS confirmation number

Property

Value

Field Type

Text

Supported Operators

equals

Value Entry

Text input

Example: CRS confirmation number equals CRS123456 finds all profiles with this specific central reservation system confirmation number.

Shape

Day in

Property

Value

Field Type

Date

Supported Operators

equals, greater than, greater than or equal, less than, less than or equal

Value Entry

Date picker with four date modes

Date Modes Supported

All four modes

Example: Day in equals by timeframe → +7 days finds all profiles with reservations where the check-in date is 7 days from today.

Shape

Day in or day of week

Property

Value

Field Type

Day of Week

Supported Operators

including, excluding

Value Entry

Multi-select dropdown

Available Options

Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday

Example: Day in or day of week including Friday, Saturday finds all profiles with reservations where the check-in date falls on a Friday or Saturday.

Day in or loyalty join date

Property

Value

Field Type

Loyalty Join Date

Supported Operators

equals, greater than, greater than or equal, less than, less than or equal

Value Entry

Single-select dropdown

Available Options

Loyalty Join Date

Description: Compares the check-in date to the guest's loyalty join date.

The day in or loyalty join date field compares a reservation's check-in date against the guest's loyalty program join date. The dropdown has only one option called loyalty join date because that is the fixed comparison target, the operators define the relationship.

What the operators mean

Filter Configuration

What It Finds

Day In (Loyalty Join Date) equals Loyalty Join Date

Reservations where check-in date = loyalty join date (guest joined the program on the day they checked in)

Day In (Loyalty Join Date) greater than Loyalty Join Date

Reservations where check-in date is after loyalty join date (guest was already a loyalty member when they checked in)

Day In (Loyalty Join Date) less than Loyalty Join Date

Reservations where check-in date is before loyalty join date (guest checked in before becoming a loyalty member)

Practical use cases:

  • First-stay loyalty signups: Use equals to find guests who joined the loyalty program during their first stay – useful for measuring on-property enrollment success.

  • Returning loyalty members: Use greater than to find reservations from guests who were already loyalty members – these are your repeat loyal customers.

  • Retroactive enrollments: Use less than to find guests who had a stay before joining the loyalty program – useful for identifying guests who were converted to loyalty members after their initial visit.

📌Note: Similar fields exist for day out or loyalty join date and book time or loyalty join date that compare checkout date and booking date against the loyalty join date respectively.

Day out

Property

Value

Field Type

Date

Supported Operators

equals, greater than, greater than or equal, less than, less than or equal

Value Entry

Date picker with four date modes

Date Modes Supported

All four modes

Example: Day out equals by timeframe → today finds all profiles with reservations where the check-out date is today.

Day out or day of week

Property

Value

Field Type

Day of Week

Supported Operators

including, excluding

Value Entry

Multi-select dropdown

Available Options

Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday

Example: Day out or day of week including Sunday, Monday finds all profiles with reservations where the check-out date falls on a Sunday or Monday.

Shape

Days since last stay

Property

Value

Field Type

Number

Supported Operators

equals, greater than, less than

Value Entry

Numeric input

Example: Days since last stay greater than 180.

Shape

Group code

Property

Value

Field Type

Text

Supported Operators

equals

Value Entry

Text input

Example: Group code equals "CORP2024" finds all profiles with reservations associated with this specific group booking code.

Shape

Hotel code

Property

Value

Field Type

Text

Supported Operators

equals

Value Entry

Text input

Example: Hotel code equals "NYC01" finds all profiles with reservations at the hotel identified by this property code.

Shape

Length of stay

Property

Value

Field Type

Number

Supported Operators

equals, greater than, less than

Value Entry

Numeric input

Example: Length of stay greater than three.

Shape

Market code

Property

Value

Field Type

Text

Supported Operators

equals

Value Entry

Text input

Example: Market code equals "LEISURE" finds all profiles with reservations categorized under this market segment code.

Shape

Next checkin

Property

Value

Field Type

Date

Supported Operators

equals, greater than, less than

Value Entry

Date picker

Example: Next checkin less than by timeframe → +14 days finds all profiles with a future reservation where the next check-in is within the next 14 days.

Shape

Next hotel

Property

Value

Field Type

Text

Supported Operators

equals

Value Entry

Text input

Example: Next hotel equals "Beachfront Resort" finds all profiles with a future reservation at this specific property.

Shape

Package code

Property

Value

Field Type

Text

Supported Operators

equals

Value Entry

Text input

Example: Package code equals "ROMANCE" finds all profiles with reservations that include this specific package or rate plan code.

PMS confirmation number

Property

Value

Field Type

Text

Supported Operators

equals

Value Entry

Text input

Example: PMS confirmation number equals "PMS789012" finds all profiles with this specific Property Management System confirmation number.

Shape

Rate access code

Property

Value

Field Type

Text

Supported Operators

equals

Value Entry

Text input

Example: Rate access code equals "PROMO2024" finds all profiles with reservations that used this specific promotional or rate access code.

Shape

Rate code

Property

Value

Field Type

Text

Supported Operators

equals

Value Entry

Text input

Example: Rate code equals "BAR".

Shape

Reservation status

Property

Value

Field Type

Select

Supported Operators

equals, not equal

Value Entry

Single-select dropdown

Available Options

Reserved, Checked In, Checked Out, No Show, Cancelled

Example: Reservation status equals checked out.

Shape

Room type

Property

Value

Field Type

Text

Supported Operators

equals

Value Entry

Text input

Example: Room type equals "KING" finds all profiles with reservations for this specific room type code.

Shape

Total amount

Property

Value

Field Type

Number

Supported Operators

equals, greater than, greater than or equal, less than, less than or equal

Value Entry

Numeric input

Example: Total amount greater than 1000 finds all profiles with reservations where the total amount is greater than 1000.

📌Important: Multi-currency limitation: The total amount filter does not convert currencies it sums raw values regardless of currency. The filter sums the AmountRoom field directly from the reservations with no currency conversion applied.

Multi-currency impact: If a guest has reservations in multiple currencies, the amounts are simply added together as raw numbers, which is not a meaningful comparison.

For example, if a guest has:

  • Hotel A (USD): $500 reservation.

  • Hotel B (EUR): €300 reservation.

The filter would sum these as 800 (mixing USD and EUR).

Recommendations for multi-currency properties

  • If your hotels operate in a single currency, total amount works fine.

  • If you have multi-currency hotels, use the lifetime spend filters instead such as lifetime spend room only, lifetime spend total, as they properly handle currency conversion to a base currency.

  • Alternatively, combine total amount with a hotel filter to limit to specific hotels with the same currency.


Hotel filters

Hotel filters use property information stored in the hotels table.

Hotel tag

Property

Value

Field Type

Hotel Tag

Supported Operators

equals

Value Entry

Single-select dropdown

Available Options

All active hotels (displays segment tag, stores HotelID)

Example: Hotel tag equals "Beachfront Resort"

Shape

Kilometers around the hotel

Property

Value

Field Type

Number

Supported Operators

equals

Value Entry

Numeric input

Description: Filters contacts based on their distance from the hotel in kilometers.

Shape

Miles around the hotel

Property

Value

Field Type

Number

Supported Operators

equals

Value Entry

Numeric input

Description: Filters contacts based on their distance from the hotel in miles.


Preference filters

Preference filters use guest preference data.

Guest preference

Property

Value

Field Type

Preference

Supported Operators

equals

Value Entry

Single-select dropdown grouped by preference category

Available Options

All configured guest preferences (grouped by RequestType such as Room Preferences, Dining Preferences)

Example: Guest preference equals "High Floor" under room preferences.


Survey filters

Survey filters use survey response data from integrated reputation management systems.

Survey question

Property

Value

Field Type

Survey

Supported Operators

equals

Value Entry

Single-select dropdown grouped by survey name

Available Options

All configured survey questions (grouped by survey name)

Example: Survey question equals "How would you rate your stay?" under guest satisfaction survey.

📌Note: Use survey question in combination with survey answer to filter by specific question-answer combinations.

Survey answer

Property

Value

Field Type

Number

Supported Operators

equals, greater than, greater than or equal, less than, less than or equal

Value Entry

Numeric input

Example: Survey answer greater than or equal eight.

⚠️Important: Survey answer must be combined with survey question using AND logic. Add the survey question filter first, then add the survey answer filter immediately after with AND logic.

Complete example: Survey question equals "How would you rate your stay?"

AND

Survey Answer greater than or equal eight

This finds guests who rated their stay eight or higher.


Frequently asked questions

Outlined below are frequently asked questions about segment filters.

How do I filter by multiple values in a text field like Zip Code?

Text fields like Zip Code do not support the including operator with multi-select. Use one of these approaches:

  • Separate filters with OR logic: Create multiple filters (Zip Code equals "90210" OR Zip Code equals "90211" OR Zip Code equals "90212").

  • Pattern matching with like: Use like operator with wildcards (Zip Code like "902%" matches all zip codes starting with 902).

  • Regular expressions: Use regexp operator for complex patterns (Zip Code regexp "^(90210|90211|90212)$").

Which operators hide the value input field?

The empty and !empty operators hide the value input field for all field types. No value entry is required when using these operators.

How do I create a segment for birthdays in a specific month?

Use the birthday filter with by month date mode:

  1. Select Birthday as the filter field.

  2. Select equals as the operator.

  3. Select By Month as the date mode.

  4. Select the month from the dropdown.

Can I combine survey question and survey answer filters?

Yes. Add the survey question filter first, then add survey answer immediately after using AND logic. The system correlates them based on the filter combination.

What happens when I select the including or excluding operator?

For fields with predefined dropdown options, the dropdown automatically switches to multi-select mode. Selected values appear as removable tags. This only works for fields like country, region, tags, segment membership, and other dropdown-based fields.

How do relative dates work in the by timeframe mode?

Relative dates calculate from the current date. Use + for future dates and - for past dates. Examples:

  • +7 days = 7 days from today.

  • -30 days = 30 days ago.

  • birthday -7 days = 7 days before the guest's birthday this year.

Can I use the book time or loyalty join date filter for guests who are not loyalty members?

No. This filter only applies to guests with a loyalty join date. Guests without loyalty membership will not match this filter.

How do I filter guests within a certain distance from the hotel?

Use the miles around the hotel or kilometers around the hotel filter. This requires that guest addresses are geocoded in the system.

What's the difference between email read and email read including AB test variants?

Email read shows only published emails and excludes AB test variants. Email read including AB test variants shows all emails including test versions. Use the first option for standard reporting and the second for detailed analysis of AB test performance.

What does lifetime mean in lifetime spend and lifetime stays filters?

Lifetime refers to all completed reservations for the guest, regardless of when the profile was created. If historical reservation data was imported before a profile was created, those reservations are included in lifetime totals. The calculation is based on all non-cancelled reservations with checkout dates at least one day in the past.

Why doesn't date last active update when guests open emails or visit the website?

Date Last Active tracks when the profile record itself was last modified, not guest engagement activity. It updates when profiles are created, updated, merged, or when forms are submitted. For guest engagement tracking, use filters like email read date or visited URL date instead.

What's the difference between active and deactive profiles?

Active profiles are currently usable guest records. Deactive profiles have been deactivated, typically due to profile merges where duplicate records are consolidated. Deactivated profiles remain in the database for historical reference but don't appear in normal contact lists. Most segments should filter for active profiles only.

Should I use total amount or lifetime spend filters for revenue-based segments?

For properties operating in a single currency, total amount works fine. For multi-currency properties, use lifetime spend filters or lifetime spend room only, lifetime spend total instead, as they properly convert amounts to a base currency. Total amount sums raw values without currency conversion, which can produce misleading results when mixing currencies.

How do I filter for guests with specific mobile phone formats?

Mobile phone numbers are stored as plain text with no automatic formatting. The format depends on how data was entered such as digits only, with dashes, with parentheses, with country codes. Use the contains operator to find number sequences regardless of formatting, or use regexp for complex pattern matching. For exact matching, you need to know the stored format.

Can I filter by email domain like all Gmail users?

Yes. Use the Email filter with the ends with operator and enter "@gmail.com". Alternatively, use regexp for multiple domains: Email regexp "@(gmail|yahoo|hotmail).com$".

How do I find profiles that are in multiple segments?

Create filters for each segment using AND logic:

  • Segment membership including "VIP Guests" AND

  • Segment membership including "Frequent Travelers"

This finds profiles that belong to both segments.

What's the difference between marketing consent and unsubscribed filters?

Marketing consent tracks whether guests have given explicit or implied consent for marketing communications. Unsubscribed tracks whether guests have actively opted out. A profile can have marketing consent equals false without being unsubscribed they may have had implied consent that expired. For compliance, check both filters when building marketing segments.

How do I filter for profiles with expiring consent?

Use the implied consent expiration date - Email or SMS filter with the less than operator and a relative date.

For example: Implied consent expiration date - Email less than By Timeframe → +30 days finds profiles whose consent expires in the next 30 days.

Can I use regular expressions (regexp) with any filter?

Regular expressions work only with text field types. They are most useful for complex pattern matching on fields like zip code, email, phone, mobile, and other text fields where you need to match multiple specific values or patterns.

Why can't I see visits to external URLs in my visited URL filters?

The visited URL filter tracks page visits where tracking is implemented on your property's websites and booking engine. External URLs like third-party booking sites are not tracked unless specific tracking mechanisms are in place.

How do loyalty join date comparison filters work?

Filters like day in or loyalty join date, day out or loyalty join date and book time or loyalty join date compare reservation dates against when the guest joined the loyalty program. Use equals to find same-day events, greater than for reservations after joining, and less than for reservations before joining. These are useful for analyzing enrollment patterns and loyalty member behavior.

Did this answer your question?