Skip to main content

Understanding Filters

Learn how to use filters to narrow down your exports to specific data sets

Updated over 2 weeks ago

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, vendor names, and email addresses.

Available relations:

  • contains any of – Field contains any of the comma-separated search terms

  • is equal to – Exact match (case-insensitive)

  • contains – Field contains the search term

  • is not equal to – Excludes exact matches

Example: Filter products where "Title contains shirt" will match "T-Shirt", "Blue Shirt", and "Shirt Dress".

Handle Filters

Used for filtering by product handles and other handle fields.

Available relations:

  • equals any of – Matches handles exactly from a comma-separated list. Use this when you know the exact handles you want to export.

  • contains any of – Matches handles that contain any of the comma-separated search terms. Use this for partial matching.

  • contains – Handle contains the search term

  • is not equal to – Excludes exact matches

Examples:

  • Filter products where "Handle equals any of blue-shirt,red-pants,green-hat" will match only products with those exact handles.

  • Filter products where "Handle contains any of shirt,pants" will match products like "blue-shirt", "red-shirt-xl", "cargo-pants", "yoga-pants-black", etc.

Title Filters

Used for filtering by blog/article title (e.g. "Blog title" on article exports).

Available relations:

  • equals any of – Matches titles exactly from a comma-separated list. Use when you know the exact titles you want to export.

  • is equal to – Exact match for a single title

  • contains – Title contains the search term

  • is not equal to – Excludes exact matches

Example: Filter articles where "Blog title equals any of My Post,Another Post" will match only articles with those exact titles. Separate multiple titles with commas.

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 (<).

Metafield Filters

Metafield filters are a separate type of filter that controls which metafield columns appear in your export file. While the row-level filters described above control which records (products, orders, etc.) are exported, metafield filters control which metafield columns are included.

When to use metafield filters

Metafield filters are useful when your store has many metafields but you only need a few of them in your export. Without metafield filters, every metafield defined in your store will appear as a column, which can make your export file wide and harder to work with.

Example use cases:

  • Export only metafields in the custom namespace, skipping any from shopify or third-party app namespaces

  • Export a specific metafield like custom.warranty_length without including all other metafields

  • Exclude metafields from a particular app by using "namespace does not contain app_name"

How to set metafield filters

  1. On the export create page, make sure a metafield field group is selected (e.g., "Metafields", "Variant Metafields")

  2. Click the filter icon that appears next to the group name

  3. Add one or more conditions to filter which metafields are included

  4. Click Save to apply the filters

A Filtered badge appears next to any metafield group that has active filters, so you can tell at a glance which groups are filtered.

Metafield filter columns

Each condition targets one of three columns:

  • Namespace - matches against the metafield namespace (e.g., custom, shopify, my_app)

  • Key - matches against the metafield key (e.g., warranty_length, color, size)

  • Namespace and key - matches against the full identifier in namespace.key format (e.g., custom.warranty_length)

Metafield filter relations

The following filter relations are available:

  • equals - exact match (e.g., namespace equals custom)

  • equals any of - matches any value from a comma-separated list (e.g., namespace equals any of custom, my_app)

  • is not equal to - excludes an exact match

  • starts with - matches values that begin with the given text

  • ends with - matches values that end with the given text

  • contains - matches values that contain the given text anywhere

  • does not contain - excludes values that contain the given text

Multiple conditions

When you add multiple conditions, all conditions must match (AND logic) for a metafield to be included. For example, if you add:

  • Namespace equals custom

  • Key starts with seo_

Only metafields with namespace custom and a key starting with seo_ will appear in the export (e.g., custom.seo_title, custom.seo_description).

Per-group filtering

Metafield filters are set per field group. For data types with multiple metafield groups (e.g., Products has both "Metafields" and "Variant Metafields"), you can set different filters for each group. For example, you might include all product metafields but only export variant metafields in the custom namespace.

Metafield filters and saved configurations

Metafield filters are saved along with the rest of your export configuration. When you clone a job or load a saved configuration, all metafield filters are restored.

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.

Did this answer your question?