The productSet
mutation mutation now uses dynamic complexity costing that more accurately reflects the actual computational cost of operations.
What's changing
Instead of a fixed cost of 50 points for all productSet
operations, the mutation now calculates complexity based on the actual work being performed:
- Base cost: 10 points
- Per variant: 0.2 points
-
Per variant file: 0.6 points
- Per variant metafield: 0.4 points
- Per product metafield: 0.4 points
- Per product file: 1.9 points
The total complexity is calculated as:
10 +
(variants × 0.2) +
(variant_files × 0.6) +
(variant_metafields × 0.4)
(product_metafields × 0.4)
(product_files × 1.9)
Benefits for your apps
Lower costs for most operations: More than 99.5% of existing productSet
operations will cost less than the previous fixed cost of 50 points. Simple product updates that previously cost 50 points now cost as little as 10-20 points.
Support for larger products: The mutation now supports products with up to 2,048 variants for merchants on all plans, a significant increase from the previous limit of 100 variants. This enables apps to manage more complex products and support merchants with diverse business needs.
Examples
Simple product update (1 variant, no files or metafields): - Previous cost: 50 points - New cost: 10 points (80% reduction)
Medium complexity (20 variants, 5 product metafields):
- Previous cost: 50 points
- New cost: 16 points (68% reduction)
Complex product (200 variants, 10 files, 20 metafields): - Previous cost: 50 points - New cost: 77 points (reflects actual resource usage)
Migration guidance
For most apps, no changes are required. Your existing productSet
operations will automatically benefit from lower complexity costs.
For apps working with high-complexity products exceeding the 1000-point single query limit:
- Consider using bulk mutations for very large operations
- Split complex operations into separate calls: use productSet
for core product data, then use metafieldsSet
and fileCreate
for additional data