7.3 e コマース計測の全体像

推奨 e コマース イベントとアイテム データの構造を理解します。
実践書籍換算 約 12 ページ

この章で学ぶこと

  • 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 を送ってからイベントを送る
テスト注文が本番のデータに入る売上が実際より多くなるテスト用プロパティで確認する、テスト注文の識別ルールを決める

実装後の確認

実装が終わったら、次の手順で確認しましょう。

  1. テスト環境(またはテスト用プロパティ)で、一覧 → 商品 → カート → 購入の操作を行う
  2. DebugView で、各イベントが順番に送られ、items の中身が正しいかを確認する
  3. 本番に公開したあと、翌日以降に収益化レポートで、購入数と収益を EC の管理画面の数値と比べる
  4. 大きな差がある場合は、計測の漏れや重複を調べる(数%程度の差は正常の範囲)

まとめ

  • e コマース計測は、一覧の表示から購入・返金までの推奨イベントで行う
  • 商品の情報は items 配列で送り、item_id か item_name のどちらかは必須
  • purchase には transaction_id、value、currency を必ず送る
  • 実装は GTM とデータレイヤーで行うことが多く、ecommerce: null で前の情報をクリアする
  • purchase → ファネルの主要イベント → 細かいイベントの順で優先して実装し、管理画面の数値と照らし合わせて確認する

次の章では、計測した e コマースのデータを使って、商品ごとの分析を行う方法を学びます。