This is the complete list of contact filters, grouped by the five categories in the Add filter panel, with the operators each field offers. For how operators and filter groups work, see How filters work in Spoks. For how filters behave inside flows, see Using filters in flows.
What you can filter by
Contact filters are grouped into five categories. In plain terms:
Contact Details — filter by name, email address, phone number, tags, forms a contact has submitted, when they were created or added, last active date, signup source (Direct, List import, Shopify, Webhook), referrer, and lead score.
Location & Address — filter by country, state, province or region, city, postal or ZIP code, and street address. Use Country to target contacts by geography — for example, to reach English- and French-speaking customers by their country, or to build region-specific audiences.
Shopify activity & orders — filter by products purchased, total number of orders, total amount spent, last purchase amount, the dates of first purchase, last purchase, last checkout, and last cart update, and discount or coupon usage. Use these for repeat customers, high-value or VIP customers, recent buyers, and product-specific audiences.
Communication consents — filter by email marketing consent and SMS marketing consent (subscribed, not subscribed, or unsubscribed) for each channel.
Engagement & Activity — filter by whether a contact received, opened, or clicked your emails and SMS, and whether they viewed products or collections. These are behavioral filters, counted over a timeframe.
The tables below list every field with the operators it offers.
Contact Details
Field | Operators |
Name | contains, doesn't contain, equals, does not equal, starts with, ends with, is not set, is set |
Phone | contains, doesn't contain, equals, does not equal, starts with, ends with, is not set, is set |
contains, doesn't contain, equals, does not equal, starts with, ends with, is not set, is set | |
Tags (select from your tags) | contains, doesn't contain, is not set, is set |
Submitted Forms (select from your forms) | contains, doesn't contain, is not set, is set |
Created | is after, is before, is between, is between dates, more than, less than, is not set, is set |
Last active | is after, is before, is between, is between dates, more than, less than, is not set, is set |
System source (Direct, List import, Shopify, Webhook) | contains, doesn't contain, is not set, is set |
Referrer | contains, doesn't contain, equals, does not equal, starts with, ends with, is not set, is set |
Last conversion | is after, is before, is between, is between dates, more than, less than, is not set, is set |
Last note | is after, is before, is between, is between dates, more than, less than, is not set, is set |
Score | equals, does not equal, is greater than, is less than, is greater than or equal to, is less than or equal to |
Location & Address
Field | Operators |
Country (select from the list) | equals, does not equal, is not set, is set |
State / Region (select from the list) | equals, does not equal, is not set, is set |
City | contains, doesn't contain, equals, does not equal, starts with, ends with, is not set, is set |
Postal code | contains, doesn't contain, equals, does not equal, starts with, ends with, is not set, is set |
Address | contains, doesn't contain, equals, does not equal, starts with, ends with, is not set, is set |
Shopify activity & orders
Field | Operators |
Products purchased (select products; optional "All collections" scope) | contains, doesn't contain, is not set, is set |
Last purchase | is after, is before, is between, is between dates, more than, less than, is not set, is set |
Total orders | equals, does not equal, is greater than, is less than, is greater than or equal to, is less than or equal to |
First purchase | is after, is before, is between, is between dates, more than, less than, is not set, is set |
Last checkout | is after, is before, is between, is between dates, more than, less than, is not set, is set |
Last cart update | is after, is before, is between, is between dates, more than, less than, is not set, is set |
Total spent | equals, does not equal, is greater than, is less than, is greater than or equal to, is less than or equal to |
Last purchase amount | equals, does not equal, is greater than, is less than, is greater than or equal to, is less than or equal to |
Discount used | Behavioral — see Engagement & Activity below for the frequency and timeframe options; Where sub-fields: Discount name, Discount code |
Communication consents
Field | Operators |
Email marketing consent (Subscribed, Not subscribed, Unsubscribed) | equals, does not equal, is not set, is set |
SMS marketing consent (Subscribed, Not subscribed, Unsubscribed) | equals, does not equal, is not set, is set |
Engagement & Activity
Each field here is a behavioral filter, built from three parts: a frequency (at least once, equals, does not equal, is greater than, is less than, is at least, is at most, with a count), a timeframe (after, before, between, between dates, more than, less than, over all time), and optional Where sub-conditions. The Where sub-fields available per event:
Field | Where sub-fields |
Received Email | Email Subject |
Opened email | Email Subject |
Clicked email | Email Subject, Host, URL |
Received SMS | SMS text |
Clicked SMS | SMS text, Host, URL |
Viewed Products | Product, Product Name, Category, Product Price, Product Tags, Collection, Collection Name |
Viewed Collections | Collection, Collection Name |
Discount used (in Shopify activity & orders) uses the same frequency and timeframe options, with Where sub-fields Discount name and Discount code.