--- title: Dynamic complexity for productVariantsBulkCreate and productVariantsBulkUpdate mutations - 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/dynamic-complexity-for-productvariantsbulkcreate-and-productvariantsbulkupdate-mutations md: https://shopify.dev/changelog/dynamic-complexity-for-productvariantsbulkcreate-and-productvariantsbulkupdate-mutations.md --- [Back to Developer changelog](https://shopify.dev/changelog) October 1, 2025 Tags: * Admin GraphQL API # Dynamic complexity for `productVariantsBulkCreate` and `productVariantsBulkUpdate` mutations The [`productVariantsBulkCreate`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/productVariantsBulkCreate) and [`productVariantsBulkUpdate`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/productvariantsbulkupdate) mutations now use dynamic complexity costing to more accurately reflect the actual computational cost of operations. ### Support for more complex products The mutations now support 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. ### What's changing With the release of Dynamic Complexity, the [`productVariantsBulkCreate`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/productVariantsBulkCreate) and [`productVariantsBulkUpdate`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/productvariantsbulkupdate) mutations will now have a base cost of 10-points, and additional points will be calcuated based on the complexity of the input. * **Base cost**: 10 points * **Per variant**: 0.2 points * **Per variant media**: 0.6 points * **Per variant metafield**: 0.4 points * **Per product media**: 1.9 points The total complexity is calculated as: ``` 10 + (variants × 0.2) + (variant_media × 0.6) + (variant_metafields × 0.4) + (product_media × 1.9) ``` ### Migration guidance For most apps, no changes are required. 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 the [`productVariantsBulkCreate`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/productVariantsBulkCreate) and [`productVariantsBulkUpdate`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/productvariantsbulkupdate) mutations for core variant 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.