Overview
Filters allow you to export only the data that meets specific criteria, helping you work with exactly the information you need. When you add multiple filters to an export, all filter conditions must match (AND logic) for a record to be included in your export.
For example, if you filter products by "Status equals Active" AND "Vendor contains Nike", only active products from Nike will be exported.
Filter Result Counts
When you apply filters, you may see a count of matching objects displayed (for example, "Products (222)" in the interface). This count appears when Shopify's API can provide an exact count before the export starts.
In some cases, the count may not be displayed. This happens when Shopify cannot determine the exact number of matching records in advance. Your export will still work correctly-you'll just need to run the export to see how many records match your filters.
Filter Types
Different types of data fields support different filtering options. Here are the available filter types and their options:
Text Filters
Used for text fields like product titles, handles, vendor names, and email addresses.
Available relations:
is equal to – Exact match (case-insensitive)
contains – Field contains the search term
is not equal to – Excludes exact matches
starts with – Field begins with the search term
ends with – Field ends with the search term
Example: Filter products where "Title contains shirt" will match "T-Shirt", "Blue Shirt", and "Shirt Dress".
Number Filters
Used for numeric fields like prices, inventory quantities, and weights.
Available relations:
is equal to – Exact numeric match
is not equal to – Excludes the specified number
is greater than – Value is higher than specified
is less than – Value is lower than specified
Example: Filter products where "Price is greater than 50" will match all products priced above $50.
Datetime Filters
Used for date and time fields like created dates, updated dates, and published dates.
Available relations:
is equal to – Matches a specific date/time
is greater than – After the specified date/time
is less than – Before the specified date/time
in the last X days – Within the last complete days (see Relative Date Filters)
in the last X hours – Within the last complete hours (see Relative Date Filters)
in the last X minutes – Within the last complete minutes (see Relative Date Filters)
Example: Filter orders where "Created at is greater than 2025-01-01" will match all orders created after January 1st, 2025.
Boolean Filters
Used for true/false fields like "Gift card" for products.
Available relations:
is equal to – Select either true or false
Example: Filter products where "Gift card is equal to true" will match only gift card products.
Select Filters
Used for fields with predefined options like product status, order fulfillment status, or financial status.
Available relations:
is equal to – Matches the selected option
is not equal to – Excludes the selected option
Example: Filter products where "Status is equal to active" will match only products with active status.
Tag Filters
Used for filtering by tags on products, orders, customers, and other tagged resources.
Available relations:
contains any of the tags – Matches records with any of the specified tags (comma-separated)
contains – Record has the specified tag
does not contain – Record does not have the specified tag
Example: Filter products where "Tag contains any of the tags summer,sale" will match products tagged with either "summer" or "sale".
ID Filters
Used for filtering by specific IDs like product IDs, variant IDs, customer IDs, or collection IDs.
Available relations:
contains any of the IDs – Matches records with any of the specified IDs (comma-separated)
is equal to – Matches a specific ID
is not equal to – Excludes a specific ID
Example: Filter products where "Product ID contains any of the IDs 123,456,789" will match only products with those three IDs.
Country Code Filters
Used for filtering by country codes, such as billing or shipping countries for orders.
Available relations:
is any of the following – Matches any of the selected countries
is not any of the following – Excludes the selected countries
Example: Filter orders where "Shipping country is any of the following US,CA,GB" will match orders shipping to the United States, Canada, or Great Britain.
Relative Date Filters
Relative date filters (in the last X days, hours, or minutes) use full period boundaries rather than rolling time windows. This provides more predictable and consistent results.
How Full Period Boundaries Work
Instead of counting backwards from the current moment, relative date filters export data from the last complete time periods. This means your results are based on finished time blocks, not moving windows.
Last X Days
This filter uses your shop's timezone to determine the start and end of each day.
Example: If it's 10:00 AM on November 13th and you filter for "in the last 1 day":
Exports data from: November 12 at 00:00:00 up to (but not including) November 13 at 00:00:00
Does NOT export: November 12 at 10:00 AM to November 13 at 10:00 AM
The filter exports the last complete day (November 12), not the last 24 hours from now. The time range includes the start time (≥) and excludes the end time (<).
Last X Hours
This filter exports data from the last complete hours.
Example: If it's 15:43 and you filter for "in the last 3 hours":
Exports data from: 12:00:00 up to (but not including) 15:00:00 (the last 3 complete hours)
Does NOT export: Data from 12:43 to 15:43
The filter captures hours 12, 13, and 14-three complete one-hour periods. The time range includes the start time (≥) and excludes the end time (<).
Last X Minutes
This filter exports data from the last complete minutes.
Example: If it's 15:43:30 and you filter for "in the last 30 minutes":
Exports data from: 15:13:00 up to (but not including) 15:43:00 (the last 30 complete minutes)
Does NOT export: Data from 15:13:30 to 15:43:30
The filter captures 30 complete one-minute periods. The time range includes the start time (≥) and excludes the end time (<).
Filtering Tips
Orders: Created At vs Processed At
When filtering orders, you'll notice two similar datetime fields: Created At and Processed At. Understanding the difference is critical for accurate filtering.
Processed At is when the order actually took place-the real order date. Created At is when the order was added to Shopify's database.
For orders placed through your online store, these dates are the same. The difference becomes important when historical orders are imported through the API or apps.
Example: Imagine you're migrating from another platform and import 500 historical orders from 2023 on January 15th, 2025:
Created At: January 15th, 2025 (when they entered Shopify's database)
Processed At: Various dates in 2023 (when customers actually placed them)
If you filter for "Created At in the last 7 days" on January 20th, you'll get all 500 historical orders plus any new orders from the past week-probably not what you want. If you filter for "Processed At in the last 7 days," you'll only get orders that were actually placed in the past week.
Which Should You Use?
Use Processed At for most filtering scenarios because it represents when the order actually took place. This is especially important if you:
Import historical orders from other platforms or systems
Use apps that create orders in Shopify on behalf of other sales channels
Need to analyze order trends by actual order date
Use Created At only when you specifically need to know when orders were added to your Shopify database, such as tracking when bulk imports occurred.
