---
title: Dynamic complexity cost for productSet mutation - Shopify developer changelog
description: >-
  Shopify’s developer changelog documents all changes to Shopify’s platform.
  Find the latest news and learn about new platform opportunities.
source_url:
  html: >-
    https://shopify.dev/changelog/posts/dynamic-complexity-cost-for-productset-mutation
  md: >-
    https://shopify.dev/changelog/posts/dynamic-complexity-cost-for-productset-mutation.md
metadata:
  effectiveApiVersion: 2025-10
  affectedApi:
    - displayName: GraphQL Admin API
      handle: admin-graphql
  primaryTag:
    displayName: API
    handle: api
  secondaryTag:
    displayName: New
    handle: new
  indicatesActionRequired: false
  createdAt: '2025-09-14T00:19:24-04:00'
  postedAt: '2025-10-01T00:00:00-04:00'
  updatedAt: '2025-09-29T19:30:20-04:00'
  effectiveAt: '2025-10-01T00:00:00-04:00'
---

October 1, 2025

# Dynamic complexity cost for `productSet` mutation

DateOctober 1, 2025

Version[2025-10](https://shopify.dev/changelog?api_version=2025-10)

FlagsNew

SurfacesAPI

Affected APIs[GraphQL Admin API](https://shopify.dev/changelog?api_type=admin-graphql)

The [`productSet` mutation](https://shopify.dev/docs/api/admin-graphql/latest/mutations/productSet) 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](https://shopify.dev/docs/api/usage/bulk-operations/imports) for very large operations
* Split complex operations into separate calls: use `productSet` for core product data, then use [`metafieldsSet`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/metafieldsSet) and [`fileCreate`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/fileCreate) for additional data
