7.3 e コマース計測の全体像
この章で学ぶこと
- e コマースの推奨イベントの一覧と、購入までの流れ
- 商品の情報を渡す
items配列の構造 - データレイヤーを使った実装の設計
- 実装の優先順位
- よくある実装ミスと対策
推奨イベントの一覧
GA4 の e コマース計測は、推奨イベント を使って行います。購入までのユーザーの行動に合わせて、次のようなイベントが用意されています。
| 段階 | イベント名 | タイミング |
|---|---|---|
| 一覧の表示 | view_item_list | 商品の一覧(カテゴリ ページ、検索結果、おすすめ枠など)が表示されたとき |
| 一覧からの選択 | select_item | 一覧から商品が選ばれた(クリックされた)とき |
| 商品の閲覧 | view_item | 商品の詳細ページが表示されたとき |
| カートへの追加 | add_to_cart | 商品がカートに追加されたとき |
| カートからの削除 | remove_from_cart | 商品がカートから削除されたとき |
| カートの表示 | view_cart | カートのページが表示されたとき |
| お気に入りへの追加 | add_to_wishlist | 商品がお気に入りに追加されたとき |
| 購入手続きの開始 | begin_checkout | 購入の手続きを始めたとき |
| 配送情報の入力 | add_shipping_info | 配送方法などを入力したとき |
| 支払い情報の入力 | add_payment_info | 支払い方法を入力したとき |
| 購入 | purchase | 購入が完了したとき |
| 返金 | refund | 返金が行われたとき |
| プロモーションの表示 | view_promotion | バナーなどのプロモーションが表示されたとき |
| プロモーションの選択 | select_promotion | プロモーションがクリックされたとき |
購入までの流れ
view_item_list(一覧)
↓ select_item
view_item(商品詳細)
↓
add_to_cart(カート追加)
↓
view_cart(カート)
↓
begin_checkout(手続き開始)
↓ add_shipping_info → add_payment_info
purchase(購入完了)
これらのイベントを計測すると、第 5 部で紹介した収益化レポート(e コマース購入数、ユーザーの購入経路)が使えるようになります。
items 配列の構造
e コマースのイベントでは、どの商品について の行動なのかを、items という配列で送ります。配列なので、1 つのイベントに複数の商品を含められます(カートに 3 種類の商品があるときなど)。
items の主なパラメータ
| パラメータ | 内容 | 例 |
|---|---|---|
item_id | 商品 ID(SKU など) | SKU-001 |
item_name | 商品名 | オーガニック T シャツ |
item_brand | ブランド | SampleWear |
item_category 〜 item_category5 | 商品カテゴリ(5 階層まで) | メンズ / トップス / T シャツ |
item_variant | バリエーション(色、サイズなど) | ホワイト / M |
price | 単価 | 2990 |
quantity | 数量 | 2 |
discount | 値引き額(1 点あたり) | 300 |
coupon | 商品に適用したクーポン | SUMMER10 |
index | 一覧の中での表示位置 | 3 |
item_list_id / item_list_name | 表示された一覧の ID / 名前 | related_products / 関連商品 |
promotion_id / promotion_name | 関連するプロモーション | autumn_sale / 秋のセール |
item_id と item_name の どちらか一方は必須 です。
イベント全体のパラメータ
items とは別に、イベント全体に付けるパラメータもあります。
| パラメータ | 内容 | 必要なイベント |
|---|---|---|
currency | 通貨(ISO 4217 の 3 文字。日本円は JPY) | value を送るすべてのイベント |
value | イベントの金額(通常は商品の合計金額) | view_item、add_to_cart、purchase など |
transaction_id | 注文番号(一意な値) | purchase、refund(必須) |
tax | 税額 | purchase |
shipping | 送料 | purchase |
coupon | 注文全体に適用したクーポン | purchase など |
purchase のコード例
gtag('event', 'purchase', {
transaction_id: 'T-20261028-0012',
value: 6280, // 商品の合計(値引き後)
tax: 571,
shipping: 500,
currency: 'JPY',
coupon: 'WELCOME',
items: [
{
item_id: 'SKU-001',
item_name: 'オーガニック T シャツ',
item_brand: 'SampleWear',
item_category: 'メンズ',
item_category2: 'トップス',
item_variant: 'ホワイト / M',
price: 2990,
quantity: 2,
},
{
item_id: 'SKU-105',
item_name: 'キャンバス トートバッグ',
item_category: 'バッグ',
price: 800,
quantity: 1,
},
],
});
ポイント
valueに何を含めるか(税込か税抜か、送料を含むか)は、GA4 では決まっていません。社内で売上をどう定義しているかに合わせて決め、イベント設計書に明記しましょう。基幹システムの「売上」と同じ定義にしておくと、数値の比較がしやすくなります。
データレイヤーの設計
e コマースの計測は、多くの場合 GTM とデータレイヤー を使って実装します。サイトのプログラムが、商品の情報を dataLayer に入れ、GTM がそれを読み取って GA4 に送る、という流れです。
サイトのプログラム(EC システム)
↓ dataLayer.push({ event: 'purchase', ecommerce: {...} })
データレイヤー
↓ GTM がイベントを検知し、ecommerce の情報を読み取る
GA4 のタグ
↓
GA4
dataLayer の例
// 前のイベントの ecommerce の情報をクリアする
window.dataLayer.push({ ecommerce: null });
// 商品詳細ページで
window.dataLayer.push({
event: 'view_item',
ecommerce: {
currency: 'JPY',
value: 2990,
items: [
{
item_id: 'SKU-001',
item_name: 'オーガニック T シャツ',
item_category: 'メンズ',
price: 2990,
},
],
},
});
GTM の GA4 イベント タグでは、「e コマース データを送信」(または同等の設定)をオンにし、データのソースを「データレイヤー」にすると、ecommerce の情報がそのまま GA4 に送られます(第 9 部)。
注意
ecommerce: nullで前の情報をクリアしないと、前のイベントの商品情報が次のイベントに混ざることがあります。dataLayer.pushの前に必ずクリアするよう、開発者に依頼しましょう。
EC プラットフォームの場合
Shopify などの EC プラットフォームや、EC の構築パッケージを使っている場合は、GA4 の e コマース計測に対応した機能やアプリが用意されていることがあります。独自に実装する前に、使っているプラットフォームの対応状況を確認しましょう。
導入の優先順位
e コマースのイベントは数が多く、すべてを一度に実装するのは大変です。次の順番で優先順位を付けると、効果の大きいものから使えるようになります。
| 優先度 | イベント | 理由 |
|---|---|---|
| 1(必須) | purchase | 売上の計測の基本。これがないと収益の分析ができない |
| 2(重要) | view_item、add_to_cart、begin_checkout | 購入までのファネル(商品閲覧 → カート → 手続き → 購入)がわかる |
| 3(あるとよい) | view_cart、add_shipping_info、add_payment_info、remove_from_cart | 手続きの中の離脱がより細かくわかる |
| 4(発展) | view_item_list、select_item、view_promotion、select_promotion | 一覧やバナーの効果がわかる |
| 5(必要に応じて) | refund、add_to_wishlist | 返金の反映、お気に入りの分析 |
ポイント まずは優先度 1 と 2 を実装すれば、収益化レポートの主要な分析ができるようになります。優先度 4 の一覧やプロモーションのイベントは、商品数が多く、一覧の改善が重要な大規模な EC サイトで特に役立ちます。
よくある実装ミス
e コマース計測では、次のような実装ミスがよく起こります。
| ミス | 起こること | 対策 |
|---|---|---|
transaction_id を送っていない、毎回違う値になる | 購入完了ページの再読み込みで、購入が重複して数えられる | 注文番号を必ず送る。GA4 は同じ transaction_id の重複を除外する |
currency を送っていない | 収益が正しく集計されない(0 になることがある) | value を送るすべてのイベントで currency を送る |
value と items の金額の合計が合わない | 売上の分析で混乱する | value の定義を決め、計算方法を統一する |
price に文字列("2,990円")を入れている | 金額として集計されない | 数値(2990)で送る |
| 商品 ID の形式がページによって違う | 同じ商品が別の商品として集計される | 商品マスタの ID を統一して使う |
| ecommerce をクリアしていない | 前のイベントの商品が混ざる | ecommerce: null を送ってからイベントを送る |
| テスト注文が本番のデータに入る | 売上が実際より多くなる | テスト用プロパティで確認する、テスト注文の識別ルールを決める |
実装後の確認
実装が終わったら、次の手順で確認しましょう。
- テスト環境(またはテスト用プロパティ)で、一覧 → 商品 → カート → 購入の操作を行う
- DebugView で、各イベントが順番に送られ、
itemsの中身が正しいかを確認する - 本番に公開したあと、翌日以降に収益化レポートで、購入数と収益を EC の管理画面の数値と比べる
- 大きな差がある場合は、計測の漏れや重複を調べる(数%程度の差は正常の範囲)
まとめ
- e コマース計測は、一覧の表示から購入・返金までの推奨イベントで行う
- 商品の情報は
items配列で送り、item_idかitem_nameのどちらかは必須 purchaseにはtransaction_id、value、currencyを必ず送る- 実装は GTM とデータレイヤーで行うことが多く、
ecommerce: nullで前の情報をクリアする purchase→ ファネルの主要イベント → 細かいイベントの順で優先して実装し、管理画面の数値と照らし合わせて確認する
次の章では、計測した e コマースのデータを使って、商品ごとの分析を行う方法を学びます。