·Googleタグマネージャー / GA4 / transaction_id / eコマース計測 / 売上分析

GTMで購入が二重に計上される|増える側と消える側は同じ原因

GTMで購入タグを設置したのに、GA4の購入数が注文より多い。設定に触ると今度は足りなくなる。増える側と消える側を分けているのは、transaction_idが注文ごとに一意かどうかの1点です。そして、そのIDを受け取る先は1つではありません。GA4はtransaction_idで購入の重複を除去し、Google広告はトランザクションIDでコンバージョンの重複を抑えます。別系統の2つが同じIDを受け取り、それぞれの規則で判定します。日本のEC 517件をスキャンした自社調査の数字と併せて、コンテナの中に購入を送るタグが何本あるかから書きました。

GTMで購入が二重に計上される|増える側と消える側は同じ原因

GTMで購入タグを設置したのに、GA4の購入数が注文より多い。設定に触ると、今度は購入数が足りなくなる。増える側と消える側を分けているのは1点だけです。そして、その1点を受け取る先は1つではありません。

この記事のまとめ#

  • 計上を決めているのはGA4の画面ではなく、GTMコンテナに購入を送るタグが何本あるか
  • タグが見える作りだった476件のうち、GA4がGTMコンテナの中にしか置かれていなかったのは24%
  • 増える側と消える側を分けるのはtransaction_idが注文ごとに一意かどうかの1点[1]
  • 受け取る先はGA4だけではなく、Google広告も別系統でコンバージョンの重複を抑える[4]
  • 修正を始める前に、GA4と広告のどちらの数字を判断の軸に置くかを決める

1. コンテナを開くまで、購入を送っているタグが何本あるかは分からない#

購入がいくつ計上されるかは、GA4の画面ではなく、GTMコンテナの中身で決まっています。

私は2026年8月に、日本のECサイト517件のタグの作りをスキャンしました。調査の対象は「特定商取引法に基づく表記」で検索上位に来る自社ドメインのECです。日本のEC全体を代表する数字ではありません。

タグが見える作りだった476件に占める割合。停止済みのユニバーサルアナリティクスのタグが残っている47%、広告タグを2媒体以上入れている35%、GA4がGTMコンテナの中にしかない24%、GA4を検出できなかった22%。重複して当てはまる社があるため合計は100%にならない

タグが見える作りだった476件のうち、GA4がGTMコンテナの中にしか置かれていなかったのは24%でした。この24%は、ページのソースを確認しただけでは分かりません。コンテナを開くまで見えないためです。停止済みのユニバーサルアナリティクスのタグがまだ残っていたのは47%で、こちらはソースに直接書かれている場合とコンテナの中にある場合が混在します。

設定部まで読めた259件に絞ると、購入イベントを確認できたのは61%(158件)でした。残りの店舗が売上を計測していない、という意味ではありません。カートの標準連携、ページへの直書き、購入完了ページ側での実装は、いずれもコンテナに現れないためです。

コンテナにはもう1つ、自分で設置した覚えのないタグが載ることがあります。ネットショップ作成サービスの中には、全店に共通のコンテナを配信する仕様のものがあるためです。スキャンで見つかった306件のコンテナIDのうち、複数の店舗に同じIDが出たものが3件ありました。含まれるのは12店舗です。このうち6店舗はネットショップ作成サービスのカートを使っており、そこに載っているタグは店舗が設置したものではなく、店舗側から編集もできません。残りは同じ運営者が複数の店舗を1つのコンテナで回している形も含まれます。カートごとに標準の計測の実装が異なる点はECカートのGTM計測を比較にまとめました。

「購入1件」は、受注管理画面では確定した注文1件です。GTMのタグではタグの配信1回、GA4では受け取った購入イベント1件、広告媒体ではコンバージョン1件。同じ言い方で、指しているものが4つに分かれています。合わせにいくのは数字ではありません。どの1件を判断に使うか、のほうです。

2. IDが一意かどうかで、同じ設定が二重にも未計上にもなる#

