記事のサマリー(TL;DR)
- ShopifyQL API が正式プラットフォーム化:スキーマドキュメントが shopify.dev に公開され、LLM・AIエージェントによるクエリ生成も可能に
- メタフィールドが分析ディメンションに:
campaign_sourceなどを定義するだけで、ETL・別スキーマ不要で ShopifyQL からクエリ可能 - アノテーション API・Metric Targets API が追加:ロイヤルティアプリやメールアプリがグラフ上に文脈を注記し、売上目標の進捗も可視化できる
Shopify Plus アプリ開発者・EC 事業者が押さえるべき実装ポイント
Shopify エコシステム上でアプリを提供する ISV や、Shopify Plus 上で独自アプリを運用する EC 事業者にとって、今回のアップデートは「自前のデータパイプラインを持たなくても分析機能を提供できる」ことを意味します。
これまでマーチャント向け分析機能を実装するには、Chartkick や Chart.js などのチャートライブラリ選定、BigQuery や Snowflake へのデータ同期基盤の整備、通貨・ロケール処理のカスタム実装、そして Shopify Admin とデザインが乖離した独自 UI の維持という、複数レイヤーの開発・運用コストが伴っていました。
Web Components(<s-shopifyql-metric-card> など)を使えば、polaris.js と analytics-ui.js の読み込みと Direct API アクセスの有効化だけで、Shopify Admin と同一のグラフが1タグで埋め込めます。日本国内では kintone や Salesforce などの業務 SaaS に加え、Shopify をデータの起点とする構成が増えていますが、ShopifyQL API のスキーマが公開されたことで、GA4 や広告データと Shopify の売上データを BigQuery で統合するような分析基盤との接続も、より安定した設計が可能になります。
詳細
メタフィールドのアナリティクス対応
メタフィールド定義を「analytics-queryable(分析クエリ可能)」に設定すると、そのフィールドが ShopifyQL のディメンションとしてストアデータと並列に利用できるようになります。たとえば注文に campaign_source メタフィールド、顧客に subscription_status メタフィールドを追加すると、マーチャントはグループ化・フィルタリング・チャート描画をそのまま実行できます。ETL パイプラインも別スキーマも不要です。
FROM sales
SHOW total_sales
GROUP BY order.metafields.my_app.campaign_source
TIMESERIES day
VISUALIZE total_sales
App Events(早期アクセス)
アプリが既に emit しているカスタムイベントを Shopify Analytics からクエリ可能にする機能です。shopify.app.toml の新しいレジストリでイベントを宣言し、App Events API 経由で送信すれば、マーチャントは FROM app_events という形でストアデータと同じ感覚でクエリを実行できます。
FROM app_events
SHOW emails_sent
GROUP BY app_name
TIMESERIES day
VISUALIZE total_sales
早期アクセスへの申し込みは Shopify Dev の専用ページから受け付けています。
ShopifyQL API の正式プラットフォーム化
Shopify の分析クエリレイヤーである ShopifyQL API が、ファーストクラスのプラットフォーム機能として位置づけられました。shopify.dev にスキーマレベルのリファレンスドキュメントが公開され、すべてのメトリクスとディメンションが型・説明・実例付きで定義されています。
開発者にとっては安定したバージョン管理済みの API サーフェスを対象に開発できるメリットがあります。LLM やエージェントにとっては、公開スキーマを参照することで動作する ShopifyQL クエリを自動生成できる点が重要です。
Analytics Web Components
Shopify Admin のアナリティクス表示に使われているのと同じ Web Components が、サードパーティアプリへの埋め込み用に公開されました。
<s-shopifyql-metric-card>:メトリクスカード<s-metrics-bar>:メトリクスバー<s-metrics-bar-date-picker>:日付ピッカー
1つの HTML 要素でグラフを描画する例:
<s-shopifyql-metric-card
heading="My weekly sales"
query="FROM sales SHOW total_sales TIMESERIES week VISUALIZE total_sales TYPE bar">
</s-shopifyql-metric-card>
polaris.js の後に analytics-ui.js を読み込み、Direct API アクセスを有効化してからタグを配置するだけです。チャートライブラリ・通貨処理・ロケール処理・データフォーマット処理はすべてコンポーネント側が担当し、Shopify Admin とリアルタイムで同期した状態を維持します。
Annotations API
Partner アプリが GraphQL Admin API を通じてマーチャントのグラフ上に直接アノテーション(注記)を作成できるようになりました。ロイヤルティアプリはプログラム開始日、メールアプリは新規キャンペーン開始日、サブスクリプションアプリは価格変更日など、ビジネス上のイベントをグラフパネル上にアプリ帰属情報付きで表示できます。
必要なスコープ:read_analytics_annotations、write_analytics_annotations
Metric Targets API
マーチャントが任意のメトリクスに目標値(ターゲット)を設定し、レポートやダッシュボード上で進捗を視覚的に追跡できるようになりました。目標値は GraphQL Admin API の新しいコアプリミティブとして実装されており、アプリ側からプログラムで作成・読み取り・グラフへのオーバーレイ表示が可能です。たとえば「今四半期の総売上目標」や「今週の広告経由売上目標」などを設定し、実績と並べて表示できます。
全体のアーキテクチャ
Shopify がまとめた統合フローは以下の通りです。
- データモデリング:メタフィールド(および App Events)でデータを定義
- クエリ:ShopifyQL API でデータを取得
- 埋め込み:Analytics Web Components でグラフを描画
- 文脈付加:Annotations と Metric Targets で数値に意味を加える
すべての処理がマーチャントがすでに意思決定を行っている Shopify の管理画面内で完結します。