Skip to main content

Segment filter reference guide

Complete reference for creating and managing segments in the SHR CRM, including all available filter fields, operators, date modes, and common filtering scenarios.

Written by Fernando Fallabrino

Segment filters let you build targeted guest groups based on profile data, reservation history, preferences, and survey responses. You can use segments for marketing campaigns, loyalty programmes, and operational communications.

⚠️ Important: All segments automatically include only active profiles. The system applies Active = 1 to every segment query, so inactive or deactivated profiles (typically from profile merges) are never included.

Access and manage segments

You can view, search, and manage all segments for your property from the Segments page.

Access the segments page

  1. Click Campaign Management Tools.

  2. Click Segments.

Understand the segments list page

The segments list page displays all segments with the following columns.

Column

Description

Name

The segment name with a toggle icon showing published or unpublished status.

Global

Shows Yes or No, indicating if the segment is available for use in preference workflows.

# Contacts

A link showing the number of profiles in the segment. Click to view the contact list.

ID

The segment's unique numeric identifier.

Search for a segment

  1. Click Campaign Management Tools, then click Segments.

  2. Use the search filters at the top of the page.

    • Name – enter the segment name (partial matches are supported).

    • ID – enter one or more segment IDs separated by commas.

  3. Click Search.


Create and edit a segment

Segments are built using a Details tab for configuration and an optional Filters tab for dynamic criteria.

Create a new segment

  1. Click Campaign Management Tools, then click Segments.

  2. Click New in the upper right corner.

  3. Configure the segment settings in the Details tab.

  4. (Optional) Click the Filters tab to add dynamic filter criteria.

  5. Click Save & Close or Apply.

Segment details tab settings

The Details tab contains the core segment configuration. Name is the only required field.

Name (required)

Enter a descriptive name for the segment.

🤓 Tip: Use clear, descriptive names such as "VIP Guests - $10K+ Lifetime" rather than generic names like "Segment 1".

Alias

An alphanumeric identifier (no spaces) used as a URL-safe reference for the segment. Maximum 25 characters. If left empty, the system auto-generates a unique alias.

Description

A free-text description of the segment's purpose and filter criteria.

🤓 Tip: Document all filter criteria in the description for future reference, especially for complex segments with multiple conditions.

Public segment

When set to Yes (default), the segment is available for use in contact preferences and workflow actions. Set to No to restrict the segment to internal use only.

Available in preference center

When set to Yes, contacts can opt in or out of this segment through the guest preference center portal. Default is No. Use for subscription preferences such as "Special Offers Email List" or "Event Notifications".

Active

When set to Yes (default), the segment is published and active. When set to No, the segment is unpublished and will not be included in automatic segment rebuilds.

🤓 Tip: Unpublish segments that are no longer in use rather than deleting them to preserve historical data.

Send reward email by campaign

When set to Yes, the system will NOT automatically send reward notification emails when contacts are added to this segment. You must create a separate campaign to send the reward email. When set to No (default), reward notification emails are sent automatically when contacts enter the segment (if a reward rule is associated). Use when you want more control over reward email timing and content through a campaign journey.

📌 Note: This setting is only available for profiles with a valid Loyalty Membership ID.

Ignore unsubscribe

⚠️ Warning: When set to Yes, emails will be sent to contacts in this segment even if they have unsubscribed. By enabling this option, you accept responsibility for compliance with email marketing laws and regulations. Use only for transactional or critical operational communications with legal justification.

Email unique

When set to Yes, if multiple profiles share the same email address, only one profile will be included in the segment count and targeting. This prevents sending duplicate emails to the same email address.

🤓 Tip: Always enable Email Unique for segments used in email campaigns to ensure accurate contact counts and prevent duplicate sends.

Reward rule

Select a reward rule to associate with this segment. When a contact enters this segment, they will automatically receive the selected reward (subject to reward rule eligibility). Use for birthday rewards, tier upgrade rewards, or promotional rewards.

📌 Note: This setting is only available for profiles with a valid Loyalty Membership ID.

Edit an existing segment

  1. Click Campaign Management Tools, then click Segments.

  2. Search for and select the segment you want to modify.

  3. Click the segment name to open the edit page.

  4. Make your changes in the Details or Filters tabs.

  5. Click Save & Close or Apply.

