ainative-gtm-mcp について
ainative-gtm-mcpは、AIエージェントからGoogle Tag ManagerのコンテナとGoogle Adsのキャンペーンを管理するMCPサーバーです。コンテナ監査や公開に加え、キャンペーン作成、ターゲティング、コンバージョン計測、レコメンデーション管理を扱います。
主な機能
- 01GTMアカウントとコンテナの一覧・管理
- 02タグとトリガーの監査・更新
- 03バージョン作成とGTM変更の公開
- 04Google Adsキャンペーンの作成・調整
- 05入札、予算、ターゲティングの管理
- 06コンバージョンとレコメンデーション設定の監査
活用シーン
- 01誤作動するコンバージョンタグの発見と修正
- 02Google Adsキャンペーンの作成と公開
- 03コンバージョン目標とアカウント実績の確認
- 04予算と自動適用レコメンデーションの管理
MCP 対応
Google Tag ManagerとGoogle Adsを扱う57種類のツールをMCPクライアントに公開し、監査、編集、公開、キャンペーン管理、レポートをプログラムから実行できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @ainative/gtm-mcpGOOGLE_ADS_DEVELOPER_TOKENシークレットGoogle Ads API developer token (required for Google Ads tools)GOOGLE_ADS_CUSTOMER_IDDefault Google Ads customer ID (10 digits, no dashes)GTM_SERVICE_ACCOUNT_KEY_PATHシークレットPath to a Google Cloud service-account JSON key with Tag Manager API accessローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
57掲載時のツール一覧 · 2 週間前に更新
このツールにパラメーターはありません。
詳細
@ainative/gtm-mcp
Google Tag Manager および Google Ads の MCP サーバーです。AI エージェント(Claude、Cursor、およびすべての MCP クライアント)から、GTM コンテナと Google Ads のキャンペーン、予算、コンバージョン、プレースメント、地域ターゲティングの監査・修正・管理や、推奨事項の自動適用を行えます。
AINative のオープンソースツールの一部です。
7 カテゴリにわたる 57 個のツール:アカウント、タグ、トリガー、監査、バージョン/公開、そして Google Ads の完全なライフサイクル(39 個のツール)。キャンペーン/広告グループ/RSA/RDA/HTML5 広告、Performance Max、入札戦略と入札管理、広告表示オプション(サイトリンク/コールアウト/構造化スニペット/電話番号表示オプション)、オーディエンス、オフラインの gclid コンバージョン インポート、地域/言語ターゲティング、予算、プレースメント、推奨事項の自動適用など、キャンペーンの構築、公開、追跡、調整をエンドツーエンドで実行できます。すべてプログラムで操作でき、UI は不要です。
キーワード: google tag manager mcp、google ads mcp、gtm mcp server、google ads api mcp、conversion tracking mcp、campaign budget management、negative placement / click-fraud exclusion、geo targeting、auto-apply recommendations、recommendation subscriptions、conversion goals、Smart Bidding、PPC automation、ad spend control、Claude MCP、model context protocol、AI agent advertising tools。
クイックスタート
1. インストール
# Claude Code (recommended)
claude mcp add ainative-gtm-mcp npx -- -y @ainative/gtm-mcp \
-e GTM_SERVICE_ACCOUNT_KEY_PATH=/path/to/service-account.json
# Or run directly
npx @ainative/gtm-mcp
2. Google Cloud 認証を設定する
このサーバーは、Tag Manager API へのアクセス権を持つ Google Cloud の サービスアカウントで認証します。ブラウザーでの OAuth フローはありません。ヘッドレス環境やエージェントでの使用を想定しています。
ステップ 1 — Tag Manager API を有効にする
- Google Cloud Console にアクセスします
- プロジェクトを選択するか、新規作成します
- API とサービス → ライブラリに移動します
- Tag Manager API(
tagmanager.googleapis.com)を検索し、有効にするをクリックします
ステップ 2 — サービスアカウントを作成する
- IAM と管理 → サービスアカウントに移動します
- サービスアカウントを作成をクリックします
- 名前を付けます(例:
gtm-mcp-agent) - GCP レベルでのロールの割り当てはスキップします。GTM には独自の権限システムがあります
- 完了をクリックし、サービスアカウントを開きます
- 鍵 → 鍵を追加 → 新しい鍵を作成 → JSONに移動します
- JSON キーファイルをダウンロードし、安全に保管します
ステップ 3 — GTM でサービスアカウントにアクセス権を付与する
多くの人が見落とすステップです。GCP のサービスアカウントは、別途 Google Tag Manager 内でユーザーとして追加する必要があります。
- tagmanager.google.com にアクセスします
- 管理(上部のナビゲーション)をクリックします
- アカウントの下にあるユーザー管理をクリックします
- + → ユーザーを追加をクリックします
- サービスアカウントのメールアドレスを入力します(例:
[email protected]) - 権限を公開に設定します(タグの編集と公開に必要です)
- 保存します
注: 読み取りアクセス(監査)のみが必要な場合は、読み取り権限で十分です。
ステップ 4 — 環境変数を設定する
export GTM_SERVICE_ACCOUNT_KEY_PATH="/path/to/service-account.json"
# Or use inline JSON (useful for CI/CD)
export GTM_SERVICE_ACCOUNT_KEY_JSON='{"type":"service_account","project_id":"...","private_key":"..."}'
# Or use Application Default Credentials
gcloud auth application-default login
3. Claude Code に接続する
claude mcp add ainative-gtm-mcp npx -- -y @ainative/gtm-mcp \
-e GTM_SERVICE_ACCOUNT_KEY_PATH=/path/to/service-account.json
または、プロジェクトのルートに .mcp.json を追加します。
{
"mcpServers": {
"ainative-gtm-mcp": {
"command": "npx",
"args": ["-y", "@ainative/gtm-mcp"],
"env": {
"GTM_SERVICE_ACCOUNT_KEY_PATH": "/path/to/service-account.json"
}
}
}
}
セキュリティ: キーのパスが含まれている場合は、
.mcp.jsonを.gitignoreに追加してください。チームメンバー向けのテンプレートには.mcp.example.jsonを使用してください。
4. 動作を確認する
Claude に次のように尋ねます。
List my GTM accounts
期待される結果:GTM アカウント名と ID が返されます。空の配列 [] が返される場合、サービスアカウントはまだ GTM に追加されていません(上記のステップ 3)。
重要:GTM と Google Ads のコンバージョンの違い
この MCP サーバーは、タグ、トリガー、変数、公開などの Google Tag Manager コンテナを管理します。
GA4 で ads_conversion_PURCHASE_1 などのイベントが表示される場合、それらは GTM タグではなく、Google Ads から自動インポートされたコンバージョン(GA4 と Google Ads のアカウント連携経由)である可能性があります。その場合:
- イベントが GTM タグ経由で発火する場合 →
gtm_find_misfiring_conversion_tagsを使って修正します - イベントが GA4 にインポートされた Google Ads コンバージョンの場合 → GTM ではなく、Google Ads → ツール → コンバージョンで修正します
違いを見分けるには、GTM コンテナにタグがなく(gtm_list_tags が [] を返す場合)、コンバージョンイベントは GTM 以外から発生しています。
例:誤作動しているコンバージョンタグを修正する
最もよくあるGTMの課金上の問題は、Google Adsのコンバージョンタグが購入完了ページでのみ発火するのではなく、すべてのページビューで発火することです。
1. List your accounts:
"List my GTM accounts"
→ accountId: 123456789
2. List containers:
"List containers for account 123456789"
→ containerId: 987654321, publicId: GTM-XXXXXXX
3. Audit the container:
"Audit container 987654321 in account 123456789"
→ health score, list of issues including misfiring tags
4. Find misfiring conversion tags:
"Find misfiring conversion tags in container 987654321"
→ shows which tags fire on All Pages instead of specific events
5. Fix the tag:
"Fix tag 42 to only fire on the purchase_confirmed event"
→ gtm_fix_conversion_tag_trigger creates a scoped Custom Event trigger
and rewires the tag automatically
6. Review and publish:
"Show pending workspace changes, then publish"
→ gtm_get_workspace_status + gtm_publish
ツールリファレンス
アカウントとコンテナ(3個のツール)
| ツール | 説明 |
|---|---|
gtm_list_accounts | アクセス可能なすべてのGTMアカウントを一覧表示します |
gtm_list_containers | アカウント内のコンテナを一覧表示します |
gtm_get_container | コンテナの詳細を取得します |
タグ(4個のツール)
| ツール | 説明 |
|---|---|
gtm_list_tags | ワークスペース内のすべてのタグを一覧表示します |
gtm_get_tag | タグの完全な設定を取得します |
gtm_update_tag | タグを更新します(トリガー、パラメーター、名前) |
gtm_delete_tag | タグを削除します |
トリガー(4個のツール)
| ツール | 説明 |
|---|---|
gtm_list_triggers | すべてのトリガーを一覧表示します |
gtm_get_trigger | トリガーの設定を取得します |
gtm_create_trigger | 新しいトリガーを作成します |
gtm_update_trigger | 既存のトリガーを更新します |
監査と修正(3個のツール)
| ツール | 説明 |
|---|---|
gtm_audit_container | コンテナの完全な監査を実行します。健全性スコア(0~100)と問題の一覧を表示します |
gtm_find_misfiring_conversion_tags | 特定のイベントではなく、All Pagesで発火しているコンバージョンタグを検出します |
gtm_fix_conversion_tag_trigger | 誤作動しているタグを修正します。対象を限定したカスタムイベントトリガーを作成し、タグに割り当てます |
バージョンと公開(4個のツール)
| ツール | 説明 |
|---|---|
gtm_list_workspaces | ワークスペースを一覧表示します |
gtm_get_workspace_status | 公開前に保留中の変更を確認します |
gtm_create_version | ワークスペースの変更から名前付きバージョンを作成します |
gtm_publish | ワークスペースを公開環境に公開します |
Google Ads(39個のツール)
キャンペーンのライフサイクル全体をプログラムで実行できます。エージェントはUIを使わずに、キャンペーンの構築、開始、測定、最適化を最初から最後まで行えます。
構築(キャンペーン、広告グループ、広告、アセット)
| ツール | 説明 |
|---|---|
gads_create_campaign | 専用予算と適切なネットワーク設定で、検索/ディスプレイキャンペーンを作成します |
gads_create_pmax_campaign | 1回の呼び出しでパフォーマンス最大化キャンペーンを構築 — キャンペーン、予算、アセットグループ(見出し、説明文、画像、ロゴ)をまとめて作成します。GoogleのAIが検索/ディスプレイ/YouTube/Gmail全体で最適化します |
gads_create_ad_group | キャンペーン内に広告グループを作成します |
gads_create_responsive_search_ad | レスポンシブ検索広告(見出し3~15個、説明文2~4個。文字数を検証)を作成します |
gads_create_responsive_display_ad | レスポンシブディスプレイ広告を作成します |
gads_create_html5_ad | メディアバンドルからHTML5アップロード(アニメーション)ディスプレイ広告を作成します |
gads_upload_image_asset | URLから画像アセットをアップロードします |
gads_upload_media_bundle | HTML5メディアバンドル(zip)アセットをアップロードします |
入札戦略と入札単価
| ツール | 説明 |
|---|---|
gads_set_bidding_strategy | 入札戦略を切り替えます(クリック数の最大化/コンバージョン数の最大化/目標CPA/目標ROAS/手動CPC)。変更内容を読み戻して、適用されたことを確認します(ペイロードが空の切り替えは、何もせずに終了することがあります) |
gads_set_ad_group_bid | 広告グループのデフォルトの上限CPC入札単価を設定します |
gads_set_keyword_bid | 特定のキーワードの上限CPC入札単価を設定します |
広告の管理
| ツール | 説明 |
|---|---|
gads_set_ad_status | 個別の広告を一時停止/有効化/削除します |
gads_request_ad_review | APIから異議申し立て可能な場合に、不承認または制限された広告の再審査をリクエストします(UIからのみ対応できるポリシー関連の問題については、対応できないことを明示します) |
広告表示オプション(アセット)
| ツール | 説明 |
|---|---|
gads_add_sitelink | サイトリンクを作成して追加します |
gads_add_callout | コールアウト(例:「7日間の無料トライアル」)を作成して追加します |
gads_add_structured_snippet | 構造化スニペットを作成して追加します |
gads_add_call_extension | 電話番号表示オプションを作成して追加します |
オーディエンスとコンバージョン(アトリビューション)
| ツール | 説明 |
|---|---|
gads_add_audience_to_ad_group | ユーザーリストのオーディエンスを追加します(観察またはターゲティング) |
gads_create_conversion_action | gclid インポート用のオフライン(UPLOAD_CLICKS)コンバージョン アクションを作成します |
gads_upload_click_conversion | gclid をキーとするオフライン コンバージョンをアップロードします。実際の登録を、そのきっかけとなった広告クリックに紐付けます |
コンバージョンとレポート
| ツール | 説明 |
|---|---|
gads_list_conversion_actions | すべてのコンバージョン アクションを一覧表示します。名前、ID、カウント方法、ステータス、カテゴリを確認できます |
gads_update_conversion_counting | コンバージョン アクションのカウント方法(ONE_PER_CLICK と MANY_PER_CLICK)を修正します |
gads_audit_conversion_goals | すべてのコンバージョン目標を監査し、カウント方法の設定ミスや無効なコンバージョンを確認します |
gads_set_conversion_goal_inclusion | コンバージョン アクションをメインの「コンバージョン」指標とスマート自動入札に含めるかどうかを設定します(例:PAGE_VIEW アクションによるコンバージョンの水増しを防ぎます) |
gads_get_account_performance | アカウント単位のパフォーマンスを表示します。日付範囲ごとのインプレッション数、クリック数、費用、コンバージョン数を確認できます |
キャンペーンと予算
| ツール | 説明 |
|---|---|
gads_update_campaign_budget | キャンペーンの日予算を設定します(広告費を増減します) |
gads_pause_campaign | キャンペーンを一時停止します。広告配信をすぐに停止します |
gads_create_keyword | 広告グループにキーワードを追加します |
gads_remove_keyword | 広告グループからキーワードを削除(一時停止)します |
ターゲティングと不正対策
| ツール | 説明 |
|---|---|
gads_remove_campaign_criterion | ID を指定してキャンペーンの条件(ターゲット地域/プレースメント/キーワード)を削除します。たとえば、不正なトラフィックを送る国へのターゲティングを停止できます |
gads_add_negative_placement | ウェブサイト/アプリのプレースメントを除外します(クイズサイトや低品質アプリなど、クリック詐欺を行うサイトをブロックします) |
gads_add_geo_target | 地域ターゲットを追加します(デフォルトでは所在地のみを対象とします。これはインドでの不正対策に有効な設定です) |
gads_set_presence_only | キャンペーンの地域ターゲティングを所在地のみを対象とする設定にします |
gads_add_negative_keyword | キャンペーン単位の除外キーワードを追加します |
gads_add_language_target | キャンペーンに言語ターゲットを追加します |
最適化案の自動適用
| ツール | 説明 |
|---|---|
gads_list_recommendation_subscriptions | 最適化案の自動適用サブスクリプションとそのステータスを一覧表示します(自動適用される内容を監査できます) |
gads_set_recommendation_subscription | 最適化案の自動適用をオン/オフにします(広告費をひそかに増やす可能性がある予算/入札単価の最適化案を一時停止します) |
Google Ads の認証
Google Ads ツールでは OAuth2 認証情報を使用します。環境変数または ADC ファイルを使って設定してください。
# Option A: Explicit env vars
export GADS_CLIENT_ID="your-client-id"
export GADS_CLIENT_SECRET="your-client-secret"
export GADS_REFRESH_TOKEN="your-refresh-token"
export GOOGLE_ADS_DEVELOPER_TOKEN="your-developer-token"
export GOOGLE_ADS_CUSTOMER_ID="1234567890"
# Option B: Use Application Default Credentials (gcloud OAuth)
# Run: gcloud auth application-default login
# The server reads ~/.config/gcloud/application_default_credentials.json automatically
export GOOGLE_ADS_DEVELOPER_TOKEN="your-developer-token"
export GOOGLE_ADS_CUSTOMER_ID="1234567890"
デベロッパー トークン: Google Ads API センターで取得できます。テストトークンはサンドボックス アカウントで使用できます。本番環境では標準トークンが必要です。
GA4 からインポートされたコンバージョンについて: GA4 に
ads_conversion_PURCHASE_1のようなイベントが表示されているのに、gads_list_conversion_actionsが空のリストを返す場合、これらのコンバージョンは Google Ads に GA4 からインポートされています(Google Ads → ツール → コンバージョンで設定)。独立したコンバージョン アクションではないため、Google Ads の UI で管理する必要があります。
トラブルシューティング
| 症状 | 原因 | 対処方法 |
|---|---|---|
gtm_list_accounts が [] を返す | サービスアカウントが GTM に追加されていない | GTM → Admin → User Management でサービスアカウントのメールアドレスを追加してください |
Tag Manager API has not been used エラー | API が有効になっていない | console.cloud.google.com → APIs & Services → Tag Manager API で有効にしてください |
タグの更新時に Permission denied が発生する | サービスアカウントの権限が読み取り専用になっている | GTM User Management で Publish 権限に変更してください |
gtm_list_tags が [] を返す | ワークスペースが空(公開済みのタグがない) | 別の workspaceId を確認するか、GTM ダッシュボードでタグの存在を確認してください |
| GA4 にコンバージョンイベントがあるが、対応する GTM タグがない | イベントが Google Ads の自動インポートによるもの | GTM ではなく Google Ads → Tools → Conversions で修正してください |
開発
git clone https://github.com/AINative-Studio/core
cd packages/mcp-servers/ainative-gtm-mcp
npm install
npm run build
npm run dev
ライセンス
MIT — AINative Studio
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。