商品ページは見られている。カートにも入っている。それなのに売上が思ったほど伸びない。そんなとき、いちばん知りたいのは「カートに入れた人が、どの画面で消えたのか」である。
ところがカラーミーショップの標準設定でGoogleアナリティクス(GA4)を入れただけでは、この問いに答えられない。「カートに入れた」と「買った」の間が、まるごと空白になっているからだ。
この空白を埋めるのが、プレミアムプラン向けのアプリ「タグ管理 for GTM」である。Googleタグマネージャー(GTM)をカート画面まで届けられるので、カートの4つの画面それぞれにGA4のイベントを打てるようになる。この記事では、その手順を最初から最後まで整理する。
かご落ち率とは何か、標準設定ではどこまで見えるか
かご落ち率は、カートに商品を入れた人のうち、購入せずに離脱した人の割合だ。式にすると「1 − 購入数 ÷ カート投入数」になる。ECサイト全体の平均は6〜7割と言われることが多く、カートに入れた人の大半は買わないのが普通である。だからこそ、ここを少し改善するだけで売上への効きが大きい。
カラーミーショップには管理画面に「Google Analytics eコマース設定」があり、GA4の測定IDを入れるだけで次の3つのイベントが取れる(レギュラー/ラージ/プラチナ/プレミアムプラン)。
| イベント | 意味 |
|---|---|
| view_item | 商品ページを見た |
| add_to_cart | カートに入れた |
| purchase | 購入が完了した |
つまり、標準設定でも「かご落ち率そのもの」は add_to_cart と purchase の比で出せる。問題はその中身だ。カート画面で送料を見て帰ったのか、住所入力が面倒で帰ったのか、最後の確認画面で迷って帰ったのか。この3つは打ち手がまったく違うのに、標準設定では区別できない。
なぜカート画面だけ計測できないのか
カラーミーショップでは、トップページや商品ページのHTML・CSSはテンプレート編集で自由にいじれる。しかしカート画面はセキュリティ上の理由でタグを置けない。ヘルプにも、購入完了ページ以外のカートページにはタグを設置できないと明記されている。購入完了ページだけは「コンバージョンタグ」の設定欄から入れられるが、その手前の画面は手が届かない。
「タグ管理 for GTM」は、この制約をアプリ側で解決するものだ。GTMのコンテナIDを登録すると、アプリがコンテナスニペットを自動生成して、ショップ画面・カート画面・購入完了画面の3種類に配信してくれる。あとはGTMの中で好きなタグを組めばよい。
利用できるのはプレミアムプランのみ。アプリ自体の追加料金はなく、アプリストアから追加する。
用意するもの
- カラーミーショップ プレミアムプランの契約
- Googleタグマネージャーのアカウントとコンテナ(無料。「GTM-」で始まるIDが発行される)
- GA4のプロパティと測定ID(「G-」で始まる)
GTMとGA4の作成手順はGoogleの公式ヘルプに任せる。ここからはカラーミーショップ固有の部分だけを書く。
Step 1. タグ管理 for GTM を設定する
- アプリストアで「タグ管理 for GTM」を追加する
- アプリ管理画面の「初期設定」に、GTMのコンテナID(GTM-XXXXXXX)を登録する
- 同じ画面から「コンテナ用のJSONファイル」をダウンロードする
- GTMを開き、「管理」→「コンテナをインポート」で、そのJSONファイルを取り込む。ワークスペースは「既存」、インポートオプションは必ず「統合」を選ぶ
- GTMの右上「公開」を押す
- アプリ管理画面に戻り、「タグの設置画面を選択」でショップ画面・カート画面・購入完了画面の3つすべてを有効にする
- ショップの任意のページを開き、ブラウザの検証ツール(右クリック→「検証」)で自分のコンテナIDが入っているか確認する
4番のインポートオプションで「上書き」を選ぶと、それまでGTMに作ってあったタグやトリガーがすべて消える。すでにGTMを広告計測などで使っている場合は特に気をつけたい。
このJSONファイルには、カラーミーショップの画面に合わせたトリガーと、カート内の商品情報や顧客IDを扱う変数があらかじめ入っている。今回のかご落ち計測ではトリガーを自分で作るので変数は使わないが、後で「カートに入っている商品名も送りたい」となったときに役立つ。
Step 2. カートの4つの画面を知る
カラーミーショップのカートは、次の4つの画面でできている。URLのパスで見分けられる。
| 画面 | URLに含まれる文字列 | 送るGA4イベント名 | ここで離脱する人の仮説 |
|---|---|---|---|
| ショッピングカート(カートに入れた直後) | /cart/ | begin_checkout | 送料や合計金額を見て負担に感じた |
| お客様情報・配送・支払い方法の入力 | /cart/checkout | add_shipping_info | 入力が面倒、使いたい支払い方法がない |
| 注文確認 | /cart/checkout-confirm | checkout_confirm(独自) | 最後にためらった、内容に不安があった |
| 購入完了 | /cart/checkout-complete | purchase(後述の注意あり) | ここに来た人は買った人 |
begin_checkout、add_shipping_info、purchase はGA4が「推奨イベント」として名前を決めているものだ。この名前を使っておくと、GA4の標準レポートで自動的に集計対象になる。注文確認画面には該当する推奨イベントがないので、checkout_confirm という独自の名前にする。イベント名は半角英数字とアンダースコアで付ける。日本語の名前はGA4側で正しく扱われないことがある。
カート画面は「ページが切り替わらない」
ここが最大のつまずきポイントである。カラーミーショップのカートは、/cart/ に入ったあと、入力画面や確認画面に進んでもブラウザ上ではページを読み込み直していない。画面の中身だけが書き換わる、いわゆるシングルページアプリケーションの作りになっている。
そのためGTMの普通の「ページビュー」トリガーは、/cart/ に入った瞬間と、購入完了画面(ここは読み込み直しが起きる)でしか動かない。途中の入力画面と確認画面は、ページビューでは拾えない。
代わりに使うのが、タグ管理 for GTM が画面の切り替わりごとに通知してくれる virtualPageView というイベントだ。GTMでは「カスタムイベント」トリガーでこの名前を指定し、URLの条件を組み合わせる。ヘルプでも「カート画面をすべて計測するには、カート画面のトリガーとショッピングカート遷移時のトリガーを併せて設定する」と案内されているのは、この事情による。
Step 3. GTMでトリガーとタグを作る
まずトリガーを4本作る。「トリガー」→「新規」から、次の設定で1本ずつ保存する。
| トリガー名(任意) | トリガーの種類 | 発生場所 | 条件 |
|---|---|---|---|
| カート画面 | ページビュー | 一部のページビュー | Page URL 含む /cart/ |
| 入力画面 | カスタムイベント(イベント名 virtualPageView) | 一部のカスタムイベント | Page URL 含む /cart/checkout |
| 注文確認画面 | カスタムイベント(イベント名 virtualPageView) | 一部のカスタムイベント | Page URL 含む /cart/checkout-confirm |
| 購入完了画面 | ページビュー | 一部のページビュー | Page URL 含む /cart/checkout-complete |



