Shopify-based customer segment filters

Use this reference guide to understand the filter names, operators, and values that are used to build customer segments that are based on the default Shopify filters.

Abandoned checkout date

abandoned_checkout_date

Includes customers by the date that they last abandoned their cart.

Operators Exactly on date: =
Not on date: !=
On or before date: <=
Before date: <
On or after date: >=
After date: >
Between dates: BETWEEN <date1> AND <date2>
Values
Format Absolute date: YYYY-MM-DD
Date offset examples: -4w, -10y
Named date:
  • In the last 7 days: >= 7_days_ago
  • In the last 30 days: >= 30_days_ago
  • In the last 90 days: >= 90_days_ago
  • In the last 12 months: >= 12_months_ago
The named dates are default values and can't be changed. For custom dates, use a date offset
Example

Include customers who last abandoned their cart within the last week: abandoned_checkout_date >= 7_days_ago

Include customers who last abandoned their cart within the last eight months: abandoned_checkout_date > -8m

Notes Date values are based on entire days and depend on which time zone your store is in.

Amount spent

amount_spent

Includes customers based on how much money they have spent in your store.

Operators Is equal to: =
Is not equal to: !=
Greater than: >
Smaller than: <
Smaller or equal to: <=
Greater or equal to: >=
Between: BETWEEN
Values
Format Number range: # AND #
Number: #
Decimal number: The decimal point (.) is used as the decimal separator.
Thousand separators, such as commas or spaces, are not accepted.
Language-specific formatted numbers are not accepted.
Example Include customers who have spent 1 to 999.99 in your store:
amount_spent BETWEEN 1 AND 999.99
Notes
  • The currency that is used is based on the currency that is selected for your store. Don't specify which currency is used by entering a currency symbol.
  • BETWEEN includes both the start and the end values. For example, amount_spent BETWEEN 1 AND 100 includes customers who have spent at least 1 and as much as 100.

Cities

customer_cities

Includes customers who have an address in the specified city. Customers who have multiple addresses might be included in more than one customer segment that uses this filter.

Operators Contains this exact city: CONTAINS
Doesn't contain this exact city: NOT CONTAINS
Values
Format countryCode-regionCode-cityCode
Example Include customers who have an address in New York City:
customer_cities CONTAINS 'US-NY-NewYorkCity'
Notes To find a city, you can start typing the name of the city, and then select the appropriate value from the list that is displayed.

Countries or regions

customer_countries

Includes customers who have an address in the specified country or region. Customers who have multiple addresses might be included in more than one customer segment that uses this filter.

Operators Contains this exact country or region: CONTAINS
Doesn't contain this exact country or region: NOT CONTAINS
Values Use the ISO two-letter country code.
Format
Example Include customers who have an address in the United States:
customer_countries CONTAINS 'US'
Notes To find a country, you can start typing the name of the country, and then select the appropriate value from the list that is displayed.

Customer account status

customer_account_status

Includes the customers who have the specified customer account status.

Operators Is equal to: =
Is not equal to: !=
Values Declined: 'DECLINED' The customer was invited to create an account, but declined.
Disabled: 'DISABLED' The customer has not created an account.
Enabled: 'ENABLED' The customer created an account.
Invited: 'INVITED' The customer has been invited to create an account.
Format
Example Include customers who have been invited to create an account, but declined:
customer_account_status = 'DECLINED'
Notes

Customer added date

customer_added_date

Includes customers based on the date that they were added to your store.

Operators Exactly on date: =
Not on date: !=
On or before date: <=
Before date: <
On or after date: >=
After date: >
Between dates: BETWEEN <date1> AND <date2>
Values
Format Absolute date: YYYY-MM-DD
Date offset examples: -4w, -10y
Named date:
  • In the last 7 days: >= 7_days_ago
  • In the last 30 days: >= 30_days_ago
  • In the last 90 days: >= 90_days_ago
  • In the last 12 months: >= 12_months_ago
The named dates are default values and can't be changed. For custom dates, use a date offset.
Example

Include customers who were added within the last week:
customer_added_date >= 7_days_ago

Include customers who were added within the last eight months:
customer_added_date > -8m

Include customers who were added during a specific date range:
customer_added_date BETWEEN 2022-12-01 AND 2022-12-31

Notes Date values are based on entire days and depend on which time zone your store is in.

Customer email domain

