The is_price_reduced:false query filter is not working correctly. It’s returning products that clearly have reduced prices (where compareAtPrice exists and is greater than price).
API Details
-
API Version Tested: 2025-10, 2025-07, 2025-04 (bug persists across versions)
-
Endpoint: GraphQL Admin API
query ($cursor: String) {
products(
first: 50
after: $cursor
query: "status:active AND is_price_reduced:false"
) {
pageInfo {
hasNextPage
hasPreviousPage
}
edges {
cursor
node {
id
title
vendor
status
variants(first: 1) {
edges {
node {
id
price
compareAtPrice
barcode
inventoryQuantity
inventoryPolicy
inventoryItem {
id
unitCost {
amount
}
}
}
}
}
}
}
}
}
The query returns products like this:
{
"id": "gid://shopify/ProductVariant/40550221217978",
"price": "8.89",
"compareAtPrice": "9.88",
"barcode": "8058664070466",
"inventoryQuantity": 0,
"inventoryPolicy": "DENY"
}
Since compareAtPrice (9.88) is greater than price (8.89), this product IS price reduced and should NOT be returned when filtering by is_price_reduced:false.
Additional Context
-
The inverse (
is_price_reduced:true) appears to work correctly and returns only discounted products -
This was tested directly in the GraphiQL Admin API interface and confirmed as an API-level issue
-
I remember this exact same bug from about 2-3 years ago but was resolved by Shopify, yet it appears to have regressed
Anyone care to investigate? This bug makes it impossible to properly paginate through non-discounted products, as we cannot trust the filter to exclude discounted items. This has been working up until recently, so it has since broken one of the main features of our private app.