CUSTOMER SEGMENTS
セグメントクエリ言語の関数構文が2026-10で刷新
MATCHES演算子の導入とnamed dates廃止で、顧客セグメントがより柔軟に
GraphQL Admin API 2026-10 より、セグメントクエリ言語の関数呼び出し構文が変更されます。これまで = true / = false で表現していた条件が MATCHES / NOT MATCHES に置き換わり、パラメータ内でも比較演算子が使えるようになります。また 12_months_ago などの named dates が非推奨化されるため、既存クエリを持つ開発者・運用担当者は対応が必要です。
1Before / After 構文の全体像
2新構文で広がった表現力
新しい構文では、パラメータ内に =、!=、>、< などの演算子を直接記述できます。旧来の構文では「exact matchのみ」でしたが、以下のようなクエリが初めて可能になりました。
3業務ユースケース
- 課題
- メールを開封した顧客だけに絞ってリターゲティングキャンペーンを設定したいが、既存セグメントクエリが旧構文のまま保存されており、新APIバージョンへ移行すると動作しなくなる恐れがある。
- 打ち手
-
shopify_email.opened() = trueをshopify_email.opened MATCHES ()に一括置換し、API呼び出し時のバージョン指定を 2026-10 に更新する。 - 効果
- 移行後もセグメントが正常に機能し、メール開封済み顧客へのリターゲティング精度を維持できる。
- 技術メモ
- 否定条件(非開封)は
NOT MATCHES ()に置換。旧= falseとの対応関係を事前に一覧化すると安全。
- 課題
- 「直近3か月で特定商品を5個以上購入した顧客」をセグメント化したいが、旧構文では数量の「以上」条件が表現できず、exact matchのみに限定されていた。
- 打ち手
- 新構文の
products_purchased MATCHES (quantity >= 5)を使い、ハイバリュー顧客セグメントを新規作成する。 - 効果
- VIP顧客の定義を「ちょうど5個」ではなく「5個以上」で正確に捉えられ、ロイヤルティプログラムのターゲット精度が向上する。
- 技術メモ
-
>や!=など複数の演算子が利用可能になった点が新構文の最大の変化。元記事には利用可能な演算子の完全なリストは記載なし。詳細は公式ヘルプセンターを参照。
- 課題
- セグメントクエリに
12_months_agoや30_days_agoなどの named dates を使っており、2026-10 移行後に非推奨警告が発生したり将来的にクエリが無効化されるリスクがある。 - 打ち手
- named dates をすべて date offset 表記(例:
12_months_ago→-12m、30_days_ago→-30d)へ書き換える。 - 効果
- 将来の廃止タイミングを気にせず安定してセグメントを運用でき、定期的なセグメント見直しコストを削減できる。
- 技術メモ
- 元記事では
12_months_ago = -12mの対応が明示されている。90_days_ago / 30_days_ago / 7_days_agoについても同様に日数・月数のoffset値へ変換する。
4技術者向けチェックポイント
| 観点 | 詳細 | 対応優先度 |
|---|---|---|
| 対象APIバージョン | GraphQL Admin API 2026-10 以降で新構文が適用される | 確認必須 |
| 旧構文の扱い | 元記事に旧構文の明示的な廃止時期の記載なし。ただし named dates は「deprecated」と明記されている | 要確認 |
| MATCHES 演算子 |
= true → MATCHES ()、= false → NOT MATCHES () に対応。引数なし関数では空括弧 () を維持する点に注意 |
移行必要 |
| パラメータ内演算子 | 旧 (quantity: 5) 形式から (quantity = 5) 形式へ変更。コロン区切りから等号区切りに変わる |
移行必要 |
| named dates 廃止 |
12_months_ago / 90_days_ago / 30_days_ago / 7_days_ago が非推奨。既存の date offset(例: -12m)を使用する |
要対応 |
| Liquid / アプリ影響 | 元記事に Liquid テンプレートへの直接的な影響は記載なし。セグメントAPIを直接呼び出すカスタムアプリや自動化ワークフローの見直しが必要 | 確認推奨 |
- 使用中のセグメントクエリをすべて洗い出し、
= true / = falseを含むものを特定する - 関数呼び出しを
MATCHES () / NOT MATCHES ()形式に変換する - パラメータのコロン区切り(
quantity: 5)を等号区切り(quantity = 5)に変換する - named dates(
12_months_ago等)を date offset(-12m等)に変換する - ステージング環境で API バージョン 2026-10 を指定してクエリの動作を検証する
GraphQL Admin API 2026-10 へのアップグレード前に、セグメントクエリの関数構文を MATCHES 形式・パラメータ等号記法・date offset へ一括移行することで、より柔軟な顧客セグメント定義と将来の廃止リスク回避を同時に実現できます。
Source: https://shopify.dev/changelog/updated-function-syntax-on-the-segment-query-language | 公開日: 2026年10月1日






Share:
在庫出荷Webhookに在庫移転IDが追加
GraphQL Admin APIで返品ポリシープロファイル対応