📌 Note: Save & Close saves your changes and returns you to the segments list. Apply saves your changes and keeps you in edit mode for continued modifications.


Segment filters

Segment filters use guest and reservation data to define which profiles belong in a segment. Each filter consists of a filter field (the data point to filter on), an operator (how to compare the data), and a value (the specific criteria you're looking for). Filters can be combined using AND or OR logic to create complex segment criteria.

Base filters for email segments

When building segments for email campaigns, always include these base filters to ensure accurate counts of contactable profiles.

  • Email not empty – ensures profiles have an email address.

  • Unsubscribed - Email equals No – excludes profiles who have opted out.

Also enable the Email Unique setting on the segment. This ensures that if multiple profiles share the same email address, only one profile is counted and targeted.

📌 Note: Example structure for an email segment: Filter one: Email not empty. AND Filter two: Unsubscribed - Email equals No. AND Filter three: [your targeting criteria]. Settings: Email Unique enabled.

Filter categories

Filters are organised into five categories based on the data they reference.

  • Contact – guest profile information (name, email, address, loyalty status, consent).

  • Reservation – booking and stay data (arrival dates, room type, rate code, reservation status).

  • Hotel – property information.

  • 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 15/06/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 seven days before guest birthdays.

Special Keyword

Use predefined keywords.

Find guests who checked in this week.

By date mode

Select a specific date using the date picker. Example: Day In equals By Date → 2024-06-15 finds profiles with check-in on 15 June 2024.

By month mode

Select a month (January through December) to match dates in that month regardless of year. Supported operators: equals, not equal. The system uses SQL pattern matching to find all dates falling in the selected month across any year. Example: Birthday equals By Month → December finds all profiles with December birthdays in any year.

By timeframe mode

Enter relative dates that calculate from the current date or from birthday or anniversary dates.

Standard relative dates

  • +7 days – seven days from today.

  • -30 days – 30 days ago.

  • +2 weeks – two weeks from today.

  • -6 months – six months ago.

  • +1 years – one year from today.

Birthday and anniversary offsets

  • birthday – on their birthday this year.

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

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

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

Special keyword mode

Use predefined keywords 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.

Example: Day In equals Special Keyword → week_next finds profiles checking in next week.


Operator reference

Operators determine how the filter compares your value to the data in the system. The available operators depend on the filter's field type.

Field type

Available operators

Text (text, email, tel, URL)

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

Number

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

Date

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

DateTime

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

Boolean

equals, not equal

Select

equals, not equal, empty, not empty

Lookup (country, region, device brand/OS/type, timezone)

equals, not equal, empty, not empty

Membership (emails, tags, segments, assets, hotels, preferences)

including, excluding

Campaign

empty, not empty

Language ID or Member Tier

equals, not equal, empty, not empty

Day of Week

equals, not equal

Loyalty Join Date

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

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


Understanding regular expressions

Regular expressions (regexp) allow complex pattern-matching for text fields. Most filtering needs can be met with simpler operators like like, starts with, or ends with.

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 starts with.

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

Basic regexp syntax

Symbol

Meaning

Example

Matches

^

Start of string.

^902

Values starting with 902.

$

End of string.

567$

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 five-digit number.

[a-z]

Any lowercase letter.

[a-z]+

One or more lowercase letters.

.

Any character.

9.2

902, 912, 922, etc.

?

Zero or one.

colou?r

Color or colour.

Common regexp patterns

  • Multiple zip codes: ^(90210|90211|90212)$, which matches only these zip codes exactly.

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

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

📌 Note: The ^ and $ anchors ensure exact matching (prevents partial matches). Use | (pipe) to separate multiple values in an OR pattern. Escape special characters with a backslash \ when you want to match them literally. Test regexp patterns carefully before using them in production segments.


Multi-select behaviour

Certain filter fields automatically enable multi-select when you use them. These fields use the including or excluding operators exclusively.

When you select a filter field that supports multi-select, the operator is automatically set to including or excluding and the dropdown displays in multi-select mode. Selected values appear as removable tags.

Fields that support multi-select:

  • Email Read, Email Sent, Email Clicked (and AB test variant versions).

  • Asset Download.

  • Tags.

  • Segment Membership.

  • Hotel Tag.

  • Guest Preference.

  • Survey Question.

📌 Note: Fields like Country, Region, Device Brand/OS/Type, and Member Tier use single-select with equals or not equal operators. To filter for multiple values, use separate filters with OR logic.


Contact filters

Contact filters use guest profile data. All segments automatically filter to active profiles only.

Add on score

Property

Value

Field type

Select

Supported operators

equals, not equal, empty, not empty

Value entry

Single-select dropdown

Address line one

Property

Value

Field type

Text

Supported operators

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

Value entry

Text input

Example: Address line one like "%Main Street%" finds profiles with addresses containing Main Street.

Address line two

Property

Value

Field type

Text

Supported operators

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

Value entry

Text input

Age median

Property

Value

Field type

Number

Supported operators

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

Value entry

Numeric input

Example: Age Median greater than 35.

Asset download

Property

Value

Field type

Assets (Membership)

Supported operators

including, excluding

Value entry

Multi-select dropdown grouped by language

Example: Asset Download including "Property Brochure 2024" finds all profiles who have downloaded this specific asset.

Birthday

The Birthday filter uses a specialised interface. Instead of selecting operators and date modes separately, you select a Group (category) and then a Condition (specific filter type) from two dropdowns.

Property

Value

Field type

Date (specialised pre-set interface)

Value entry

Two dropdowns: Group and Condition, with dynamic value input

How to use the birthday filter

  1. Select Birthday as the filter field. The birthday preset interface activates automatically.

  2. Choose a Group from the first dropdown (Today, Upcoming, Past, Month, Age, Specific Date, Existence).

  3. (Optional) Turn on Range mode using the Range button (available for certain groups).

  4. Choose a Condition from the second dropdown (options change based on selected group).

  5. Enter the required value(s) based on the condition.

Group

Available conditions

Today

Is Today, Is Not Today.

Upcoming

In Next ___ Days, In Next ___ Months. Range mode: In Next ___ to ___ Days/Months.

Past

Was ___ Days Ago, Was ___ Months Ago.

Month

Is This Month, Is Not This Month, Is In Month, Is Not In Month. Range mode: In Month Range.

Age

Older Than ___ Years, Younger Than ___ Years. Range mode: Age Between ___ and ___, Born In Year Range.

Specific Date

Is On, Is Not On, Before, After, On or Before, On or After. Range mode: In Date Range.

Existence

Has Birthday, Has No Birthday.

Example: Birthday → Upcoming → In Next 7 Days finds all profiles with birthdays in the next seven days.

Example: Birthday → Month → Is In Month → December finds all profiles with birthdays in December.

Example: Birthday → Age → Age Between 18 and 30 (Range mode) finds all profiles aged between 18 and 30 years (inclusive).

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

Value entry

None (no value selection available)

Example: Campaign Membership not empty finds all profiles attached to any campaign journey.

📌 Note: You cannot select specific campaigns with this filter. Use empty to find profiles not in any campaign, or not empty to find profiles in at least one campaign.

Cancelled score

Property

Value

Field type

Select

Supported operators

equals, not equal, empty, not empty

Value entry

Single-select dropdown

City

Property

Value

Field type

Text

Supported operators

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

Value entry

Text input

Example: City equals "New York".

Country

Property

Value

Field type

Country (Lookup)

Supported operators

equals, not equal, empty, not empty

Value entry

Single-select dropdown

Available options

All countries with ISO codes

Example: Country equals US.

📌 Note: To filter for multiple countries, use separate filters with OR logic. For example: Country equals US OR Country equals CA OR Country equals MX.

Date added

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

Value entry

Date picker with all four date modes

Example: Date Added greater than or equal By Timeframe → -30 days finds all profiles created within the last 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

Value entry

Date picker with all four date 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

Value entry

Date/time picker with all four date modes

Example: Date Last Active less than By Timeframe → -90 days finds all profiles that haven't been modified in the last 90 days.

⚠️ Important: Date Last Active tracks when the profile record itself was last modified, not guest engagement activity like email opens or website visits. For guest engagement tracking, use Email Read Date or Visited URL Date instead.

Days since last stay

Property

Value

Field type

Number

Supported operators

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

Value entry

Numeric input

Example: Days Since Last Stay greater than 180 finds all profiles who have not stayed in the last 180 days.

Device brand

Property

Value

Field type

Device Brand (Lookup)

Supported operators

equals, not equal, empty, not empty

Value entry

Single-select dropdown

Available options

Apple, Samsung, Google, Huawei, and others

Example: Device Brand equals Apple.

Device model

Property

Value

Field type

Text

Supported operators

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

Value entry

Text input

Example: Device Model like "%iPhone%" finds profiles who have used any iPhone model.

Device OS

Property

Value

Field type

Device OS (Lookup)

Supported operators

equals, not equal, empty, not empty

Value entry

Single-select dropdown

Available options

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

Example: Device OS equals iOS.

Device type

Property

Value

Field type

Device Type (Lookup)

Supported operators

equals, not equal, empty, not empty

Value entry

Single-select dropdown

Available options

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

Example: Device Type equals Mobile.

Email

Property

Value

Field type

Email (Text)

Supported operators

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

Value entry

Text input

Example: Email ends with "@gmail.com".

Email Read

Property

Value

Field type

Email Received (Membership)

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" finds profiles who have opened the parent email.

Email Read (including AB test variants)

Property

Value

Field type

Email Received All (Membership)

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" finds profiles who have opened the parent email or any AB test variant.

Email Clicked

Property

Value

Field type

Email Received (Membership)

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 (Membership)

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" finds profiles who were sent the parent email.

Email Read Count

Property

Value

Field type

Number

Supported operators

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

Value entry

Numeric input

Example: Email Read Count greater than 10 finds all profiles who have opened any email more than 10 times.

⚠️ Important: Email Read Count evaluates across all emails sent to a profile and is not email-specific. Profiles with no email activity or those who received emails but never opened them will not match this filter.

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, empty, not empty

Value entry

Date/time picker with all four date modes

Example: Email Read Date greater than By Timeframe → -7 days finds all profiles who opened any email within the last seven days.

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, empty, not empty

Value entry

Date/time picker with all four date modes

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

Explicit consent date - Email

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

Value entry

Date picker with all four date modes

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

Explicit consent date - SMS

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

Value entry

Date picker with all four date modes

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

First name legal

Property

Value

Field type

Text

Supported operators

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

Value entry

Text input

Example: First Name Legal starts with "John".

Frequency score

Property

Value

Field type

Select

Supported operators

equals, not equal, empty, not empty

Value entry

Single-select dropdown

Gender

Property

Value

Field type

Select

Supported operators

equals, not equal, empty, not 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, not equal, greater than, greater than or equal, less than, less than or equal, empty, not empty

Value entry

Date picker with all four date modes

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

Implied consent expiration date - SMS

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

Value entry

Date picker with all four date modes

Example: Implied Consent Expiration Date - SMS less than By Timeframe → +30 days finds all 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.

Last name legal

Property

Value

Field type

Text

Supported operators

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

Value entry

Text input

Example: Last Name Legal starts with "Smith".

Lifetime room nights

Property

Value

Field type

Number

Supported operators

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

Value entry

Numeric input

Example: Lifetime Room Nights greater than 10 finds all profiles with more than 10 total room nights across all completed stays. Lifetime filters include all non-cancelled reservations with checkout dates at least one day in the past, regardless of when the profile was created.

Lifetime spend non room

Property

Value

Field type

Number

Supported operators

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

Value entry

Numeric input

Example: Lifetime Spend Non Room greater than 1000 finds all profiles with more than 1000 in total non-room spending (food and beverage, spa, services, and other charges) across all completed stays.

Lifetime spend room only

Property

Value

Field type

Number

Supported operators

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

Value entry

Numeric input

Example: Lifetime Spend Room Only greater than 3000 finds all profiles with more than 3000 in total room revenue across all completed stays.

Lifetime spend total

Property

Value

Field type

Number

Supported operators

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

Value entry

Numeric input

Example: Lifetime Spend Total greater than 5000 finds all profiles with more than 5000 in total spending (room revenue plus all other charges) across all completed stays.

Lifetime stays

Property

Value

Field type

Number

Supported operators

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

Value entry

Numeric input

Example: Lifetime Stays greater than five finds all profiles with more than five completed stays.

Loyalty credits available points

Property

Value

Field type

Number

Supported operators

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

Value entry

Numeric input

Example: Loyalty Credits Available Points greater than 5000 finds all profiles with more than 5000 loyalty points available.

Loyalty credits redeemed amount

Property

Value

Field type

Number

Supported operators

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

Value entry

Numeric input

Example: Loyalty Credits Redeemed Amount greater than 500 finds all profiles who have redeemed more than 500 in loyalty credit value.

Loyalty credits redeemed points

Property

Value

Field type

Number

Supported operators

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

Value entry

Numeric input

Example: Loyalty Credits Redeemed Points greater than 10000 finds all profiles who have redeemed more than 10,000 loyalty points.

Loyalty join date

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

Value entry

Date picker with all four date modes

Example: Loyalty Join Date less than By Timeframe → -1 years finds all profiles who joined the loyalty programme more than one year ago.

Loyalty member ID

Property

Value

Field type

Text

Supported operators

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

Value entry

Text input

Example: Loyalty Member ID not empty finds all profiles who are loyalty members.

Loyalty member tier

Property

Value

Field type

Member Tier (Lookup)

Supported operators

equals, not equal, empty, not empty

Value entry

Single-select dropdown

Available options

All configured member tiers (e.g. Bronze, Silver, Gold)

Example: Loyalty Member Tier equals Gold.

📌 Note: To filter for multiple tiers, use separate filters with OR logic. For example: Loyalty Member Tier equals Gold OR Loyalty Member Tier equals Platinum.

Marketing consent - Email

Property

Value

Field type

Select

Supported operators

equals, not equal, empty, not empty

Value entry

Single-select dropdown

Example: Marketing Consent - Email equals True finds all profiles who have given explicit email marketing consent.

Marketing consent - SMS

Property

Value

Field type

Select

Supported operators

equals, not equal, empty, not empty

Value entry

Single-select dropdown

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, like, not like, empty, not empty, starts with, ends with, regexp, not regexp

Value entry

Text input

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

📌 Note: Mobile numbers are stored as plain text with no automatic formatting. Numbers may be stored as digits only, with dashes, with parentheses, or with country codes and spaces. Use like with wildcards to find number sequences regardless of formatting.

Mobile country code

Property

Value

Field type

Text

Supported operators

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

Value entry

Text input

Monetary score

Property

Value

Field type

Select

Supported operators

equals, not equal, empty, not empty

Value entry

Single-select dropdown

Page sessions

Property

Value

Field type

Number

Supported operators

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

Value entry

Numeric input

Example: Page Sessions greater than three finds all profiles with more than three page sessions.

Preferred language

Property

Value

Field type

Language ID (Lookup)

Supported operators

equals, not equal, empty, not empty

Value entry

Single-select dropdown

Available options

All configured languages

Example: Preferred Language equals Spanish.

Primary company

Property

Value

Field type

Text

Supported operators

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

Value entry

Text input

Example: Primary Company like "%Hotel Group%" finds profiles associated with companies containing this text.

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

Profile type

Property

Value

Field type

Text

Supported operators

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

Value entry

Text input

Example: Profile Type equals "H" finds all hotel guest profiles.

📌 Note: Valid values are H (Hotel Guest) or M (Marketing Only).

Recency score

Property

Value

Field type

Select

Supported operators

equals, not equal, empty, not empty

Value entry

Single-select dropdown

Region

Property

Value

Field type

Region (Lookup)

Supported operators

equals, not equal, empty, not empty

Value entry

Single-select dropdown

Available options

US States and Canadian Provinces grouped by country

Example: Region equals CA (California). Example: Region equals QC (Quebec, Canada).

📌 Note: To filter for multiple regions, use separate filters with OR logic.

RFMAC category

Property

Value

Field type

Select

Supported operators

equals, not equal, empty, not empty

Value entry

Single-select dropdown of configured RFMAC category values

Salutation

Property

Value

Field type

Select

Supported operators

equals, not equal, 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

Leadlist (Membership)

Supported operators

including, excluding

Value entry

Multi-select dropdown

Available options

All configured segments (excludes the current segment being edited)

Example: Segment Membership including "VIP Guests" finds profiles that are in the VIP Guests segment.

Example: Segment Membership excluding "Guests with Future Bookings" excludes all profiles who are in this segment.

Tags

Property

Value

Field type

Tags (Membership)

Supported operators

including, excluding

Value entry

Multi-select dropdown

Available options

All configured tags

Example: Tags including "Business Traveler" finds all profiles with this tag assigned.

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.

UTM fields

UTM Campaign, UTM Content, UTM Medium, UTM Source, and UTM Term are all text fields that support these operators: equals, not equal, like, not like, empty, not empty, starts with, ends with, regexp, not regexp. Values are entered as text input.

Visited URL

Property

Value

Field type

Text

Supported operators

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

Value entry

Text input

Example: Visited URL like "%/special-offers%" finds all profiles who visited any URL containing /special-offers.

Visited URL count

Property

Value

Field type

Number

Supported operators

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

Value entry

Numeric input

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

Visited URL date

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

Value entry

Date/time picker with all four date modes

Zip code

Property

Value

Field type

Text

Supported operators

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

Value entry

Text input

To filter for multiple zip codes, use one of three approaches: pattern matching with like (Zip Code like "902%"); separate filters with OR logic (Zip Code equals "90210" OR Zip Code equals "90211"); or regexp for exact matching (Zip Code regexp "^(90210|90211|90212)$"). The regexp approach is more efficient for a large number of specific codes.

📌 Note: Zip Code does not support the including operator with multi-select. Use separate OR filters or regexp for multiple values.


What updates date last active

Date Last Active 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.

  • A guest logs into the loyalty portal (this updates a different field).

⚠️ Important: For guest engagement tracking, use Email Read Date or Visited URL Date filters instead.


Reservation filters

Reservation filters use booking and stay data.

Book time

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

Value entry

Date/time picker with all four date modes

Example: Book Time greater than By Timeframe → -30 days finds all profiles with reservations booked within the last 30 days.

Book time (loyalty join date)

Property

Value

Field type

Loyalty Join Date

Supported operators

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

Value entry

Single-select dropdown (Loyalty Join Date)

Compares the booking date to the guest's loyalty join date. Use greater than to find reservations booked after the guest joined the loyalty programme; less than for reservations booked before joining.

Cancel time

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

Value entry

Date/time picker with all four date modes

Channel code

Property

Value

Field type

Text

Supported operators

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

Value entry

Text input

Example: Channel Code equals "OTA" finds all profiles with reservations booked through this booking channel code.

Children count

Property

Value

Field type

Number

Supported operators

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

Value entry

Numeric input

CRS confirmation number

Property

Value

Field type

Text

Supported operators

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

Value entry

Text input

Example: CRS Confirmation Number equals "CRS123456" finds all profiles with this specific Central Reservation System confirmation number.

Day in

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

Value entry

Date picker with all four date modes

Example: Day In equals By Timeframe → +7 days finds all profiles with reservations where the check-in date is seven days from today.

To filter by a date range, add two separate filter rows. For arrivals within a range (inclusive): Day In greater than or equal [start date] AND Day In less than or equal [end date]. For arrivals outside a range: Day In less than [start date] OR Day In greater than [end date].

Day in (day of week)

Property

Value

Field type

Day of Week

Supported operators

equals, not equal

Value entry

Single-select dropdown

Available options

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

Example: Day In (Day Of Week) equals Friday finds all profiles with reservations where the check-in date falls on a Friday.

Day in (loyalty join date)

Property

Value

Field type

Loyalty Join Date

Supported operators

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

Value entry

Single-select dropdown (Loyalty Join Date)

Compares the check-in date to the guest's loyalty join date. Use greater than to find reservations from guests who were already loyalty members at check-in; use less than for guests who checked in before joining the programme.

Day out

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

Value entry

Date picker with all four date modes

Example: Day Out equals By Timeframe → today finds all profiles with reservations where the check-out date is today.

Day out (day of week)

Property

Value

Field type

Day of Week

Supported operators

equals, not equal

Value entry

Single-select dropdown

Available options

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

Example: Day Out (Day Of Week) equals Sunday finds all profiles with reservations where the check-out date falls on a Sunday.

Group code

Property

Value

Field type

Text

Supported operators

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

Value entry

Text input

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

Hotel code

Property

Value

Field type

Text

Supported operators

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

Value entry

Text input

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

Length of stay

Property

Value

Field type

Number

Supported operators

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

Value entry

Numeric input

Example: Length Of Stay greater than three finds all profiles with reservations longer than three nights.

Market code

Property

Value

Field type

Text

Supported operators

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

Value entry

Text input

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

Next checkin

Property

Value

Field type

Number

Supported operators

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

Value entry

Numeric input

📌 Note: This field is defined as a number type in the system. Contact SHR Support if you encounter unexpected behaviour.

Next hotel

Property

Value

Field type

Text

Supported operators

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

Value entry

Text input

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

Package code

Property

Value

Field type

Text

Supported operators

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

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, not equal, like, not like, empty, not empty, starts with, ends with, regexp, not regexp

Value entry

Text input

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

Rate access code

Property

Value

Field type

Text

Supported operators

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

Value entry

Text input

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

Rate code

Property

Value

Field type

Text

Supported operators

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

Value entry

Text input

Example: Rate Code equals "BAR" finds all profiles with reservations using this rate code.

Reservation status

Property

Value

Field type

Select

Supported operators

equals, not equal, empty, not empty

Value entry

Single-select dropdown

Available options

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

Example: Reservation Status equals Checked Out.

Room type

Property

Value

Field type

Text

Supported operators

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

Value entry

Text input

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

Total amount

Property

Value

Field type

Number

Supported operators

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

Value entry

Numeric input

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

⚠️ Important: Total Amount does not convert currencies. It sums raw values regardless of currency. For multi-currency properties, use the Lifetime Spend filters instead, as they properly handle currency conversion to a base currency. Alternatively, combine Total Amount with a Hotel Code filter to limit to specific hotels that share the same currency.


Hotel filters

Hotel filters use property information.

Hotel tag

Property

Value

Field type

Hotel Tag (Membership)

Supported operators

including, excluding

Value entry

Multi-select dropdown of all active hotels

Example: Hotel Tag including "Beachfront Resort" finds all profiles associated with this property.


Preference filters

Preference filters use guest preference data.

Guest preference

Property

Value

Field type

Preference (Membership)

Supported operators

including, excluding

Value entry

Multi-select dropdown grouped by preference category

Available options

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

Example: Guest Preference including "High Floor" finds all profiles with this preference.


Survey filters

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

Survey question

Property

Value

Field type

Maverick Survey (Membership)

Supported operators

including, excluding

Value entry

Multi-select dropdown grouped by survey name

Available options

All configured survey questions (grouped by survey name)

Example: Survey Question including "How would you rate your stay?"

Survey answer

Property

Value

Field type

Number

Supported operators

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

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. For example: Survey Question including "How would you rate your stay?" AND Survey Answer greater than or equal 8. This finds guests who rated their stay eight or higher.


Common filtering scenarios

Below are practical examples of common segment filtering use cases. All email segment examples should also have Email Unique enabled.

Find all Gmail users

  • Filter one: Email ends with "@gmail.com".

  • AND Filter two: Unsubscribed - Email equals No.

Find VIP guests from the US with five or more stays

  • Filter one: Is VIP equals Yes.

  • AND Filter two: Country equals United States.

  • AND Filter three: Lifetime Stays greater than or equal five.

  • AND Filter four: Email not empty.

  • AND Filter five: Unsubscribed - Email equals No.

Find guests with birthdays in the next seven days

  • Filter one: Birthday → Upcoming → In Next 7 Days.

  • AND Filter two: Email not empty.

  • AND Filter three: Unsubscribed - Email equals No.

Find guests who opened a specific email campaign

  • Filter one: Email Read including "Summer Promotion 2024".

  • AND Filter two: Email not empty.

  • AND Filter three: Unsubscribed - Email equals No.

Find guests who haven't stayed in over six months

  • Filter one: Days Since Last Stay greater than 180.

  • AND Filter two: Email not empty.

  • AND Filter three: Unsubscribed - Email equals No.

Find guests checking in next weekend

  • Filter one: Day In (Day Of Week) equals Friday.

  • OR Filter two: Day In (Day Of Week) equals Saturday.

  • AND Filter three: Day In greater than By Timeframe → +0 days.

  • AND Filter four: Email not empty.

  • AND Filter five: Unsubscribed - Email equals No.

Find guests with expiring consent in the next 30 days

  • Filter one: Implied Consent Expiration Date - Email less than By Timeframe → +30 days.

  • AND Filter two: Email not empty.

  • AND Filter three: Unsubscribed - Email equals No.

Find loyalty members who joined in the last year

  • Filter one: Loyalty Join Date greater than By Timeframe → -1 years.

  • AND Filter two: Email not empty.

  • AND Filter three: Unsubscribed - Email equals No.

Find guests with high lifetime spending

  • Filter one: Lifetime Spend Total greater than 10000.

  • AND Filter two: Email not empty.

  • AND Filter three: Unsubscribed - Email equals No.

Find guests in a specific zip code range

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

  • AND Filter two: Email not empty.

  • AND Filter three: Unsubscribed - Email equals No.

Find guests who are not in any campaign

  • Filter one: Campaign Membership empty.

  • AND Filter two: Email not empty.

  • AND Filter three: Unsubscribed - Email equals No.

Find recent OTA bookers (to convert to direct)

  • Filter one: Channel Code equals OTA (your channel code).

  • AND Filter two: Day Out greater than By Timeframe → -90 days.

  • AND Filter three: Day Out less than By Timeframe → +0 days.

  • AND Filter four: Email not empty.

  • AND Filter five: Unsubscribed - Email equals No.

Win-back campaign (using segment building blocks)

Create a base "Guests with Future Bookings" segment first: Day In greater than or equal By Timeframe → +0 days. Then in your win-back segment, reference it as an exclusion.

  • Filter one: Days Since Last Stay greater than 180.

  • AND Filter two: Segment Membership excluding "Guests with Future Bookings".

  • AND Filter three: Email not empty.

  • AND Filter four: Unsubscribed - Email equals No.


Multiple value filters

Most fields, including Country and Member Tier, are single-select. To match multiple values for the same field, add separate filters connected by OR logic.

Example: Country equals US OR Country equals CA OR Country equals MX.


Multi-select fields

The following fields support multi-select using including or excluding operators:

  • Email Read.

  • Email Sent.

  • Email Clicked.

  • Email Read (including AB test variants).

  • Email Clicked (including AB test variants).

  • Asset Download.

  • Tags.

  • Segment Membership.

  • Hotel Tag.

  • Guest Preference.

  • Survey Question.

All other fields require separate filters with OR logic to match multiple values.


Empty and not empty operators

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


Birthday month segments

  1. Select Birthday as the filter field.

  2. Select Month from the Group dropdown.

  3. Select Is In Month from the Condition dropdown.

  4. Select the month, for example December.


Survey Question and Survey Answer filters

Add the Survey Question filter first, then add the Survey Answer filter immediately after using AND logic.


Relative dates in By Timeframe mode

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

  • +7 days = seven days from today.

  • -30 days = 30 days ago.

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


Lifetime Spend and Lifetime Stays filters

Lifetime covers 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. The calculation covers all non-cancelled reservations with checkout dates at least one day in the past.


Date Last Active

Date Last Active tracks when the profile record itself was last modified, not guest engagement activity.

📌 Note: To track email opens or website visits, use Email Read Date or Visited URL Date instead.


Total Amount and Lifetime Spend filters

For single-currency properties, Total Amount works well for revenue-based segmentation. For multi-currency properties, use Lifetime Spend instead, as it converts all amounts to a base currency before calculating.

⚠️ Warning: Total Amount sums raw values without currency conversion, which produces misleading results when guest profiles span multiple currencies.


Mobile phone number filters

Mobile numbers are stored as plain text with no automatic formatting. Use the like operator with wildcards to find number sequences regardless of format, or use regexp for complex pattern matching.


Email domain filters

Use the Email filter with ends with and enter @gmail.com to match all guests with a Gmail address.

For multiple domains, use regexp: Email regexp "@(gmail|yahoo|hotmail).com$".


Email Read filter variants

Email Read shows only published parent emails. Email Read (including AB test variants) shows parent emails plus all AB test variants. Use Email Read for standard targeting and Email Read (including AB test variants) for AB test performance analysis.


Email aggregate and email-specific filters

Email Read Count and Email Read Date are aggregate filters that evaluate across all emails sent to a profile. Email Read, Email Sent, and Email Clicked are email-specific filters where you select which email or emails to check.

Use aggregate filters for general engagement analysis and email-specific filters for campaign-based segmentation.


Date range filters for Day In and Day Out fields

To filter guests within a date range, add two separate filters:

  • For an inclusive range: use greater than or equal for the start date AND less than or equal for the end date.

  • For dates outside a range: use less than for the start date OR greater than for the end date.


Loyalty join date comparison filters

Day In (Loyalty Join Date), Day Out (Loyalty Join Date), and Book Time (Loyalty Join Date) compare reservation dates against when the guest joined the loyalty programme.

  • Use greater than to find reservations made after joining.

  • Use less than to find reservations made before joining.

Did this answer your question?