gtm-tracking-plan について
gtm-tracking-planは、サイトURLからGoogle Tag Managerの実装仕様を作成するスキルです。計測を設計するチーム向けに、アカウント接続なしでタグ、トリガー、変数、開発者向けdataLayerコードをまとめます。
主な機能
- 01サイトまたは既存プランからイベント分類を作成
- 02GTMの変数、トリガー、タグを仕様化
- 03発火場所付きdataLayer.push()コードを作成
- 04実装順序とQA項目を提示
- 05Consent Modeを考慮
活用シーン
- 01サイトURLからGTMコンテナ構築案を作成
- 02GA4計測プランをGTM設定に落とし込む
- 03開発者向けdataLayerイベント指示を準備
- 04GTM設定と公開前QAを計画
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ cognyai/ claude-code-marketing-skills --skill gtm-tracking-planインストール後、Claude Code で/gtm-tracking-planを入力して読み込まれたか確認します。
詳細
GTM トラッキングプラン
サイト URL を指定すると、作成すべきすべてのタグ、トリガー、変数に加えて、開発者がサイトに追加する正確な dataLayer.push() スニペットを含む、完全な Google Tag Manager 構築仕様が得られます。これは、計測プランの実装部分です。アカウントへの接続は必要ありません。
/ga4-measurement-plan の実行後に使うのがおすすめです。同じ URL を渡すと、このスキルがそのプランを実現する GTM コンテナを構築します。単独で実行した場合は、まず妥当なプランを導き出します。
使い方
/gtm-tracking-plan example.com — サイト向けの完全な GTM 構築仕様
手順
1. 実装するイベントを決める
会話内に GA4 計測プランがすでにある場合は、そのイベント分類を使います。それ以外の場合は、WebFetch でサイトを取得し、サイトの種類とファネルを推測して、イベントリストを作成します(概要としては /ga4-measurement-plan と同じロジックです)。
各イベントについて、名前、発火するタイミング、パラメーター、キーイベントかどうかが必要です。
2. 変数
作成するすべての変数を、種類別に一覧にします。
- データレイヤー変数 — データレイヤーにプッシュするパラメーターごとに 1 つ作成します(
ecommerce、value、currency、transaction_id、lead_source、…) - 有効化する組み込み変数 — Click Element、Click URL、Click Text、Form ID、Page Path、Page URL に加えて、トリガーごとに該当するもの
- 定数 — GA4 測定 ID(
G-XXXXXXX) - ルックアップ/正規表現テーブル — ルーティングや値のマッピングが実際に必要な場合のみ
- 同意状態変数 — Consent Mode が対象範囲に含まれる場合
変数名、種類、設定、使用先を列にした表で示します。
3. トリガー
発火条件ごとにトリガーを 1 つ作成します。それぞれについて、名前、種類、条件を示します。
- Initialization/Consent Initialization — Consent Mode のデフォルト状態用
- Custom Event トリガー — データレイヤーのイベントごとに 1 つ作成します(
eventがpurchase、generate_lead、…と一致) — データレイヤーにプッシュするものには、この方法を推奨します - DOM ベースのトリガー(クリック、フォーム送信、要素の表示)は、サイトからデータレイヤーイベントをプッシュできない場合に限ります
- History Change — SPA のページビュー用
一貫した命名規則を使います。例:CE - purchase、Click - CTA button。
4. タグ
作成するすべてのタグを一覧にします。それぞれについて、名前、種類、発火条件、主要なフィールドを示します。
- GA4 Configuration タグ — Initialization/All Pages で発火させるものを必ず 1 つだけ作成し、測定 ID を設定します。(「必ず 1 つだけ」と明記することで、よくある二重計測のバグを防ぎます。)
- GA4 Event タグ — 手順 1 のイベントごとに 1 つ作成します。Configuration タグを参照し、データレイヤー変数からパラメーターをマッピングします
- Google Ads Conversion タグ — Ads の入札に利用するキーイベント用に作成し、コンバージョン ID/ラベルのプレースホルダーを含めます
- Consent — 対象範囲に含まれる場合は、Consent Mode のデフォルトタグと更新タグ
わかりやすい命名規則を使います。例:GA4 - Event - purchase、Ads - Conversion - Lead。
5. dataLayer スニペット
これは開発者への引き継ぎ内容です。サイトコードが必要なすべてのイベントについて、現実的なプレースホルダーを使ったコピー&ペースト可能な dataLayer.push() スニペットを提示します。
<script>
window.dataLayer = window.dataLayer || [];
dataLayer.push({ ecommerce: null }); // clear the previous ecommerce object
dataLayer.push({
event: "purchase",
ecommerce: {
transaction_id: "{{ORDER_ID}}",
value: {{ORDER_TOTAL}},
currency: "{{CURRENCY}}",
items: [
{ item_id: "{{SKU}}", item_name: "{{NAME}}", price: {{PRICE}}, quantity: {{QTY}} }
]
}
});
</script>
各キーイベントと、最も重要な非キーイベントのスニペットを含めます。それぞれについて、発火場所(どのページ/どの DOM イベントか)を記載します。
6. 実装順序と QA
次の構築手順を示します。
- 組み込み変数を有効にし、ユーザー定義変数を作成する
- トリガーを作成する
- GA4 設定タグを作成し、次にイベントタグ、最後に Ads コンバージョンタグを作成する
- dataLayer スニペットをサイトに追加する
- GTM Preview と GA4 DebugView で QA を実施する — 各イベントがパラメーターを設定した状態で一度だけ発火し、同意前には発火しないことを確認する
- 名前付きバージョンを公開する
よくある失敗パターンとして、GTM スニペットの 後 に dataLayer をプッシュする、古い ecommerce オブジェクトをクリアしない、同意前にタグが発火する、イベント名に誤字がある、などを挙げます。
7. 出力
次の内容を 1 つのドキュメントとして提出します。
GTM Tracking Plan — [site]
Container overview: X tags · X triggers · X variables
1. Variables table
2. Triggers table
3. Tags table
4. dataLayer snippets (per event, with firing location)
5. Build order
6. QA checklist
重要なルール
- GA4 設定タグは必ず 1 つだけにしてください。 そのことを明示してください。GTM で最もよくある不具合は、設定タグの重複です。
- DOM トリガーよりもカスタムイベントトリガーを優先してください。 dataLayer へのプッシュは信頼性が高く、DOM のスクレイピングは壊れやすいためです。サイトからプッシュできない場合にのみ、DOM トリガーを使用してください。
- すべての dataLayer スニペットは、そのままコピーして貼り付けられる形式にしてください。 プレースホルダーを明確に示し、発火場所を記載してください。
- Consent Mode を遵守してください。 規制対象地域では、同意を得る前にアナリティクスおよび Ads タグを発火させてはいけません。
- これは実装仕様を作成するものです。稼働中のコンテナを監査するには、
/gtm-auditを使用してください(Cogny MCP が必要です)。