# Shopify segment query functions use MATCHES instead of = true as of API version 2026-10

- **Provider:** Shopify
- **Endpoint:** `POST /admin/api/{version}/graphql.json`
- **Effective:** 2026-10-01
- **Severity:** medium
- **Change:** required-field
- **Status:** unverified (secondary reports only; SHAPI does not open fix PRs for it)

## What changed

As of Admin API version 2026-10, functions in the customer segment query language use MATCHES / NOT MATCHES instead of = true / = false (shopify_email.opened MATCHES ()), function parameters take their own operators, and the named dates 12_months_ago, 90_days_ago, 30_days_ago and 7_days_ago are deprecated.

## What to do

Rewrite segment queries for 2026-10: replace function() = true with function MATCHES () and = false with NOT MATCHES (), move parameters inside the parentheses (products_purchased MATCHES (quantity = 5)), and replace named dates with offsets such as -12m.

## Sources

- Provider notice (2026-10-01): https://shopify.dev/changelog/updated-function-syntax-on-the-segment-query-language

## Machine-readable

- Advisory: https://github.com/SriVarshini09/shapi-advisories/blob/main/advisories/shopify-segment-query-function-syntax.json
- OSV: https://shapi.dev/osv/shopify-segment-query-function-syntax.json
