October 18, 2026 · Muhammad Rehan · More by Muhammad Rehan
Shopify's giftCardProductSet Locks Currency at Creation
Shopify's giftCardProductSet mutation locks issuanceCurrency and crossCurrencyRedeemable permanently at creation — there's no update path if you get them wrong.
Shopify's July 2026 API release quietly added local-currency gift cards through a new mutation, giftCardProductSet. It's a convenience mutation — it sets sensible gift-card defaults automatically — but two of its fields carry a restriction that doesn't apply anywhere else on the input: get them wrong once, and there is no mutation that fixes them.
What giftCardProductSet actually does
giftCardProductSet creates or updates a gift card product. Unlike a general product mutation, it automatically sets the giftCard field to true, applies gift card variant defaults — non-taxable, no shipping required, inventory untracked — and omits fields that aren't relevant to gift cards. For list fields like variants, the mutation performs a full replacement: it creates, updates, and removes entries not included in the input. Every other field updates only when you explicitly include it. It can run synchronously, returning the updated product immediately, or asynchronously via synchronous: false, returning a ProductSetOperation you poll with the productOperation query.
The two fields you can only set once
Two input fields break that pattern. issuanceCurrency sets the issuance currency for gift cards fulfilled from the product. crossCurrencyRedeemable controls whether those gift cards are redeemable in any payment currency the store supports, not just the one they were issued in. Shopify's documentation states, for both fields, that the value can't be changed after the product is created. Every other field on GiftCardProductSetInput — title, handle, variants, metafields, tags, collections, SEO, status, vendor — can be updated normally. These two can't.
Why that matters for Shopify Plus multi-market merchants
For a merchant running Shopify Markets, or an app or ERP that provisions gift card products automatically, the operational consequence is blunt: there's no "fix it later" mutation for issuanceCurrency or crossCurrencyRedeemable. If either value is wrong, the product itself has to be recreated, not patched. crossCurrencyRedeemable is the more consequential of the two for a multi-market store — it decides upfront whether a gift card issued in one currency can be redeemed in any currency the store accepts, or stays locked to its issuance currency. That's a decision worth making deliberately, not by whatever default the first API call happens to send.
What to validate before you call it
This mutation ships inside Shopify's broader 2026-07 release wave, which also reworked Collections and shipping around Shopify Markets — local-currency gift cards are part of that same multi-market push. For any ERP, PIM, or app that provisions gift card products programmatically, the practical takeaway is to validate currency and redeemability intent in your own code before the first giftCardProductSet call, since Shopify's API gives you no second chance at either field.