Script tags 廃止 2027年3月1日、ストアフロントで動かなくなる
原題: Script tags are deprecated and will stop running on March 1, 2027
- Script Tags
- Apps
- Theme App Extension
- Web Pixels
- Admin API
- GraphQL
- REST
- 廃止予定
- Online Store
図解 : Script tags 廃止 ― 2027年3月1日にストアフロントで動かなくなる Developer Changelog / 廃止予告 Script tags 廃止 2027年3月1日、ストアフロントで動かなくなる 2026年10月1日から新規作成・更新が不可、2027年3月1日から Shopify がストアフロントに script tag を注入しなくなる。API バージョンを固定しても先送りできない。テーマアプリ拡張の App embed block か Web pixel への置き換えが必要。 このページの構成 30秒で理解 : 何がいつ止まるのか タイムライン図解 止まるもの/残るもの 影響を受けるのは誰か 移行先の選び方(2択) 対応手順(3ステップ) 技術者が押さえるべき5つのポイント 業務に活かせる3つのユースケース 提案で使える1行サマリ 1 30秒で理解 : 何がいつ止まるのか script tag は、テーマのコードに触らずにストアフロントへ JavaScript を読み込ませる仕組み。 2026年10月1日に「新しく作れなくなり」、2027年3月1日に「動かなくなる」 。 ストアフロントは script tag が動く最後の場所で、注文状況ページではすでに動作を停止している。 2026年10月1日 : 作成・更新の停止 scriptTagCreate / scriptTagUpdate が user error を返す。REST Admin API の ScriptTag リソースは POST と PUT を拒否する。既存の script tag はこの時点ではまだ動く。 2027年3月1日 : 注入そのものの停止 Shopify がストアフロントに script tag を注入しなくなる。アプリが script tag で JavaScript を読み込んでいるなら、それまでに置き換えが必要。 API バージョンの固定(pinning)では先送りできない。 この廃止は古いものを含む すべての API バージョンに適用 される。「安定版を固定しているから当面大丈夫」は成立しない。 2 タイムライン図解 2つの日付の間の約5か月は「既存は動くが、新規に作れない」期間。 この期間に新規インストールのストアへ script tag を配れなくなる ため、実質的なデッドラインは 2027年3月ではなく 2026年10月 と捉えるほうが安全。 3 止まるもの/残るもの 止まる 2026-10-01 scriptTagCreate user error を返すようになる。新規の script tag を作成できない。 2026-10-01 scriptTagUpdate user error を返すようになる。既存 script tag の書き換えができない。 2026-10-01 REST ScriptTag の POST / PUT REST Admin API のリソース側も作成・更新を拒否する。 残る(棚卸し・後片付けに使える) scriptTags クエリ 引き続き動作する。既存の script tag を洗い出す監査に使える。 scriptTagDelete ミューテーション 引き続き動作する。移行後に不要になった script tag を削除できる。 「読む」と「消す」は残り、「作る」と「変える」が消える。 この非対称性が移行設計の前提になる。棚卸しと後片付けは 2026年10月1日以降もできる。 4 影響を受けるのは誰か 対象 今回の廃止の扱い やること display_scope: online_store の script tag を作るアプリ 今回の対象 App embed block、または Web pixel へ置き換え display_scope: order_status の script tag 別(先行)の廃止でカバー済み 先行する「Order status script tags」の案内を参照 script tag を使っていないアプリ 影響なし — 注文状況ページ(Order status page)ではすでに script tag は動作を停止している。 ストアフロントが最後の生き残り であり、今回でその最後が閉じる、という位置づけ。 5 移行先の選び方(2択) App embed block(原則こちら) script tag の置き換えは App embed block。 theme app extension として同梱して配布 し、アプリ利用者がテーマエディタで有効化する。 Web pixel(計測専用なら) スクリプトが アナリティクスやコンバージョンのデータ収集だけ をしているなら Web pixel を使う。アプリ利用者側の操作は不要。 6 対応手順(3ステップ) 1 棚卸し : scriptTags で洗い出す クエリは廃止後も動くので、どのストアにどんな script tag が残っているかを一覧化する。 2 置き換え : embed / pixel を用意 UI・機能なら theme app extension の App embed block、計測だけなら Web pixel に載せ替える。 3 後片付け : scriptTagDelete 移行が済んだストアから既存の script tag を削除する。削除ミューテーションは残る。 App embed block は アプリ利用者がテーマエディタで有効化する 必要がある。開発側のリリースだけでは有効にならないため、 マーチャントへの案内も移行タスクに含める こと。Web pixel にはこの手間がない。 7 技術者が押さえるべき5つのポイント 1. バージョン固定は効かない 廃止は古いものを含む すべての API バージョンに適用 される。「安定版を pin しているから猶予がある」という通常の破壊的変更の前提が、今回は通用しない。 2. CRUD が半分だけ死ぬ Create / Update は user error になるが、 scriptTags クエリと scriptTagDelete は動き続ける。監査とクリーンアップの導線は残る設計になっている。 3. GraphQL と REST の両方が対象 GraphQL の scriptTagCreate / scriptTagUpdate だけでなく、REST Admin API の ScriptTag リソースの POST / PUT も拒否される。REST 実装のレガシーアプリも同じ期日で影響を受ける。 4. 実質の期限は 2026年10月 3月まで既存は動くが、10月以降は 新規ストアに script tag を配れない 。新規インストールが継続するアプリでは、10月時点で移行版の配布が始まっていないと機能欠落のストアが生まれる。 5. 移行先の選択で「利用者の手間」が変わる App embed block は theme app extension で配布し、 アプリ利用者がテーマエディタで有効化する 。一方、計測だけの用途で使える Web pixel は アプリ利用者の操作を必要としない 。同じ「script tag からの移行」でも、 有効化率のリスクを負うかどうかが変わる ため、用途の切り分けは移行計画の最初にやる。 8 業務に活かせる3つのユースケース USE CASE 1 自社アプリ・受託アプリの script tag 全棚卸し 課題 複数のアプリ・複数のインストール先ストアに、いつ誰が入れたか分からない script tag が残っており、2027年3月に何が壊れるか把握できていない。 打ち手 scriptTags クエリで全インストール先の script tag を機械的に一覧化 → display_scope が online_store のものを今回の対象として抽出 → 用途(UI か計測か)でラベリングして移行先を割り当てる。 効果 「どのアプリの、どのストアの、どの機能が止まるか」が期日前に確定し、移行工数と告知範囲を見積もれる。 技術メモ scriptTags クエリと scriptTagDelete は廃止後も動くため、棚卸しと削除のバッチは 2026年10月1日以降に作っても間に合う。ただし置き換え実装は間に合わない。 USE CASE 2 計測系スクリプトを Web pixel に寄せて「有効化待ち」をなくす 課題 script tag で入れていたコンバージョン計測・アナリティクスを、そのまま App embed block へ移すと、アプリ利用者がテーマエディタで有効化するまで計測が欠測になる。 打ち手 スクリプトの中身を「UI/機能を出すもの」と「アナリティクス・コンバージョンのデータ収集だけのもの」に仕分け、後者は Web pixel に載せ替える。 効果 Web pixel はアプリ利用者側の操作を必要としないため、移行に伴う計測断・有効化率の低下リスクを避けられる。 技術メモ 1本の script tag が計測と UI を兼ねている場合は、まず分割してから移行先を決める。分割の粒度が移行後の運用コストを決める。 USE CASE 3 マーチャント向け移行アナウンスと有効化フォローの設計 課題 App embed block はアプリ利用者がテーマエディタで有効化しないと動かないため、開発側がリリースしても機能が復帰しないストアが残る。 打ち手 移行版リリースと同時に、有効化手順の案内を配布 → scriptTags クエリで旧 script tag が残っているストアを定期的に抽出し、未移行ストアだけに再案内する。 効果 2027年3月1日の注入停止時点での「機能が消えたストア」を減らし、問い合わせ集中を回避できる。 技術メモ 移行完了の判定条件をどう置くかは記事に記載なし。旧 script tag の残存有無を代理指標にするなど、自前で定義する必要がある。 9 提案で使える1行サマリ 「script tag は 2026年10月1日に作成・更新が不可 、 2027年3月1日にストアフロントで動作停止 。 API バージョン固定では回避できない ため、UI・機能は App embed block(theme app extension)、 計測だけなら Web pixel へ。棚卸し用の scriptTags クエリと scriptTagDelete は残る。」 source : shopify.dev / changelog / online-store-script-tags-deprecation published 2026-08-24