· HARUBOUYA · analytics · 12 min read
GTMの基礎と、最初にやっておくべき設定
GTMとGA4は役割が違います。両者の関係、最初に入れるべき1つのタグ、後から効いてくる6つの初期設定を整理します。

「GTMを入れたのに数字が見えない」という相談があります。GTMは計測するツールではないため、入れただけでは何も起きません。
まず役割の違いを押さえ、そのうえで最初にやっておくべき設定を整理します。ここを最初に済ませておくと、あとで触る人が困りません。
GTM・GA4・dataLayer の役割
3つは別物で、担当が分かれています。
| 役割 | たとえると | |
|---|---|---|
| dataLayer | サイト側の情報を置く場所 | 注文票を置く棚 |
| GTM | 条件に応じてタグを配る仕組み | 棚を見て配達先を決める人 |
| GA4 | 受け取ったデータをためて見せます | 届いたものを記録する台帳 |
GTMは配達係であって、記録はしません。だからGTMを入れただけでは数字はたまりません。GA4を呼び出すタグを置いて、初めて計測が始まります。
逆に、GA4のタグを直接HTMLに書くこともできます。GTMを使う利点は、サイトのコードを触らずにタグを足し引きできることにあります。計測の変更のたびに開発とリリースを待たなくてよくなります。
最初に入れるタグは1つでいい
最初にやることは、GA4の設定タグを1つ置くだけです。
| 項目 | 設定値 |
|---|---|
| タグの種類 | Google アナリティクス: GA4 設定 |
| 測定ID | G- で始まるID(GA4の管理画面で確認) |
| トリガー | All Pages(全ページビュー) |
これだけで、全ページのページビューがGA4に届きます。スクロールやクリックなどは後から足せばよいです。最初から細かいイベントを設計しません。
トリガーの選び方でつまずく
トリガーには似た名前のものが並んでいます。
| トリガー | 発火のタイミング | GA4設定タグでの使用 |
|---|---|---|
| All Pages | ページの読み込み時 | これを使います |
| Initialization | 他のタグより前 | 同意管理など特殊な用途 |
| Consent Initialization | 最も早いです | 同意管理ツール専用 |
GA4設定タグを Initialization に入れると、意図しない順序で動くことがあります。通常は All Pagesです。
最初にやっておくべき6つの設定
ここからが本題です。どれも最初は不要に見えますが、タグが増えてから効いてきます。
1. 命名規則を決める
タグ・トリガー・変数が20を超えると、名前が頼りになります。先に規則を決めます。
| 対象 | 形式 | 例 |
|---|---|---|
| タグ | [種別] 目的 | [GA4] ページビュー |
| トリガー | [種別] 条件 | [PV] 全ページ |
| 変数 | [種別] 内容 | [DLV] 注文ID |
環境を分けている場合は接頭辞を足します([本番] / [検証])。後から一括で直すのは現実的でないので、最初に決めます。
2. 測定IDを定数変数にする
測定IDをタグに直接書かず、定数変数として1箇所に持ちます。
変数名: [定数] GA4測定ID
種類 : 定数
値 : G-XXXXXXXXXXタグ側では {{[定数] GA4測定ID}} を参照します。タグが増えても、IDの変更は1箇所で済みます。検証用と本番用でIDを切り替えるときにも効きます。
3. 組み込み変数を有効にする
GTMには最初から用意された変数がありますが、既定では一部しか有効になっていません。「変数」→「設定」から、少なくとも次を有効にしておきます。
- Click Classes / Click ID / Click URL / Click Text
- Form ID / Form Classes
- Page Path / Page URL / Referrer
- Scroll Depth Threshold
後からクリック計測を足すときに、これらがないと条件が書けません。先に有効にしておくだけで、あとの作業が減ります。
4. 社内のアクセスを除外する
自分たちのアクセスが数字に混ざると、少ないうちは影響が大きいです。
除外はGA4側で行います。GTMではありません。管理画面の「データストリーム」→「タグ設定を行う」→「内部トラフィックの定義」で、社内のIPアドレスを登録します。そのうえで「データフィルタ」を有効にします。
登録しただけではフィルタは動きません。データフィルタを「有効」にするところまでやってください。
5. 公開できる人を絞る
GTMの怖いところは、公開ボタン1つで全ページのタグが変わることです。
| 権限 | 与える相手 |
|---|---|
| 公開 | 責任者1〜2名 |
| 承認 | レビューする人 |
| 編集 | 作業する人 |
| 読み取り | 確認だけする人 |
作業者に公開権限を渡さないでください。検証せずに公開されると、全ページに影響が出ます。
6. バージョンに説明を書く
公開のたびにバージョンが作られます。ここの説明欄が空だと、何を変えたかが後から分かりません。
書くのは3行で足ります。
何を: GA4のイベント「資料請求完了」を追加
なぜ: 資料請求のCV計測を開始するため
確認: プレビューで発火を確認済み不具合が出たときに、どのバージョンまで戻せばよいかが即座に分かります。
dataLayer の基本
サイト側の情報をGTMに渡す仕組みです。形は決まっています。
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: 'purchase_completed',
order_id: 'A12345',
order_total: 12800,
});eventがトリガーの条件になります- それ以外のキーは、データレイヤー変数として GTM 側で受け取ります
イベント名は小文字とアンダースコアで統一します(purchase_completed)。日本語や記号を混ぜると、後の設定で扱いづらいです。
GTM側では「変数」→「新規」→「データレイヤーの変数」で、order_id のようにキー名を指定して受け取ります。
サイト側とGTM側で、キー名の対応表を1枚作っておきます。 これがないと、開発側と計測側で認識がずれます。
公開前の確認手順
- GTM の右上 「プレビュー」 をクリック
- 対象サイトのURLを入力して接続
- 画面を操作し、Tags Fired に目的のタグが出るか確認
- Variables タブで、変数に値が入っているか確認
- GA4 の DebugView で、イベントが届いているか確認
3と5の両方を見ます。GTMで発火していても、GA4に届いていないことがあります。 発火=到達ではありません。
やりがちな失敗
| 失敗 | 何が起きるか |
|---|---|
| GA4設定タグを複数置きます | ページビューが二重計測されます |
| トリガーを Initialization にします | 順序が狂い、値が取れないことがあります |
| 何でもカスタムHTMLで書きます | 標準タグの機能が使えず、保守できなくなります |
| 命名がバラバラ | 担当が代わった時点で誰も触れなくなります |
| バージョンの説明が空 | 問題発生時に戻す先が分かりません |
| 公開権限を全員に渡します | 検証前の変更が全ページに出ます |
二重計測は特に気づきにくいです。 数字が増えていると、人は問題だと思いません。
次にやること
初期設定が終わったら、計測したいものを1つずつ足していきます。優先順位の目安は次のとおりです。
- コンバージョン(問い合わせ完了、購入完了)
- 主要な導線のクリック
- スクロール深度、滞在
- 外部ツールとの連携
いきなり全部を設計しません。1つ入れて、確認して、次に進みます。
なお、地域や取り扱うデータによっては、同意管理の仕組みが必要になります。該当する場合は、通常のタグ設定より先に検討します。
まとめ
- GTMは配達係、GA4は台帳、dataLayerは受け渡しの場所
- 最初に入れるのは GA4 設定タグ1つです。トリガーは All Pages
- 命名規則・定数変数・組み込み変数・内部トラフィック除外・権限・バージョン説明の6つを先にやります
- イベント名は小文字とアンダースコアにします。キー名の対応表を作ります
- 公開前は GTM のプレビューと GA4 の DebugView の両方を見ます
- 発火している=届いている、ではありません
初期設定は地味ですが、タグが増えてから効いてきます。あとで触る人のためにやる作業だと考えるとよいです。その「あとで触る人」は、たいてい半年後の自分になります。
参考になったら、いいねを押してください。





