バリアント単位での公開制御がAPIで可能に
商品を残したまま「このバリアントだけ非表示」が正式サポート
Admin GraphQL API バージョン 2026-07 より、ProductVariant が Publishable インターフェースに準拠し、バリアントをチャネル・カタログ単位で個別に公開/非公開できるようになった。商品削除・商品複製・Liquidコードによる表示制御といった回避策が不要になり、EC事業者とアプリ開発者の双方が恩恵を受ける。既存の商品レベルの公開設定は引き続き有効で、後述の通り下位互換性が保たれる。
1Before / After:何が変わったか
2業務に活かせる具体ユースケース
ユースケース① 限定カラーをBtoB専用カタログにのみ公開
- 課題
- 法人向けカタログに特定カラーを出したいが、同じバリアントを一般向けストアフロントには表示したくない。従来は商品を複製して管理していた。
- 打ち手
-
publishableUnpublishに当該バリアントIDとオンラインストアのpublication IDを渡して非公開化。BtoBカタログ側の publicationは公開のまま維持する。 - 効果
- 在庫・価格・メタフィールドを一元管理しながら、チャネルごとに異なる品揃えを実現。商品複製に伴う管理コストが大幅削減。
- 技術メモ
- 商品自体がオンラインストアに公開されていない場合、バリアントを公開しても該当チャネルには表示されない(商品の公開が前提条件)。
ユースケース② 新バリアントのローンチ前準備
- 課題
- 新SKUを事前にシステムに登録したいが、発売日前にストアへ露出してしまうリスクがあった。
- 打ち手
-
productSetまたはproductVariantBulkCreateでvariant.published: falseを指定してバリアントを未公開状態で作成。発売日にpublishablePublishを呼んで一斉公開する。 - 効果
- 先行公開ミスがゼロに。スケジュール公開のワークフローをAPI側で完結でき、Liquidコードによるフロントエンド隠蔽が不要になる。
- 技術メモ
- 既存の動作として、商品公開後に追加されたバリアントは親商品の全publicationに対してデフォルト「公開」になる。意図しない公開を避けるにはこのフラグの明示指定が必要。
ユースケース③ セール終了後のバリアント単位での除外
- 課題
- タイムセール対象SKUのみセール期間中だけチャネルに公開し、終了後は非表示にしたいが、バリアント削除は在庫・注文履歴に影響するため避けたかった。
- 打ち手
- セール開始時に
publishablePublish、終了時にpublishableUnpublishを対象バリアントIDで呼ぶだけ。バリアント自体は削除しない。 - 効果
- 在庫データ・注文履歴を損なわずにチャネルへの露出を柔軟にオン/オフできる。自動化スクリプトやFlow連携で時間制御も容易。
- 技術メモ
- 公開状態は
ProductVariant.resourcePublicationsv2で取得可能。アプリがproduct feedを利用している場合は既存のインクリメンタル同期Webhookがそのまま動作する。
3技術者向けポイント
| 項目 | 内容 |
|---|---|
| 対応APIバージョン | Admin GraphQL API 2026-07 以降 |
| Publishable インターフェース |
ProductVariant が Product・Collection と同様に Publishable を実装。resourcePublicationv2 と publishedOnPublication フィールドが追加される |
| APIミューテーション変更 |
publishablePublish / publishableUnpublish が ProductVariant IDを受け付けるように拡張(非破壊的追加変更) |
| バリアント作成時のデフォルト | 新規バリアントは親商品の全publicationに対して公開がデフォルト(オプトアウト型)。未公開で作りたい場合は productSet または productVariantBulkCreate の variant.published: false を使う |
| Webhook | product feedチャネルではバリアントの公開/非公開に連動してproduct updateのWebhookが発火(インクリメンタル同期)。variant_publication/create/update/delete Webhookは開発中・近日リリース予定(記事時点) |
| 既存アプリへの影響 | 商品レベルの公開制御は変更なし。Product feedを使うチャネルアプリは修正不要。Product feed非使用でAPI経由で公開状態を読むアプリは ProductVariant.resourcePublicationsv2 の実装を推奨 |
| 優先順位ルール | 商品がアクティブかつチャネルに公開されていることが大前提。商品レベルの公開設定がバリアントより優先される |
バリアント単位の公開制御により、商品複製・Liquidハック・バリアント削除に頼らずチャネル別の品揃え最適化が実現できます。
Source: https://shopify.dev/changelog/publish-and-unpublish-product-variants-independently-from-product | 公開日: 2026年5月7日






Share:
ボット・AIエージェントはWeb Bot Auth署名が必須に
CI/CDパイプラインでのアプリデプロイが全アプリ対応