Skip to content

Product Settings ​

The Product Settings page allows you to configure which product data to sync from your Shopify store and how to filter products during synchronization.

Overview ​

The Product Settings page is divided into two main sections:

  1. Product Field Selection - Choose which fields to include in the sync
  2. Product Filter Selection - Configure filters to determine which products are synchronized

Product Field Selection ​

Select which product and variant fields you want to store in your database. This minimizes the amount of data you sync and store.

Available Field Categories ​

CategoryDescriptionDefault Selection
Product FieldsStandard Shopify product fields (id, title, productType, tags, etc.)All selected
Variant/Inventory FieldsProduct variant fields (id, price, inventoryQuantity, etc.)All selected
Product MetafieldsCustom product metafields grouped by namespaceNutrition panel fields selected
Variant MetafieldsCustom variant metafields grouped by namespaceCustom quiz_recommendations selected

Product Filter Selection ​

Configure filters to determine which products are synchronized. Filters use a group-based system where:

  • Groups are connected with OR logic (products matching any group are included)
  • Conditions within a group use AND or OR logic (configured per group)

Filterable Fields ​

Field TypeGraphQL FilterableFields Available
Product Fields✅ Yesvendor, status, productType, tags
Variant Fields✅ Yesprice, inventoryQuantity
Product Metafields❌ No (JavaScript filtering)All product metafields
Variant Metafields❌ No (JavaScript filtering)All variant metafields

Filter Operators ​

Operators vary by field type:

Field TypeSupported Operators
StringEquals, Not Equals, Contains, Starts With, Ends With
BooleanEquals, Not Equals
NumberEquals, Not Equals, Greater Than, Less Than, Greater/Equal, Less/Equal
Array/TagsContains, Contains Any Of, Does Not Contain, Does Not Include Any Of
List TypesContains, Contains Any Of, Not Contains

How It Works ​

  1. GraphQL Pre-filtering: Product and variant fields that are GraphQL-filterable are used to build the initial query
  2. JavaScript Post-filtering: Metafields and non-filterable variant fields are filtered in JavaScript after fetching
  3. Hybrid Approach: This minimizes API calls while still supporting all filter types

Example Filter Configuration ​

Group 1 (AND):
  - product.status = "ACTIVE"
  - variant.price < 10.00
  - variant.inventoryQuantity > 1
  - variant.custom.quiz_recommendations = true

Group 2 (OR):
  - product.productType != "no buy"
  - product.tags does not include "felise" or "kaufusi"

Products matching Group 1 OR Group 2 will be synchronized.