GA4

GA4 eコマース設定とコンバージョン設定:purchase イベントを正しく計測するチェックリスト

購入計測はタグが発火した時点では終わりません。GA4 eコマース設定が本当に完了する地点を、このチェックリストで示します。

GA4 eコマース設定とは、購入の瞬間を1回だけの purchase イベントとして、4つの必須パラメータ(value、currency、transaction_id、items)とともに、同じ注文を二重に数えない発火条件で計測することです。作業はイベントが飛んだ時点では終わりません。DebugView にイベントが1件だけ表示され、24〜48時間後にレポートの売上が基幹システムの注文と一致し、チャネル内訳が広告プラットフォームと同じ話をした時に完了します。以下のリストはこの3つの関門を確認するためのものです。

GA4 と基幹システムの注文一致率98 %1日3日7日14日21日30日参考データ
参考シナリオ。正しく計測された店舗では、基幹システムの注文のうち GA4 でも購入として記録される割合が、修正のたびに上がっていきます。

GA4 eコマース設定とは何を指すのか?

GA4 eコマース設定とは、購買行動の各ステップを標準のイベント名と標準のパラメータで GA4 に送ることです。タグではなく約束事だと考えてください。GA4 のレポートはこの名前を前提に作られています。命名が独自だとイベント自体は届きますが、売上・商品・コンバージョンのレポートは空のままになります。

  • view_item:商品詳細ページの閲覧。商品への関心を測ります。
  • add_to_cart:カート追加。カゴ落ち率の分母がここで決まります。
  • begin_checkout:決済フローへの進入。決済内の離脱がここで見えます。
  • purchase:注文完了。売上、ROAS、チャネル内訳の唯一の情報源です。

4つとも価値がありますが、広告の判断を決めるのは最後の1つだけです。時間が限られているなら、まず purchase を完璧にし、残りは後から埋めてください。

purchase イベントの必須パラメータは?

イベント全体を支えるのは4つのパラメータです。value(注文金額)、currency(ISO 通貨コード)、transaction_id(注文の一意な ID)、items(商品の配列)。1つでも欠けると GA4 はイベントを記録しますが、該当レポートは空になります。currency がなければ売上は計算されず、transaction_id がなければ重複除外ができず、items がなければ商品パフォーマンスがそもそも生成されません。

  • value:注文の合計金額。税と送料を含めるかを決め、その判断を基幹システムと完全に揃えてください。揃っていないと比較が毎回議論になります。
  • currency:ISO 4217 のコード(JPY、USD、EUR)。イベント階層で送ります。多通貨販売では各イベントが自分のコードを持ちます。
  • transaction_id:注文ごとに一意。ランダム生成は避け、基幹システムの注文番号から生成して突き合わせを可能にします。
  • items:商品ごとに最低限 item_id と item_name。price、quantity、カテゴリ、バリエーションは推奨で、商品レポートの深さはここから生まれます。
4
purchase イベントの必須パラメータ
24時間
同一 transaction_id の重複除外ウィンドウ
24〜48時間
標準レポートの処理時間

なぜ同じ注文が二重に計上されるのか?

重複は購入イベントをサンクスページに結び付けることから生まれます。再読み込み、戻るボタンでの再訪、共有された注文完了 URL のいずれでも再発火します。GA4 は同じ transaction_id を持つ2件目を24時間以内なら除外しますが、ID を毎回ランダム生成しているとこの保護は働かず、売上が膨らみます。

  1. transaction_id は基幹システムの注文番号から生成します。乱数、タイムスタンプ、セッション ID は使いません。
  2. イベントは決済確定時に、1か所からのみ発火させます。ページ読み込みではなく注文の状態に紐付けてください。
  3. 送信済みの ID をブラウザのセッションストレージに保存し、2回目の送信をブロックします。再読み込みに対する最も安価な保険です。
  4. ブラウザとサーバーの両方から送っている場合は片方を止めるか、両方が同じ transaction_id を使うようにします。そうしないと2件の記録が2件の注文に見えます。