customer_email_domain

Includes customers whose email address belongs to the specified domain. The domain name is the part of the email address after the @ symbol, for example, gmail.com.

Operators Is equal to: =
Is not equal to: !=
Values

The following domain names are offered as suggestions. You're not limited to these domain names. You can manually enter any other valid domain names.

gmail.com: 'gmail.com'
yahoo.com: 'yahoo.com'
hotmail.com: 'hotmail.com'
aol.com: 'aol.com'
msn.com: 'msn.com'
live.com: 'live.com'
outlook.com: 'outlook.com'
yahoo.ca: 'yahoo.ca'
Format
Example Include customers whose email domain is shopify.com:
customer_email_domain = 'shopify.com'
Notes

Customer language

customer_language

Includes customers based on the language that the customer uses to communicate with your store.

Operators Is equal to: =
Is not equal to: !=
Values Use the ISO 639-1 two-letter language code.
Format

The following values are examples of some common ISO language codes. Your data isn't limited to these language codes. You can manually enter any other valid language codes, but the values that are offered to you as suggested values in the editor are the only ones that are available in your customer data.

English: 'en'
French: 'fr'
Spanish: 'es'
German: 'de'
Italian: 'it'
Japanese: 'ja'
Russian: 'ru'
Example

Include customers who communicate with your store in English:
customer_language = 'en'

Exclude customers who communicate with your store in Canadian English:
customer_language != 'en‑CA'

Notes
  • You can add the locale ISO code to the value to specify a dialect for that language. For example, you can use 'en‑US' for the United States and 'en‑GB' for the United Kingdom, or 'pt‑PT' for Portugal and 'pt‑BR' for Brazil.
  • The filter value is explicit and doesn't act as a wildcard. For example, if the filter value is 'en', then your results only include the customers whose language is set to 'en'. Your results do not include customers whose language is set to 'en‑GB', 'en‑CA', and so on.

Customer tags

customer_tags

Includes customers based on their tags.

Operators Contains this exact tag: CONTAINS
Doesn't contain this exact tag: NOT CONTAINS
Values The name of a customer tag.
Format
Example Include customers who have the GoldStatus tag:
customer_tags CONTAINS 'GoldStatus'
Notes

Tags are not case sensitive.

Learn more about tags and their considerations.

Email subscription status

email_subscription_status

Includes customers based on whether they are subscribed to your marketing email.

Operators Is equal to: =
Is not equal to: !=
Values Not subscribed: 'NOT_SUBSCRIBED' The customer hasn't subscribed to your marketing email.
Subscribed: 'SUBSCRIBED' The customer is subscribed to your marketing email.
Pending: 'PENDING' The customer is in the process of subscribing to your marketing email.
Invalid: 'INVALID' The customer’s email address marketing state is invalid.
Format
Example Include customers who have subscribed to your email marketing:
email_subscription_status = 'SUBSCRIBED'
Notes

Last order date

last_order_date

Includes customers who placed their last order on the date specified.

Operators Exactly on date: =
Not on date: !=
On or before date: <=
Before date: <
On or after date: >=
After date: >
Between dates: BETWEEN <date1> AND <date2>
Values
Format Absolute date: YYYY-MM-DD
Date offset examples: -4w, -10y
Named date:
  • In the last 7 days: >= 7_days_ago
  • In the last 30 days: >= 30_days_ago
  • In the last 90 days: >= 90_days_ago
  • In the last 12 months: >= 12_months_ago
The named dates are default values and can't be changed. For custom dates, use a date offset.
Example

Include customers whose last order was placed since last week:
last_order_date >= 7_days_ago

Include customers whose last order was placed since eight months ago:
last_order_date > -8m

Notes Date values are based on entire days and depend on which time zone your store is in.

Number of orders

number_of_orders

Includes customers based on the number of orders that they have placed in your store.

Operators Is equal to: =
Is not equal to: !=
Greater than: >
Smaller than: <
Smaller or equal to: <=
Greater or equal to: >=
Between: BETWEEN
Values The value that you enter must be a whole number.
Format Number range: # AND #
Number: #
Example Include customers who have placed more than 10 orders:
number_of_orders > 10
Notes BETWEEN includes both the start and the end values. For example, number_of_orders BETWEEN 1 AND 100 includes customers who have placed at least 1 order and as many as 100 orders.

