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:
- Product Field Selection - Choose which fields to include in the sync
- 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
| Category | Description | Default Selection |
|---|---|---|
| Product Fields | Standard Shopify product fields (id, title, productType, tags, etc.) | All selected |
| Variant/Inventory Fields | Product variant fields (id, price, inventoryQuantity, etc.) | All selected |
| Product Metafields | Custom product metafields grouped by namespace | Nutrition panel fields selected |
| Variant Metafields | Custom variant metafields grouped by namespace | Custom 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 Type | GraphQL Filterable | Fields Available |
|---|---|---|
| Product Fields | ✅ Yes | vendor, status, productType, tags |
| Variant Fields | ✅ Yes | price, 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 Type | Supported Operators |
|---|---|
| String | Equals, Not Equals, Contains, Starts With, Ends With |
| Boolean | Equals, Not Equals |
| Number | Equals, Not Equals, Greater Than, Less Than, Greater/Equal, Less/Equal |
| Array/Tags | Contains, Contains Any Of, Does Not Contain, Does Not Include Any Of |
| List Types | Contains, Contains Any Of, Not Contains |
How It Works
- GraphQL Pre-filtering: Product and variant fields that are GraphQL-filterable are used to build the initial query
- JavaScript Post-filtering: Metafields and non-filterable variant fields are filtered in JavaScript after fetching
- 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.