計測は整った。判断はまだ手作業ですか?

Ads Sensor は整備された GA4 データと広告プラットフォームのデータを1つの画面に統合し、優先順位と根拠のある打ち手を提示します。

ベータに登録 →

返品とキャンセルは売上にどう反映されるのか?

GA4 は返品分を自動では差し引きません。注文が返品またはキャンセルされたら、別途 refund イベントを送る必要があります。送らないと GA4 の売上は次第に基幹システムの純売上を上回り、その上に積み上げた ROAS の計算はすべて楽観的になります。アパレルやシューズのように返品率が高いカテゴリでは、このずれが判断を直接ゆがめます。

  • 全額返品:元の注文と同じ transaction_id、返金額を正の value、そして currency。マイナス値は送りません。
  • 一部返品:同じ transaction_id に、返品された商品と数量だけを含む items 配列を添えます。GA4 はその行だけを差し引きます。
  • キャンセル:出荷前のキャンセルでも売上が取り消されるなら返品と同じ扱いにします。会計上は別でも、計測上は同じです。
  • 時間差:返品は販売の数日後に発生します。したがって昨日の ROAS と先月の ROAS は成熟度が異なります。同じ遅れを見込んで比較してください。

チャネル内訳を広告判断とどう合わせるか?

正しい件数と金額を計測するだけでは足りません。各購入が正しいチャネルに帰属している必要があります。内訳が壊れると売上の合計は正しく見えるのに配分が誤り、予算が誤ったチャネルへ動きます。最も多い原因は、決済代行がセッションを分断してコンバージョンを自分の手柄にしてしまうことです。

  • 参照元の除外:決済代行と 3-D セキュアのドメインを不要な参照のリストに追加します。データストリームごとに最大50ドメインまで指定できます。
  • クロスドメイン計測:カート、決済、完了ページが別ドメインなら1つの導線として宣言します。しないと遷移のたびに新しいセッションと新しい参照元が生まれます。
  • UTM の規律:有料チャネルでは自動タグ設定を有効にし、手動で付ける場合は utm_source と utm_medium を固定の語彙から選びます。自由記述は内訳を粉砕します。
  • ノーリファラーの意味:直接流入は利用者がアドレスを打ち込んだという意味ではなく、多くは情報の欠落です。直接流入の比率が異常に高いのは設定不良の最初のサインです。

内訳を直しても、GA4 と広告プラットフォームの数字は1対1では一致しません。アトリビューションモデル、コンバージョン期間、クリックの定義が異なるためです。差の原因を減らす土台としては ファーストパーティデータ戦略が効き、信号欠損の技術面は サーバーサイド計測の記事で解説しています。

設定前後の計測品質設定前設定後6298注文一致70重複購入233売上差分4118直接流入参考データ
参考シナリオ。修正後は一致した注文が増え、重複はゼロになり、売上差分と説明できない直接流入がともに下がります。

設定が終わったら何をどう検証するか?

検証は3層で行います。イベント発生時の DebugView、処理後の24〜48時間、そしてチャネル単位です。この順番を飛ばさないでください。DebugView で完璧に見える設定でも、返品の未送信や参照元の破損によってレポート層ではまだ誤っていることがあります。次の6ステップを順に実施します。

  1. DebugView:実際にテスト注文を行い、purchase イベントが1件だけ表示されることを確認します。イベントを開き、value、currency、transaction_id、items が埋まっているかを見ます。
  2. ID の一致:イベントの transaction_id は基幹システムの注文番号と文字単位で同一ですか。接頭辞や書式の違いは今のうちに直します。
  3. 再読み込みテスト:完了ページを再読み込みし、戻るボタンでも訪れます。2件目の purchase イベントが送信されてはいけません。
  4. 返品テスト:テスト注文を一部返品し、refund イベントが正しい商品を含んでいるか確認します。
  5. レポート突き合わせ:24〜48時間待ち、同じ期間の取引数と売上を基幹システムの注文と比較します。実務では数ポイントの差は通常の範囲ですが、恒常的に広がる差は実装の問題です。
  6. チャネル確認:購入したセッションの参照元とメディアを見ます。決済代行が参照元に出ていれば、除外リストが不十分です。
