mcpField
C
conversion-tracking

conversion-tracking

github.com/itallstartedwithaideaマーケティング・グロース4499 回インストール29 週間前に更新
リポジトリ

conversion-tracking について

conversion-trackingは、Google Adsの計測を管理する広告主向けスキルです。Google tag、拡張コンバージョン、オフライン取り込み、アトリビューション設定の構成、検証、問題診断に対応します。

主な機能

  1. 01コンバージョンアクションの設定と検証
  2. 02Google tagの問題診断
  3. 03拡張コンバージョンの設定
  4. 04オフラインコンバージョン取り込みの管理
  5. 05アトリビューションモデルと計測期間の設定

活用シーン

  1. 01未記録・欠損コンバージョンの調査
  2. 02ファーストパーティデータによる拡張コンバージョン設定
  3. 03CRMのオフライン売上をGoogle Adsへ取り込み
  4. 04アトリビューションモデルの比較と設定

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/itallstartedwithaidea/agent-skills --skill conversion-tracking

インストール後、Claude Code で/conversion-trackingを入力して読み込まれたか確認します。

詳細

コンバージョントラッキング

Agent Skills™ の一部です。googleadsagent.ai™ が提供しています。

説明

コンバージョントラッキングスキルは、Google Ads のコンバージョン測定インフラをエンドツーエンドで管理します。正確なコンバージョントラッキングは、あらゆる最適化判断の基盤です。これがなければ、入札戦略、予算配分、キーワードの価値評価を適切に行えません。このスキルは、Google タグ、拡張コンバージョン、オフラインコンバージョンのインポート、コンバージョン値ルールまで、コンバージョン計測の全スタックにわたる設定、検証、デバッグ、アトリビューションモデルの管理を担います。

このスキルは、入札を促進するマクロコンバージョン(購入、リード、登録)と、オーディエンス構築やファネル分析に役立つマイクロコンバージョン(ページビュー、カートへの追加、動画再生)からなる、コンバージョンアクションの階層全体をカバーします。ビジネスモデルの要件に応じて、コンバージョン計測期間、ビュースルー設定、カウント方法(クリックごとに 1 回、またはすべて)を設定します。ファーストパーティデータ(メールアドレス、電話番号、住所)を使用する拡張コンバージョンを設定し、Cookie の廃止やプライバシー規制によって生じた測定の欠落を補います。

アトリビューションモデリングは重要な要素です。このスキルは、データドリブンアトリビューション(DDA)を評価して設定し、ラストクリックなどのモデルと比較することで、ファネル上部のキャンペーンがもたらす真の価値を広告主が理解できるよう支援します。オフラインでの販売サイクルがあるビジネス向けには、CRM 連携を通じたオフラインコンバージョンのインポートパイプラインを管理し、収益データが Google Ads に戻されて正確な ROAS を計算できるようにします。

使用する場面

  • ユーザーが「コンバージョントラッキングの設定」または「コンバージョンの設定」について質問した場合
  • ユーザーが「コンバージョンが記録されない」または「コンバージョンが不足している」と述べた場合
  • ユーザーが「コンバージョントラッキングをデバッグ」または「トラッキングを確認」したい場合
  • ユーザーが「拡張コンバージョン」または「ファーストパーティデータ」について質問した場合
  • ユーザーが「オフラインコンバージョン」または「CRM インポート」に言及した場合
  • ユーザーが「アトリビューションモデリング」または「データドリブンアトリビューション」について質問した場合
  • ユーザーが「Google タグを設定」または「gtag を設定」したい場合
  • ユーザーが「コンバージョン値ルール」または「コンバージョンアクション」に言及した場合
  • ユーザーが「スマート自動入札が機能しないのはなぜか」と質問した場合(多くの場合、トラッキングに関連しています)

アーキテクチャ