向きを決めているのは、transaction_idが注文ごとに一意かどうかの1点です。

購入の発生を測定するには、対応するフィールドで定義した商品アイテムを持たせたpurchaseイベントを送信します[2]。GTMのトリガーは、その種類のイベントが検出されたときにタグを呼び出します[3]。条件の重なったトリガーが同じ購入タグにぶら下がっていれば、1回の注文で2回配信されることがあります。購入タグをGTMで組む手順そのものはGTMでEC購入を計測する基本で解説しています。

transaction_idは、取引を一意に識別するIDです。このパラメータを使うと、購入イベントの重複を回避できます[5]。1つのトランザクションIDに対して購入が2件登録されていれば、Googleアナリティクス側で重複が除去されます[1]。IDそのものを送っていなければ、除去する手がかりがありません。2回届いた購入は2回のまま集計されます。増える側はこちらです。

逆向きになるのは、IDを送ってはいるが一意ではない場合です。送ってはならない値が1つあります。空の文字列です。transaction_idが空文字列の購入イベントは、1件残らず重複として除去されます[1]。全注文で同じIDを固定している場合も同じで、キーイベントが本来の値よりも大幅に少なく計上される恐れがあります[1]。必要なのは、注文ごとに変わる一意の値です[1]。

購入イベントにtransaction_idが載っているかで分岐する図。載っていなければ重複は除去されず二重のまま集計される。載っていても空の文字列や全注文で同じ値なら、すべて重複として除去され計上が消える。注文ごとに一意なら受注管理画面と一致する

増える側の切り分けの順番と、修正が終わるまでの数字の読み方はGA4の購入数が注文より多いにまとめました。この記事が扱うのは、その手前です。GTMコンテナの中で誰が送っていて、送られた先がいくつあるかを見ます。

売上が少なく出る側には、返品の扱いや計上の時点が絡む別の経路もあります。そちらはGA4の売上がShopifyと合わない理由で扱っています。

3. 同じIDを受け取る先が2つある#

GA4と広告媒体は、同じIDを受け取って別々に重複を判定します。

GA4側は前のセクションのとおりです。Google広告にも、トランザクションIDでコンバージョンの重複を抑える仕組みがあります。同じトランザクションIDのコンバージョンアクションが2回発生している場合、2回目のコンバージョンは重複していると認識されます[4]。

2つは別系統です。同じIDが両方に届き、それぞれの規則で判定されます。だから正しく設定していても、「GA4の購入数」と「広告の管理画面のCV数」と「受注管理画面の注文数」は一致しません。集計している主体から異なるためです。媒体とGA4の差そのものは広告とGA4のCV数が合わないで扱っています。

同じ購入1件を、受注管理画面・GTMのタグ・GA4・広告媒体の4つがそれぞれ何と扱うかの対比表。1件と見る単位、重複を判定する鍵、重複と判定したときの扱い、ずれが表に現れる先の4項目で対比している

一致しないことが分かったあと、実際に発生するのは次の工程です。コンテナのタグを1本ずつ開き、どのタグがGA4と広告のどちらへ何を送っているかを確かめます。送信されたIDを1件取り出し、受注管理画面の注文番号と突き合わせます。同じ作業を、購入を送っているタグの本数だけ繰り返します。共通のコンテナが混ざっていれば、編集できないぶんも確認の対象に入ります。

この工程は、修正が終わったあとも消えません。タグを1本足すたび、カート側の仕様が変わるたびに、同じ突き合わせが戻ってきます。予算の配分が翌週に持ち越されるのは、原因が分からないからではありません。この突き合わせが終わらないからです。

RevenueScopeの解決策

RevenueScope が用意するのは、突き合わせる場所です。RevenueScope が計測したチャネル別の売上の隣に、媒体が申告した実績を置きます。チャネル別のセッション・売上・RPS(セッションあたり売上)を1画面で表示します。広告費を入力した期間は、同じ画面にROASも表示します。広告費の登録は、年・月・チャネル単位のフォーム入力とCSVの一括取り込みで行います。広告費が入っているチャネルには、媒体の申告値も同じ表に表示します。表示回数・クリック・媒体計測CV数・媒体計測CV値の4項目です。RS計測の売上と、その場で突き合わせられます。

