EZ Exporter Custom Filters

You can filter your data further using Custom Filters, which can be found in the Data Settings.

Advanced Custom Filtering of your Shopify data

Custom Filters give you the flexibility to filter your data based on values of one or more additional fields and a set of conditions assigned to them. When using multiple conditions, you can specify whether the data should match any or all of those conditions. You can get really creative here.

A couple of examples:

I want to create a report of orders placed by VIP customers that are shipping outside of Canada where the total amount is over 1000.

To meet the conditions above, simply set your custom filters as shown below.

Data matching all of the following conditions:

  • Shipping Country is not equal to Canada
  • Customer Tags contains vip
  • Total is greater than 1000

Another example.

I want to create a report of only the orders shipping to US, Canada, or Mexico.

Data matching any of the following conditions:

  • Shipping Country Code is equal to US
  • Shipping Country Code is equal to CA
  • Shipping Country Code is equal to MX

Here's the full list of conditions you can use:

  • is equal to (e.g. 1 = 1)
  • is not equal to (e.g. 1 != 2)
  • is equal to any (use a comma-separated list of values, e.g. "US" is equal to any of: US,MX,CA)
  • is not equal to any (use a comma-separated list of values, e.g. "US" is not equal to any of: AU,GB,CA)
  • contains (e.g. "slippers, shoes, socks" contains shoes)
  • does not contain (e.g. "slippers, shoes, socks" does not contain pants)
  • starts with (e.g. "SKU12345" starts with SKU)
  • ends with (e.g. "SKU12345" ends with 345)
  • is greater than (e.g. 2 > 1)
  • is less than (e.g. 1 < 2)
  • is blank (data is empty)
  • is not blank (data is not empty)

Special Variables

You can use the following variables as values in the Custom Filters:

  • {{ last_successful_run }} - The start timestamp of the last successful run.
  • {{ last_successful_run_max_id - The max resource ID (i.e. the order ID, product ID, customer ID, etc.) of the last successful run. This value will be 0 if the last successful run had no data.
  • {{ last_successful_run_with_data }} - The start timestamp of the last successful run that contained data.
  • {{ last_successful_run_with_data_max_id }} - The max resource ID of the last successful run that contained data.

Special Use Cases

There are some special cases that we handle as well which have come up while working with our customers.

Filtering based on the value of the highest record ID from the last successful run

If you have a high-volume Shopify store, there may be rare cases when a new order comes in while the report job is still running.

If you're relying on the Since Last Successful Run filter for the order creation date to only export new orders, you might want to include the Custom Filter below as well to ensure that none of the previous records will get included in the next run (please note that this Custom Filter is meant to be used together with the "Since Last Successful Run" filter as the value of the max ID can be 0 if the last successful run had no records).:

  • Order ID is greater than {{ last_successful_run_max_id }}

The reason a potential duplicate could occur is because the "Since Last Successful Run" filter is based off the start time of the last run.

For example, if the run starts at 6:00:00 and a request to the Shopify API is made at that time to retrieve the data, but then a new order comes in at 6:00:01 and the API request is still in process and doesn't finish until 6:00:05, then that new order that came in might have gotten included in the response. Then, say the next run starts at 6:15:00, it will request orders created after 6:00:00 and the one that came in at 6:00:01 will be included again. This additional Custom Filter will take care of this scenario.

More advanced date filtering

If you need more advanced filtering based on date and time, please see this article.


App: EZ Exporter

Tags: advanced features