flowchart TD
    A[Conversion Strategy Definition] --> B[Conversion Action Setup]

    B --> C[Primary Conversions\nPurchase, Lead, Sign-up]
    B --> D[Secondary Conversions\nAdd-to-Cart, Page View]

    C --> E[Google Tag Implementation]
    D --> E

    E --> F[Base Tag: gtag.js]
    E --> G[Event Snippets]
    E --> H[Google Tag Manager]

    F --> I[Enhanced Conversions]
    G --> I
    I --> I1[Email Hashing]
    I --> I2[Phone Hashing]
    I --> I3[Address Matching]

    J[CRM / Backend Data] --> K[Offline Conversion Import]
    K --> K1[Click ID Matching: GCLID]
    K --> K2[Enhanced Conversions for Leads]
    K --> K3[Store Sales Import]

    I1 --> L[Conversion Validation Engine]
    I2 --> L
    I3 --> L
    K1 --> L
    K2 --> L
    K3 --> L

    L --> M{Validation Status}
    M -->|Healthy| N[Attribution Model Configuration]
    M -->|Issues Detected| O[Debugging Pipeline]

    O --> P[Tag Diagnostics]
    O --> Q[Data Discrepancy Analysis]
    O --> R[Cross-Platform Reconciliation]

    N --> S[Data-Driven Attribution]
    N --> T[Conversion Value Rules]
    N --> U[Conversion Window Optimization]

実装

コンバージョントラッキングの検証およびデバッグのフレームワーク:

async function validateConversionTracking(customerId) {
  const conversionActions = await getConversionActions(customerId);
  const tagDiagnostics = await runTagDiagnostics(customerId);
  const recentConversions = await getRecentConversions(customerId, 7);

  const issues = [];

  for (const action of conversionActions) {
    if (action.status !== 'ENABLED') continue;

    const validation = {
      actionName: action.name,
      category: action.category,
      tagInstalled: tagDiagnostics[action.id]?.installed ?? false,
      firingCorrectly: tagDiagnostics[action.id]?.recentFires > 0,
      conversionCount7d: recentConversions[action.id]?.count ?? 0,
      conversionLag: calculateConversionLag(recentConversions[action.id]),
      duplicateRate: detectDuplicates(recentConversions[action.id]),
      valueAccuracy: validateConversionValues(recentConversions[action.id])
    };

    if (!validation.tagInstalled) {
      issues.push({ action: action.name, severity: 'critical', issue: 'Tag not detected on website' });
    }
    if (!validation.firingCorrectly) {
      issues.push({ action: action.name, severity: 'critical', issue: 'Tag installed but not firing' });
    }
    if (validation.duplicateRate > 0.05) {
      issues.push({ action: action.name, severity: 'high', issue: `${(validation.duplicateRate * 100).toFixed(1)}% duplicate conversion rate detected` });
    }
  }

  return { conversionActions, issues, overallHealth: issues.length === 0 ? 'healthy' : 'needs_attention' };
}

拡張コンバージョンの設定:

function generateEnhancedConversionTag(config) {
  const { conversionId, conversionLabel, dataSource } = config;

  return `

<script async src="https://www.googletagmanager.com/gtag/js?id=${conversionId}"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', '${conversionId}');

  gtag('set', 'user_data', {
    'email': hashUserEmail(),
    'phone_number': hashUserPhone(),
    'address': {
      'first_name': document.getElementById('first_name')?.value,
      'last_name': document.getElementById('last_name')?.value,
      'street': document.getElementById('street')?.value,
      'city': document.getElementById('city')?.value,
      'region': document.getElementById('region')?.value,
      'postal_code': document.getElementById('postal_code')?.value,
      'country': document.getElementById('country')?.value
    }
  });

  gtag('event', 'conversion', {
    'send_to': '${conversionId}/${conversionLabel}',
    'value': getTransactionValue(),
    'currency': 'USD',
    'transaction_id': getOrderId()
  });
</script>`;
}

async function setupOfflineConversionImport(customerId, crmConfig) {
  const { crmType, conversionActionName, uploadFrequency } = crmConfig;

  const pipeline = {
    source: crmType,
    gclidCapture: {
      method: 'hidden_form_field',
      fieldName: 'gclid',
      storageMethod: 'crm_custom_field',
      expirationDays: 90
    },
    conversionMapping: {
      crmStage: crmConfig.qualifiedStage,
      googleAdsAction: conversionActionName,
      valueField: crmConfig.dealValueField
    },
    uploadSchedule: {
      frequency: uploadFrequency,
      lookbackWindow: '30_days',
      deduplication: 'gclid_plus_timestamp'
    }
  };

  return pipeline;
}