Predicted spend tier

predicted_spend_tier

Includes customers who are within the specified predicted spend tier.

This filter is only available if your store made more than 100 sales.

Learn more about predicted spend tier.

Operators Is equal to: =
Is not equal to: !=
Values 'HIGH'
'MEDIUM'
'LOW'
Format
Example Include customers who are in the HIGH tier:
predicted_spend_tier = 'HIGH'
Notes

Product subscription status

product_subscription_status

Includes customers who have the specified product subscription status.

This filter is only available if you use a subscription app.

Operators Is equal to: =
Is not equal to: !=
Values Active: 'SUBSCRIBED' The customer has an active product subscription.
Cancelled: 'CANCELLED' The customer has canceled their product subscription.
Expired: 'EXPIRED' The customer's product subscription has expired.
Failed: 'FAILED' The customer has a failed payment.
Never subscribed: 'NEVER_SUBSCRIBED' The customer never subscribed.
Paused: 'PAUSED' The customer has paused their product subscription.
Format
Example Include customers who have an active product subscription:
product_subscription_status = 'SUBSCRIBED'
Notes

Products purchased

products_purchased()

Includes customers who purchased the specified product. In addition, you can include customers who bought the product during a specified date range.

Operators Contains this exact product ID: CONTAINS
Doesn't contain this exact product ID: NOT CONTAINS
Values Product ID
Format

Supported time ranges:

All time: products_purchased()
On or before date: products_purchased(before: <date>)
On or after date: products_purchased(after: <date>)
Date range: products_purchased(before: <date>, after: <date>)

Supported date formats:

Absolute date: YYYY-MM-DD
Date offset examples: -4w, -10y
Named date:
  • In the last 7 days: >= 7_days_ago
  • In the last 30 days: >= 30_days_ago
  • In the last 90 days: >= 90_days_ago
  • In the last 12 months: >= 12_months_ago
The named dates are default values and can't be changed. For custom dates, use a date offset.
Example Since January 1, 2022 until today:
products_purchased(after: 2022-01-01) CONTAINS 3778915041302
Within the last 30 days:
products_purchased(after: 30_days_ago)
Before January 1, 2022:
products_purchased(before: 2022-01-01)

In date ranges, the order of the before and after parameters doesn't matter. You can express between January 1, 2022 and June 1, 2022 (inclusive) in either of the following ways:

Between January 1, 2022 and June 1, 2022 (inclusive):
products_purchased(after: 2022-01-01, before: 2022-06-01) CONTAINS 3778915041302
Between January 1, 2022 and June 1, 2022 (inclusive):
products_purchased(before: 2022-06-01, after: 2022-01-01) CONTAINS 3778915041302
Notes
  • When you create the customer segment, you can select the product by its name or image from the list that's displayed. Alternatively, you can start typing the title of the product, and then select it from the list.
  • The product ID, not the product title, is entered into the code. When you hover your cursor over the product ID, the product title and image are displayed.

SMS subscription status

sms_subscription_status

Includes customers based on whether they are subscribed to your marketing SMS text messages.

Learn more about collecting customer contact information.

Operators Is equal to: =
Is not equal to: !=
Values Subscribed: 'SUBSCRIBED' The customer is subscribed to your marketing SMS text messages.
Pending: 'PENDING' The customer is in the process of subscribing to your marketing SMS text messages.
Redacted: 'REDACTED' The customer has pending redaction because of a GDPR erasure request
Unsubscribed: 'UNSUBSCRIBED' The customer has unsubscribed from your marketing SMS text messages.
Not subscribed: 'NOT_SUBSCRIBED' The customer never subscribed to your marketing SMS text messages.
Format
Example Include customers who have subscribed to your marketing SMS text messages:
sms_subscription_status = 'SUBSCRIBED'
Notes

States or provinces

customer_regions

Includes customers who have an address in the specified region within a country. Customers who have multiple addresses might be included in more than one customer segment that uses this filter.

Operators Contains this exact location: CONTAINS
Doesn't contain this exact location: NOT CONTAINS
Values Use the ISO country code with the ISO 3166-2 subdivision code.
Format
Example Include customers who have an address in New York State:
customer_regions CONTAINS 'US-NY'
Notes To find a region, you can start typing the name of the region, and then select the appropriate value from the list that is displayed.

Ready to start selling with Shopify?

Try it free