Skip to main content
FlexEngage filters let you define exactly which customers receive a message. Each filter evaluates a specific piece of customer data and returns customers that match your criteria. You can use filters individually or combine them for precise targeting. Every filter operates on the customer identity level. A customer identity ties together all of a customer’s accounts, vehicles, and contact info across your locations. This means filters automatically account for multi-location activity. Filters UI

Wash History Filters

This set of filters specifically allow you to re-target based on wash behavior. These are useful for retail customers to re-target and get them back on site, and for members to ensure they are using the membership at a base frequency (which increases LTV).

Total Washes

Counts the total number of paid washes a customer has completed across all locations. This only counts orders associated to a package with count as wash set to true.
OperatorsValue
= != > >= < <=A number (e.g., 5)

Total Washes Within X Days

Counts the number of paid washes a customer completed within a rolling window of days. Customers must have been created before the start of that window to qualify. This filter is useful for identifying customers whose visit frequency has changed recently.
OperatorsValue
= != > >= < <=Two numbers: a wash count and a number of days (e.g., 0 washes in 30 days)

Washes Since Subscription Status Change

Counts the number of paid washes a customer has completed since their most recent vehicle subscription status change. This looks at the latest entry in the subscription status log and counts all qualifying orders placed after that date.
OperatorsValue
= != > >= < <=A number (e.g., 3)

Membership Filters

This set of filters is to allow you to segment members and specific activity around sign up, cancellation, number of vehicles, etc. with date range ability. This lets you test a new messaging concept specifically to new members only so you don’t risk large unintended effects.

Is Ever a Member

Checks whether a customer has ever had a membership with at least one vehicle subscription, regardless of current status.
OperatorsValue
=True or False

Membership Status

Evaluates the overall membership status of a customer across all their vehicle subscriptions. The logic accounts for customers with multiple subscriptions:
  • Active: The customer has at least one subscription with an active or payment-failed status.
  • Cancelled: All of the customer’s subscriptions are cancelled (none are active or in another state).
  • Invalid CC: All of the customer’s subscriptions are in the invalid credit card state (none are active, cancelled, or in another state).
OperatorsValue
=Active, Cancelled, or Invalid CC

Number of Vehicle Subscriptions

Counts how many vehicle subscriptions a customer has with a specific status.
OperatorsValue
= != > >= < <=A number and a subscription status (e.g., 2 subscriptions with Active status)

Current Vehicle Subscription Status

Checks the current status of a specific vehicle’s subscription. This filter requires trigger context (a license plate), so it is only available in Smart Messaging campaigns, not Scheduled Blasts.
OperatorsValue
in not inA vehicle subscription status (e.g., Active, Cancelled)
This filter is a trigger filter and is only available in Smart Messaging campaigns that fire in response to a real-time event, such as a wash.

Membership Signed Up At

Checks the date a customer’s earliest active subscription was created. The date is evaluated in the car wash’s local timezone.
OperatorsValue
= != > >= < <=A date (e.g., 2025-01-15)

Membership Cancelled At

Checks the date of a customer’s most recent cancellation. Only matches customers whose subscriptions are all cancelled (no active subscriptions remain). The date is evaluated in the car wash’s local timezone.
OperatorsValue
= != > >= < <=A date (e.g., 2025-03-01)

Membership Invalid CC At

Checks the date of a customer’s most recent invalid credit card status change. Only matches customers whose subscriptions are all in the invalid CC state. The date is evaluated in the car wash’s local timezone.
OperatorsValue
= != > >= < <=A date (e.g., 2025-02-01)

Billing Attempts

Checks the number of billing attempts on a customer’s membership. This is useful for identifying members whose payments are failing repeatedly.
OperatorsValue
= != > >= < <=A number (e.g., 3)

Days Since Latest Status

Calculates the number of days since a customer’s most recent vehicle subscription status change.
OperatorsValue
= != > >= < <=A number of days (e.g., 7)

Membership Anniversary

Identifies customers approaching an anniversary of their membership sign up. You specify how many days before the anniversary to match and the month interval for the anniversary cycle. The sign up date is evaluated in the car wash’s local timezone. For example, setting 5 days before every 12 month anniversary will match members whose yearly anniversary is exactly 5 days away.
OperatorsValue
=Two numbers: days before anniversary and month interval (e.g., 5 days before every 12 month anniversary)
This is a recurring filter and is only available on Scheduled Blasts with a recurring send schedule.

Offer Expiring in X Days

Identifies customers whose promotional offer (promotion, upsell, or downsell) on an active subscription is about to expire. The filter checks that the subscription has exactly one billing cycle remaining and that the next billing date is a specific number of days away.
OperatorsValue
=A number of days and one or more offers (promotions, upsells, or downsells)
This is a recurring filter and is only available on Scheduled Blasts with a recurring send schedule.

Segmentation Filters

These filters allow you to use our CRM functionality to further refine and target customers. You can use these to build A/B tests and to customize messaging.

Tag

Checks whether a customer has a specific tag assigned. Tags are labels your team applies to customer accounts for internal organization.
OperatorsValue
in not inA tag from your tag list

CRM List

Checks whether a customer belongs to a specific CRM list. CRM lists are manually or automatically curated groups of customers.
OperatorsValue
in not inA CRM list

Customer Primary Car Wash

Checks which car wash location a customer is associated with as their primary location.
OperatorsValue
= !=A car wash location from your account

Phone Number

Matches a customer by their exact phone number. This is useful for testing a campaign with a single recipient before sending to a broader audience.
OperatorsValue
=A phone number

Loyalty Filters

Loyalty Points Balance

Checks a customer’s current loyalty points balance across all their accounts.
OperatorsValue
= != > >= < <=A number (e.g., 100)

Campaign History Filters

These filters are critical for building customer journeys.

Received Scheduled Blast

Checks whether a customer has already received a specific Scheduled Blast campaign.
OperatorsValue
= (has received) != (has not received)A Scheduled Blast campaign from your account

Received Smart Messaging

Checks whether a customer has already received a specific Smart Messaging campaign.
OperatorsValue
= (has received) != (has not received)A Smart Messaging campaign from your account

Redeemed Promotion

Checks whether a customer has redeemed a specific promotion by looking at their order history for line items tied to that promotion.
OperatorsValue
= (has redeemed) != (has not redeemed)A promotion from your account