MCP経由でChatGPTなどのAIアシスタントに、直近30日のチャネル別RPSと売上シェアを尋ねます。回答はこの形で戻ります。説明のために架空店舗コハクで書き出します。

チャネルセッション売上RPS売上シェア
Meta3,20084万円263円58%
Google検索5,40032万円59円22%
Google Ads1,90019万円100円13%
Direct1,50010万円67円7%

※ 数値は説明用に置いた架空店舗コハクのもので、丸めた値です。デモ画面のもとになっているのは見本ECのサンプルデータで、日々更新されます。上の表とは金額も順序も一致しません。売上シェアは、この表の売上から算出しています。

合計145万円のうち84万円がMeta経由で、1つのチャネルが売上の6割近くを占めています。この形は好調の証ではなく、依存です。そして計上の歪みも、同じチャネルに集中します。Metaの着地ページでだけ購入タグの設定がずれていれば、影響を受けるのはこの58%です。全体の1割を占めるチャネルで同じことが起きた場合とは、判断の変わり方が違います。だから修正の前に、どの受け取る先の1件を判断に使うかを決めておきます。予算を絞るか寄せるかは、そのうえで媒体の申告値との開き方を見て決めます。

FAQ#

よくある質問#

Q. 共通のコンテナに載っているタグは、こちらで外せますか?

A. 全店に共通のコンテナを配信する仕様の場合、店舗側からは編集できません。操作できるのは、自分で設置したコンテナの中だけです。判断に使う数字は、自分で管理できる計測系統の側に置いてください。

Q. transaction_idを付けていれば、タグが2回配信されても購入数は増えませんか?

A. 同じトランザクションIDで2つの購入が登録されていれば、購入の重複は除去されます[1]。ただし空の文字列や、全注文で同じ値を使っている場合は、すべて重複として除去されます[1]。付ければよいのではなく、注文ごとに一意である必要があります[1]。

Q. GA4と広告の管理画面のCV数を一致させることはできますか?

A. 一致はしません。Google広告はトランザクションIDでコンバージョンの重複を抑える別の仕組みを持っています[4]。集計している主体が異なるので、必要なのは、どちらを判断に使うかを決めることです。

Q. 修正が終わるまで、予算配分の判断は止めたほうがいいですか?

A. 止めるかどうかより先に、どの数字を軸に置くかを決めてください。GA4の購入数、広告の管理画面のCV数、受注管理画面の注文数は、修正が終わっても一致しません。軸に決めた1つと媒体の申告値を同じ表に置いておくと、修正の前後で開き方がどう変わったかを同じ読み方で追えます。

まとめ#

GTMコンテナに何が載っているかは、開くまで分かりません。2026年8月に私が実施したスキャンでは、コンテナIDが306件見つかり、そのうち3件は複数の店舗に同じIDが出ていました。含まれるのは12店舗です。自分で設置した覚えのないタグが載る例は、実際にあります。

増える側と消える側を分けているのは、transaction_idが注文ごとに一意かどうかの1点です[1]。IDを送っていなければ二重のまま集計され、空の文字列や使い回しならすべて重複として除去されます[1]。同じ設定に触っているのに向きが反転するのは、このためです。

受け取る先も1つではありません。Google広告は、トランザクションIDでコンバージョンの重複を抑える仕組みを別に持っています[4]。修正を始める前に、GA4と広告のどちらの数字を判断の軸に置くかを先に決めてください。3つを一致させる作業は、そのあとです。

どの広告が売上を生んでいるか、一目でわかる

月5,000セッションまで、AIアナリストもずっと無料。クレジットカード不要。最短5分で導入。

あなたのサイト(例: yourshop.com) を分析する準備ができました

クレジットカード不要·最短5分で計測開始

参考文献#

関連記事