The issue here is that within this mutation for productCreate, you were also attempting to create privateMetafields for a brand new Product Variant. If you would like to create privateMetafields for a Product Variant, it would need to be done in a separate mutation outside of productCreate. For example, you could first use the productCreate mutation to create the brand new Product and Product Variant, and then after use the productVariantUpdate mutation to create the privateMetafields onto the Product Variant. Alternatively you can use the productCreate variant to create the Product first, and then after use the productVariantCreate mutation to create the new Product Variant and its privateMetafields.