「/cart/checkout」という条件は「/cart/checkout-confirm」や「/cart/checkout-complete」にも一致してしまう点に注意する。入力画面のトリガーが確認画面でも動くのを避けたいなら、「Page URL 含む /cart/checkout」に加えて「Page URL 含まない /cart/checkout-」という条件を足しておくと安全だ。
次にタグを4本作る。「タグ」→「新規」で、タグの種類は「Google アナリティクス: GA4 イベント」を選び、測定IDに自分の「G-」のIDを入れる。イベント名とトリガーの組み合わせはこうなる。
| タグ名(任意) | イベント名 | 配信トリガー |
|---|---|---|
| GA4 カート | begin_checkout | カート画面 |
| GA4 入力 | add_shipping_info | 入力画面 |
| GA4 注文確認 | checkout_confirm | 注文確認画面 |
| GA4 購入完了 | purchase(または checkout_complete) | 購入完了画面 |



GA4イベントタグは、同じコンテナに「Google タグ」(測定IDを設定する土台のタグ)が1本必要になる。まだ無ければ、タグの種類「Google タグ」で作り、すべてのページで配信しておく。
二重計測に気をつける
すでにカラーミーショップの「Google Analytics eコマース設定」でGA4を入れている場合、purchase はそちらから既に送られている。GTMからも purchase を送ると購入が2回数えられ、コンバージョン数がおかしくなる。標準設定を使っているなら、GTM側の完了画面のイベントは checkout_complete のような別名にするか、そもそも作らずに既存の purchase をファネルの最終ステップに使えばよい。
同じ理由で、GTMの「Google タグ」がページビューを送ると page_view も二重になる。標準設定と併用するときは、Google タグの構成設定で send_page_view を false にしておくと、GTM側はイベント送信専用になって衝突しない。
Step 4. プレビューで動きを確かめる
公開する前に、GTM右上の「プレビュー」から自分のショップのURLを開く。商品をカートに入れて、入力画面、確認画面へと進みながら、デバッグ画面の「Tags Fired」に4本のタグが順番に出てくるかを見る。入力画面と確認画面で virtualPageView のイベントが並んでいれば、切り替わりが正しく拾えている。
GA4側は「管理」→「DebugView」で、同じイベントがリアルタイムに届いていることを確認できる。ここまで見えたらGTMを「公開」する。テスト注文をするなら、最後まで進めて purchase の重複が無いかも同時に見ておく。
Step 5. GA4の探索レポートでかご落ちを見る
データが溜まったら、GA4の「探索」→「ファネルデータ探索」を開き、ステップを次の順で並べる。
- add_to_cart(標準設定から届いているもの)
- begin_checkout
- add_shipping_info
- checkout_confirm
- purchase
レポートには各ステップの「完了率」と「放棄率」が並ぶ。最初と最後を比べたものが全体のかご落ち率で、途中でいちばん放棄率の高いステップが、いま直すべき場所だ。新しく作った checkout_confirm はGA4に認識されるまで1日ほどかかることがあるので、翌日以降に見るとよい。
数字が出たら何をするか
計測は目的ではなく、打ち手を選ぶための道具である。落ちている場所ごとに、まず疑うべきことをまとめる。
- カート画面で落ちる:送料が初めて見える瞬間。送料無料ラインの表示、商品ページへの送料明記、まとめ買いの提案を考える
- 入力画面で落ちる:住所や支払い方法の入力負荷。Amazon PayなどのID決済を有効にして入力を飛ばせるようにする、支払い方法の選択肢を見直す
- 確認画面で落ちる:最後のためらい。返品・交換の案内、お届け日の目安、問い合わせ先が確認画面から見えるかを点検する
打ち手を一つ入れたら、同じファネルを翌月また見る。放棄率が動いたかどうかで、その打ち手が効いたかを判断できる。これが「かご落ち率を測る」ことの本当の価値である。
知っておきたい注意点
- クイックカートイン(商品一覧から直接カートに入れる機能)を使っているショップでの動作は、この記事の手順では未検証。カートへの入り方が変わるため、/cart/ のトリガーが期待どおりに動くかをプレビューで必ず確かめる
- タグ管理 for GTM は、設置したタグの動作をすべて保証するものではない。GTMで組んだ内容の責任はショップ側にある
- 2025年7月28日より前にアプリを追加していた場合、JSONに入っているトリガー名が「newcart_カート画面」のように旧名になっている。この記事のようにトリガーを自作するなら影響はない
- アプリを削除すると、配信されていたコンテナスニペットはすべて外れる。再追加するとコンテナIDは引き継がれるが、設置画面の選択はすべて無効に戻るので、もう一度有効にする
まとめ
カラーミーショップのカート画面はふつうタグが置けない。タグ管理 for GTM を使えばGTMがそこまで届き、カートの4画面それぞれにGA4イベントを打てる。途中の画面はページが切り替わらないので、virtualPageView のカスタムイベントで拾う。標準設定と併用するなら purchase の二重送信を避ける。この4点を押さえれば、「どこで落ちているか」が見える状態は作れる。
数字が見えると、送料の見せ方を変えるべきか、決済を増やすべきかの議論が、勘ではなく事実から始められる。カートの向こう側を一度のぞいてみてほしい。