Bulk operations group objects default changed to false

Shopify Updates: 

As of API Version 2026-01, we've enhanced bulk operations to be faster and more reliable by restructuring the output.

What's Changed

The following are part of this change.

Bulk Queries (bulkOperationRunQuery)

The groupObjects argument now defaults to false. This change returns results in a flat structure, which processes faster and reduces the likelihood of timeouts. Previously, grouping objects could slow down operations and increase failure rates, especially with large datasets.

Bulk Mutations (bulkOperationRunMutation)

The groupObjects argument has been removed. Results now always match the order of your input rows, simplifying the correlation between responses and your original data.

What You Need to Do

The following outlines what you need to do, depending on your needs.

If You're Running Bulk Queries

  • If you rely on grouped output: Set groupObjects: true to maintain the nested structure.
  mutation {
    bulkOperationRunQuery(
      query: """
      {
        products {
          edges {
            node {
              id
              title
            }
          }
        }
      }
      """
      groupObjects: true  # Add this to maintain grouped output
    ) {
      bulkOperation {
        id
        status
      }
      userErrors {
        field
        message
      }
    }
  }
  • If you don't need grouped output: No changes are required. Your queries will run faster by default.

If You're Running Bulk Mutations

  • If you were using groupObjects: true: Remove the argument from your mutation call. Results will be returned in the same order as your input file.

  • If you weren't using groupObjects: No changes are needed. Your mutations will continue to work as before, with improved reliability.

Why We Made This Change

Most apps don't require grouped output, and the overhead was causing performance issues. These changes provide faster, more predictable results that are easier to process at scale.

For bulk queries, enable groupObjects only if you need nested output. For bulk mutations, having results match your input order simplifies tracking which operations succeeded or failed.

Learn More

Back to blog