アトリビューションモデルの設定:

function configureAttribution(customerId, config) {
  const { preferredModel = 'DATA_DRIVEN' } = config;

  return {
    model: preferredModel,
    requirements: {
      dataDriven: {
        minConversions30d: 300,
        minClicks30d: 3000,
        eligible: config.conversions30d >= 300 && config.clicks30d >= 3000
      }
    },
    conversionValueRules: [
      { condition: 'audience_is_returning_customer', valueMultiplier: 1.5 },
      { condition: 'device_is_mobile', valueMultiplier: 0.8 },
      { condition: 'geo_is_tier1_market', valueMultiplier: 1.2 }
    ],
    conversionWindows: {
      clickThrough: config.salesCycleDays || 30,
      viewThrough: Math.min(config.salesCycleDays || 30, 30),
      engagedView: 3
    }
  };
}

Buddy™ Agent との連携

コンバージョントラッキングは、Buddy™ Agent プラットフォーム全体の測定基盤です。最適化スキルを有効にする前に、Buddy™ はコンバージョン検証パイプラインを実行し、データの整合性を確認します。トラッキングの問題が検出された場合、Buddy™ はユーザーに通知し、測定基盤が正常になるまで最適化に関する推奨を一時停止します。

Buddy™ はコンバージョンデータを継続的に監視し、コンバージョン数の急激な減少、コンバージョン率の予期しない変化、Google Ads とバックエンドシステム間の値の不一致、タグの発火失敗などの異常を検出します。こうした異常が発生すると、自動診断ワークフローが起動し、根本原因を特定して修正方法を提案します。

オフラインコンバージョンがあるアカウントでは、Buddy™ が自動インポートパイプラインを管理し、適切な GCLID マッチングを行いながら、CRM データが予定どおり Google Ads に戻されるようにします。プラットフォームはインポートの成功率を追跡し、マッチングの失敗を特定して、プラットフォーム間のコンバージョンデータを照合します。

ベストプラクティス

  1. Google Ads のデータとバックエンド/CRM の記録を比較し、コンバージョン トラッキングを毎月検証します
  2. 拡張コンバージョンを使用して、Cookie の制限によって失われたコンバージョンの 5~15%を回復します
  3. リード獲得ではコンバージョンのカウント方法を「1 回」に、e コマースでは「毎回」に設定します
  4. 実際の販売サイクルの長さに合わせてコンバージョン計測期間を設定します
  5. タグコードを変更せずに価値の高いセグメントを差別化するには、コンバージョン値ルールを使用します
  6. 可能な場合は、条件を満たすイベントから 24 時間以内にオフライン コンバージョンをインポートします
  7. クレジットを最も正確に割り当てるには、利用資格がある場合(コンバージョン数が月 300 件以上)、データドリブン アトリビューションを使用します
  8. 明確な階層を作成します。入札には主要なコンバージョンを使用し、観測のみには副次的なコンバージョンを使用します
  9. 一意のトランザクション ID を使ってコンバージョンを重複排除し、レポートの数値が膨らむのを防ぎます
  10. Google Ads のタグ診断ページを毎週確認し、タグの健全性ステータスを監視します

プラットフォームの互換性

プラットフォーム対応
Claude Code✅
Cursor✅
Codex✅
Gemini✅

関連スキル

  • Google Ads の監査 - コンバージョン トラッキングの検証は、監査の基礎となる項目です
  • 予算の最適化 - 信頼できる予算配分には、正確なコンバージョンデータが不可欠です
  • リマーケティング戦略 - コンバージョン イベントによって、コンバージョン後のオーディエンス セグメントが定義されます
  • ナレッジベースの注入 - ドメインのパターンによって、コンバージョン トラッキング診断の自動化が可能になります

キーワード

コンバージョン トラッキング、google tag、gtag、拡張コンバージョン、オフライン コンバージョン、GCLID、コンバージョンのインポート、アトリビューション モデリング、データドリブン アトリビューション、コンバージョン値ルール、コンバージョン アクション、コンバージョンのデバッグ、コンバージョンの設定、google ads conversions、コンバージョンの検証


© 2026 googleadsagent.ai™ | Agent Skills™ | MIT License

コメント