What Is Indexed
Product and variant data PSYKHE AI pulls from Shopify, metafield and metaobject support, and sync cadence.
PSYKHE AI indexes one record per variant with the parent product context flattened onto it.
Sync Model
Two sync paths run in parallel:
- Near-real-time webhooks - Shopify webhooks deliver product, variant, collection, and inventory changes within seconds. This is the primary path.
- Scheduled reconciliation - full or delta syncs run on an agreed cadence (1h, 12h, or 24h). This keeps the catalog index aligned with Shopify.
The first sync after install is always a full backfill of the catalog.
Core Fields
Every indexed record contains the following fields.
Product
| Field | Source |
|---|---|
product_identifier | Shopify product GID |
handle | product handle |
title | product title |
product_type | Shopify product type |
vendor | Shopify vendor |
tags | full tag list |
body_html | product description (HTML) |
template_suffix | product template suffix |
variants_count | total variants on the parent product |
product_image | primary product image URL |
category | Shopify product taxonomy name |
currency | store currency code |
collections | collection handles the product belongs to |
published_at | first publish timestamp |
created_at | product creation timestamp |
updated_at | product update timestamp |
Variant
| Field | Source |
|---|---|
variant_identifier | Shopify variant GID |
sku | variant SKU |
barcode | variant barcode |
variant_title | variant title |
price | variant price |
compare_at_price | variant compare-at price |
option1 / option2 / option3 | Shopify variant options |
image | variant image URL |
images | all images for the variant's product |
inventory_quantity | per-variant inventory count |
inventory_policy | deny or continue |
position | variant position on the product |
in_stock | inventory_quantity > 0 |
inventory_available | product in stock or continue policy |
Aggregates
These are computed at ingest time across the parent product's variants:
| Field | Meaning |
|---|---|
price_min / price_max | min and max variant price |
compare_at_price_min / compare_at_price_max | min and max compare-at price |
price_ratio | compare_at_price / price (1.0 if no compare-at) |
allVariantsInventory | summed inventory across variants |
options_map | every option value across variants (e.g., {color: ["Black", "Red"], size: ["S", "M", "L"]}) |
Tags And Named Tags
Tags are indexed twice:
tags- the raw tag list as defined in Shopify.named_tags- tags split on a delimiter (default:) into anamespace → value[]map. For example, the tagmaterial:cottonbecomesnamed_tags.material = ["cotton"]. Repeated keys accumulate values.named_tags_names-Object.keys(named_tags), used for facet discovery.
Named tags are the easiest way for a merchant to expose custom facets without metafields.
Metafields (Opt-In)
PSYKHE AI supports both Product-level and Variant-level metafields. Metafield indexing is disabled by default and enabled per tenant on request.
When enabled, metafields are indexed under:
metafields[namespace][key] = valueThe original namespace, key, value, and type are preserved. Use cases include:
- exposing material, fit, sustainability flags, or other product attributes as filters
- carrying merchant-specific structured data that does not fit into tags
- driving custom sort orders (see Customization)
Metaobject References (Beta)
Metaobject support is in beta and currently scoped to reference metafields. Coverage is being expanded - reach out if you need a Metaobject shape that is not yet resolved.
Current scope:
- metafield types
metaobject_referenceandlist.metaobject_referenceare resolved - for each reference, PSYKHE AI fetches the metaobject's
idanddisplayNameonly - nested field traversal is not supported - only the GID and the display name are pulled
- resolved values are cached per tenant
What Is Not Indexed
- customer or order data - only the catalog is indexed; order data flows through the Web Pixel for tracking, not the catalog index
- drafts, archived, and unpublished products
- non-online-store sales channels - only products published to the online store are indexed