設定後の検証フロー1DebugViewpurchase 1回2テスト注文取引ID 一致324-48時間売上 照合4チャネル確認除外 と UTM
検証の4つの関門。DebugView でイベント1件、実注文での ID 一致、24〜48時間後の売上突き合わせ、最後に参照元の除外リストと UTM の点検。

整った GA4 データはどう広告判断に変わるのか?

ここまで来れば信頼できる売上とチャネルの表が手元にありますが、判断はまだ手作業です。そこで Ads Sensor の出番です。GA4 のトラフィック、コンバージョン、チャネル内訳のデータを Meta広告、Google 広告、TikTok 広告、Criteo の費用と1つの画面に統合し、キャンペーンを AI が読み、優先順位と根拠を付けた打ち手を出します。正直に言えば、Ads Sensor は GA4 の設定を代行しません。すでにある GA4 を読むツールです。設定はこのチェックリストであなたが完了させてください。

  • 統合テーブル:プラットフォームの費用と GA4 の売上・チャネル内訳を同じ画面に並べます。
  • AI 分析:キャンペーン単位のリスクと機会を、根拠付きの推奨として提示します。
  • 承認して適用:受け入れた推奨は各プラットフォームの API 経由で適用され、適用前後の比較が自動で記録されます。
  • 異常検知:費用、コンバージョン、売上の異常を24時間監視し、しきい値は調整できます。
  • レポートモード:代理店向けに、顧客へそのまま出せる月次レポート。

チェックリストを終えたら、次はデータに判断を生ませる段階です。ベータに登録してアカウントを接続すれば、最初の分析を確認できます。

よくある質問

GA4 の purchase イベントで必須のパラメータは何ですか?
value、currency、transaction_id、items の4つです。value は注文金額、currency は ISO 通貨コード、transaction_id は注文の一意な ID、items は購入商品の配列を運びます。items 内の各オブジェクトには最低限 item_id と item_name が必要です。
同じ注文が二重に計上されるとどうなりますか?
GA4 は同じ transaction_id を持つ2件目のイベントを24時間のウィンドウ内で除外します。ただし ID を発火のたびにランダム生成していると保護が働かず、売上が膨らみます。対策は ID を基幹システムの注文番号から生成し、発火を1か所に集約することです。
GA4 は返品を自動で売上から差し引きますか?
差し引きません。純額計算は自動では行われないため、refund イベントを送る必要があります。全額返品では元の transaction_id を再利用し、一部返品では返品された商品だけを含む items 配列を添えます。送らなければ GA4 の売上は基幹システムの純売上より高いままです。
GA4 と基幹システムの差はどこまで許容できますか?
同意の選択、広告ブロッカー、端末をまたぐ行動により、どの実装でも小さな差は出ます。実務では大きさより振る舞いが重要です。狭く安定した幅なら許容範囲、絶えず広がる差は設定の監査が必要という合図です。
なぜ決済代行がトラフィックの参照元に出てくるのですか?
利用者が決済用の別ドメインへ移動して戻ると、GA4 がそれを新しい参照として読み、コンバージョンをそのドメインに割り当てることがあります。決済代行と 3-D セキュアのドメインを不要な参照のリストに追加すれば防げます。データストリームごとに最大50ドメインまで指定できます。
設定が完了したことはどう判断しますか?
3つの関門を同時に越えた時です。DebugView に完全な purchase イベントが1件だけ表示され、24〜48時間後に取引数と売上が基幹システムの注文と一致し、購入したセッションの参照元に決済代行が現れないことです。

GA4 のデータは整った。次は判断です。

Ads Sensor は GA4 と広告プラットフォームを1つの画面にまとめ、キャンペーンを AI が読み、根拠のある打ち手を出します。

ベータに登録 →