Email platform and CRM conditions
Use what your email platform or CRM knows about a contact to target them on your website. Compare identity, tags, lists, fields, events, purchases, and revenue where supported.
You can show different messages to contacts based on what you already know about them in your email platform or CRM, such as a customer tag or a previous purchase.
What it checks
Contact conditions use the profile loaded from your connected email platform or CRM. Their category in the condition picker uses the platform's name, or Email List when no name is available.
The available options depend on your integration. Not every platform offers tags, lists, event history, purchase history, or total revenue. Platforms can also use different labels for tags and lists.
When to use it
Use these conditions when the data you need already lives in your connected platform. RightMessage needs to identify the visitor to use their contact data.
For answers collected on your website, use input-question answer conditions. For membership based on answers or automatic rules, use segment membership conditions.
Options
Contact identity
Anonymous and Subscriber have no operator or value fields.
- Anonymous matches when the connected source treats the visitor as anonymous.
- Subscriber matches the opposite state, when it recognizes the visitor as an identified contact.
Subscriber doesn't confirm marketing consent, active subscription to a particular list, or permission to email someone. Use the relevant list, tag, or field condition for your platform's status.
RightMessage can recognize a contact without having every profile field populated. Identification and available profile data are separate.
Tags and lists
Both Tags and Lists offer these operators:
| Choose | When it matches |
|---|---|
| include any of | The contact has at least one selected tag or list. |
| don't include any of | The contact has none of the selected tags or lists. |
| matches any | The contact has at least one tag or list, regardless of which. |
| doesn't match any | The loaded tag or list collection is empty. |
The starting operator is include any of, with no values selected. The inclusion operators use a multi-select with IDs and names from your platform. The presence operators don't require selected values.
If you select two tags, either tag is enough to match. To require both, add two positive conditions in an All group.
An empty selection can't pass include any of and excludes nothing with don't include any of.
Custom fields
Custom Field has a field, an operator, and a comparison value. Platforms with structured field metadata offer a field selector. Others let you enter a field name.
The operators are Equals, Does not equal, Contains, Does not contain, Starts with, Ends with, Wildcard match, Is set, and Is not set. The starting operator is Equals, with blank comparison text.
Is set and Is not set don't use comparison text. To target a missing or empty field, use Is not set rather than leaving an Equals value blank.
All other comparisons require a nonempty, truthy field value. That means:
- A missing field doesn't pass Does not equal with
Enterprise. - A numeric
0or booleanfalsealso fails this check. - The text values
"0"and"false"aren't empty and can be compared.
For presence checks, zero and false count as set. Whitespace also counts as set.
Ordinary text comparisons are case-sensitive, support comma-separated alternatives, and can compare numeric-looking equality values numerically. See the shared operator reference.
Event history
Event History appears only when your platform supports it. It compares the count for a selected event name.
| Choose | When it matches |
|---|---|
| Has fired | The event count is greater than zero. |
| Has not fired | The event count is zero. |
| Fired at least | The event count is greater than or equal to your count. |
| Fired less than | The event count is less than your count. |
| Fired exactly | The event count equals your count. |
The starting operator is Has fired. The final three operators show a numeric count field with a minimum of zero. A missing threshold is evaluated as zero.
An event absent from the loaded profile has a count of zero, so Has not fired can match without an event record. This can also happen when loading fails and leaves an empty profile.
There's no date or rolling-window field. The condition compares the count your platform returns. It doesn't check a RightMessage browser event or ask for events within the last seven days.
Purchase history
Purchase History also depends on support from your platform.
| Choose | Select | When it matches |
|---|---|---|
| Has purchased | One or more products | At least one selected product has a positive purchase count. |
| Has not purchased | One or more products | None of the selected products has a positive purchase count. |
| Has purchased anything | No product selection | At least one product has a positive purchase count. |
| Has not purchased anything | No product selection | No product has a positive purchase count. |
The starting operator is Has purchased, with no products selected. Multiple selections mean any selected product, not all products. An empty selection fails Has purchased and passes Has not purchased.
These conditions use your platform's product IDs and purchase counts. They don't compare an order's status, a purchase amount, or a date window. A record with a zero purchase count doesn't count as a purchase.
Total revenue
Total Revenue compares the profile's numeric revenue total. It offers Equals, Does not equal, Greater than, Less than, Greater than or equal to, and Less than or equal to.
A newly reset condition starts with Equals and a blank numeric value. The value field allows nonnegative values in increments of 0.01. A blank threshold isn't a configured revenue target.
A missing revenue total counts as zero. Equals with 0 can therefore match a profile without a revenue total, not just a confirmed zero-spend contact.
There's no currency selector, currency conversion, product filter, or date window. Use your platform's units and revenue definition. This total isn't the same as revenue attributed to a RightMessage offer.
Examples
WorkForge (opens in a new tab) could use an All group to require a customer tag and exclude a cancelled tag.
An unidentified visitor can also have an empty tag collection. If your negative tag rule should apply only to recognized contacts, pair it with Subscriber.
This example combines Subscriber with a Team Size custom field that Is set:
It requires an identified contact and a field value, not a particular team size.
Things to know
Loading and missing data
A rule can stay unresolved while a contact profile loads. Once loading finishes, the condition uses the loaded copy of that profile and its available values.
A failed load also finishes the loading state. Empty tag, list, event, and purchase collections, along with a missing revenue total, can then affect negative comparisons. A negative match doesn't always mean your platform confirmed that the contact lacks that tag, event, or purchase.
A disconnected source returns no match. It isn't the same as an identified contact with an empty list.
How long the data lasts
RightMessage caches profiles separately for each project, connection, platform, and contact identity. The cache duration is configurable. It falls back to five minutes, and a zero duration disables persistent profile caching.
Cache expiration doesn't make RightMessage continuously check for changes. The current in-memory copy can stay in use until the next profile load or relevant update.
These conditions have no separate retention window. They follow the contact profile and the history your platform supplies. They don't read every CRM change instantly or infer contact data from an email address alone.