mcpField
G
gaql-query-patterns

gaql-query-patterns

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

gaql-query-patterns について

gaql-query-patternsは、一般的なPPC分析に使える読み取り専用のGoogle Ads Query Languageテンプレート集です。クエリ例が必要な分析担当者向けで、実行や結果の診断は別のツールやスキルが担います。

主な機能

  1. 01キャンペーン支出と進捗のクエリ
  2. 02インプレッションシェア分析テンプレート
  3. 03検索語句とキーワードのレポート
  4. 04広告とコンバージョンのクエリ
  5. 05地域・デバイス別の分析
  6. 06GAQLのフィールドと日付のガイド

活用シーン

  1. 01キャンペーン予算と進捗の確認
  2. 02費用が高く未コンバージョンの検索語句の発見
  3. 03キーワード品質スコアの監査
  4. 04アカウント全体のパフォーマンスレポート作成

インストール

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

$npx skills add https://github.com/fourteenwm/ppc-ai-skills --skill gaql-query-patterns

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

同梱ファイルREADME.md

詳細

GAQL クエリパターン

一般的な PPC 分析タスク向けの、そのまま使える GAQL(Google Ads Query Language)クエリテンプレートです。

このスキルで意図的に対応していないこと

  • クエリの実行。 これらはコピー&ペースト用のテンプレートであり、実行ツールではありません。実際に実行してエクスポートするには、お使いの API クライアント、Google Ads Scripts、または google-ads-query に貼り付けてください。
  • データの変更。 すべてのテンプレートは読み取り専用の SELECT であり、ここにあるものがアカウントを変更することはありません。
  • 変更履歴クエリへの対応。 何がいつ変更されたかを取得するには、有限の期間と LIMIT が必要です。この機能は change-history-checker にあります。期間を指定しない変更クエリは実行できません。
  • 結果の診断。 「用途」と「結果の解釈」の注記は分析の手がかりを示すものであり、実際の原因究明は診断スキル(たとえば、インプレッション シェアのクエリには impression-share-diagnostics)で行います。

キャンペーンクエリ

過去 7 日間のキャンペーン費用分析
SELECT
    campaign.id,
    campaign.name,
    campaign.status,
    campaign.advertising_channel_type,
    campaign.bidding_strategy_type,
    campaign_budget.amount_micros,
    campaign_budget.explicitly_shared,
    metrics.cost_micros,
    metrics.impressions,
    metrics.clicks,
    metrics.conversions,
    metrics.conversions_value
FROM campaign
WHERE segments.date DURING LAST_7_DAYS
ORDER BY campaign.name

用途: 最近の費用分析、予算の使用状況、キャンペーンの健全性チェック


月初から現在までのペース配分
SELECT
    campaign.id,
    campaign.name,
    campaign_budget.amount_micros,
    metrics.cost_micros
FROM campaign
WHERE segments.date DURING THIS_MONTH
ORDER BY campaign.name

用途: 月間ペース配分の計算、予算の追跡


キャンペーン設定の監査
SELECT
    campaign.id,
    campaign.name,
    campaign.status,
    campaign.advertising_channel_type,
    campaign.bidding_strategy_type,
    campaign.target_cpa.target_cpa_micros,
    campaign.target_roas.target_roas,
    campaign_budget.amount_micros,
    campaign_budget.explicitly_shared
FROM campaign
WHERE campaign.status = 'ENABLED'

用途: 設定の監査、入札戦略の確認、予算の見直し


インプレッション シェア

検索インプレッション シェア分析
SELECT
    campaign.id,
    campaign.name,
    campaign.advertising_channel_type,
    metrics.search_impression_share,
    metrics.search_budget_lost_impression_share,
    metrics.search_rank_lost_impression_share,
    metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_7_DAYS
  AND campaign.advertising_channel_type IN ('SEARCH', 'PERFORMANCE_MAX')
ORDER BY metrics.search_budget_lost_impression_share DESC

用途: 費用が消化されない原因の診断、予算の制約と品質の問題の特定

結果の解釈:

  • 予算によるインプレッション シェア損失が大きい → より多くのインプレッションを獲得できるよう予算を増やします
  • 広告ランクによるインプレッション シェア損失が大きい → 品質または関連性の問題です(予算の問題ではありません)
  • 両方とも大きい → 主な制約は予算ですが、品質にも改善が必要です

検索語句

検索語句レポート(過去 30 日間)
SELECT
    search_term_view.search_term,
    campaign.name,
    ad_group.name,
    metrics.impressions,
    metrics.clicks,
    metrics.cost_micros,
    metrics.conversions,
    search_term_view.status
FROM search_term_view
WHERE segments.date DURING LAST_30_DAYS
  AND metrics.impressions > 0
ORDER BY metrics.cost_micros DESC

用途: 除外キーワードの発見、検索語句の監査、検索意図の分析


費用が大きくコンバージョンに至っていない検索語句
SELECT
    search_term_view.search_term,
    campaign.name,
    metrics.clicks,
    metrics.cost_micros,
    metrics.conversions
FROM search_term_view
WHERE segments.date DURING LAST_30_DAYS
  AND metrics.conversions = 0
  AND metrics.cost_micros > 0
ORDER BY metrics.cost_micros DESC

用途: 無駄な費用の発見、除外キーワード候補の特定


キーワード

品質スコア付きキーワードのパフォーマンス
SELECT
    ad_group.name,
    ad_group_criterion.keyword.text,
    ad_group_criterion.keyword.match_type,
    ad_group_criterion.quality_info.quality_score,
    ad_group_criterion.quality_info.creative_quality_score,
    ad_group_criterion.quality_info.post_click_quality_score,
    ad_group_criterion.quality_info.search_predicted_ctr,
    metrics.impressions,
    metrics.clicks,
    metrics.cost_micros,
    metrics.conversions
FROM keyword_view
WHERE segments.date DURING LAST_30_DAYS
  AND ad_group_criterion.status = 'ENABLED'
ORDER BY metrics.cost_micros DESC

用途: 品質スコアの監査、キーワードのパフォーマンス分析


配信されていないキーワード(インプレッション数ゼロ)
SELECT
    campaign.name,
    ad_group.name,
    ad_group_criterion.keyword.text,
    ad_group_criterion.keyword.match_type,
    ad_group_criterion.status,
    metrics.impressions
FROM keyword_view
WHERE segments.date DURING LAST_180_DAYS
  AND campaign.status = 'ENABLED'
  AND ad_group.status = 'ENABLED'
  AND ad_group_criterion.status = 'ENABLED'
  AND metrics.impressions = 0

用途: 整理対象の機能していないキーワードの発見、アカウントの健全性維持


広告

RSA のパフォーマンス
SELECT
    campaign.name,
    ad_group.name,
    ad_group_ad.ad.id,
    ad_group_ad.ad.responsive_search_ad.headlines,
    ad_group_ad.ad.responsive_search_ad.descriptions,
    ad_group_ad.ad_strength,
    metrics.impressions,
    metrics.clicks,
    metrics.conversions,
    metrics.cost_micros
FROM ad_group_ad
WHERE segments.date DURING LAST_30_DAYS
  AND ad_group_ad.ad.type = 'RESPONSIVE_SEARCH_AD'
  AND ad_group_ad.status = 'ENABLED'
ORDER BY metrics.impressions DESC

用途: 広告のパフォーマンス確認、RSA の最適化


コンバージョン

コンバージョン アクションの一覧
SELECT
    conversion_action.id,
    conversion_action.name,
    conversion_action.type,
    conversion_action.status,
    conversion_action.category,
    conversion_action.value_settings.default_value,
    conversion_action.counting_type,
    conversion_action.attribution_model_settings.attribution_model
FROM conversion_action
WHERE conversion_action.status = 'ENABLED'
ORDER BY conversion_action.name

用途: コンバージョン トラッキングの監査、設定に誤りのあるアクションの特定


アクション別のコンバージョン パフォーマンス
SELECT
    segments.conversion_action_name,
    segments.conversion_action_category,
    metrics.conversions,
    metrics.conversions_value,
    metrics.all_conversions,
    metrics.cost_micros
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
ORDER BY metrics.conversions DESC

用途: どのコンバージョン アクションが発生しているか、値がどのように分布しているかの把握


地域別パフォーマンス

SELECT
    geographic_view.country_criterion_id,
    geographic_view.location_type,
    campaign.name,
    metrics.impressions,
    metrics.clicks,
    metrics.cost_micros,
    metrics.conversions
FROM geographic_view
WHERE segments.date DURING LAST_30_DAYS
ORDER BY metrics.cost_micros DESC

用途: 地域別の入札単価調整、地域ターゲティングの監査


デバイス別パフォーマンス

SELECT
    campaign.name,
    segments.device,
    metrics.impressions,
    metrics.clicks,
    metrics.cost_micros,
    metrics.conversions,
    metrics.average_cpc
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
ORDER BY campaign.name, segments.device

用途: デバイス別の入札単価調整、モバイルとデスクトップの分析


アカウントレベルの概要

SELECT
    customer.id,
    customer.descriptive_name,
    metrics.cost_micros,
    metrics.impressions,
    metrics.clicks,
    metrics.conversions,
    metrics.conversions_value
FROM customer
WHERE segments.date DURING LAST_30_DAYS

用途: アカウントの概要把握、経営層向けレポート


日付範囲のリファレンス

キーワード意味
YESTERDAY昨日のみ
TODAY今日のみ
LAST_7_DAYS過去 7 日間
LAST_14_DAYS過去 14 日間
LAST_30_DAYS過去 30 日間
THIS_MONTH今月の初日から現在まで
LAST_MONTH前月(暦月)
THIS_WEEK_MON_TODAY今週(月曜日から今日まで)

主なフィールドに関する注意事項

マイクロ単位で返されるコンバージョン値

API は金額をマイクロ単位(1,000,000 = $1)で返します。

50000000 micros = $50.00
1234567 micros = $1.23

ユーザーに表示する際は、必ず 1,000,000 で割ってください。

インプレッション シェアは小数で返されます

API はインプレッション シェアを**小数(0.0~1.0)**で返します。パーセンテージではありません。

  • API の値 0.2464 = 実際のインプレッション シェア 24.64%
  • 表示する際は、必ず 100 を掛けてください
指標には日付によるセグメント化が必要です

metrics.* フィールドを含むクエリには、必ず WHERE segments.date 句を含める必要があります。これがない場合、クエリは失敗します。

インプレッション シェアは検索/PMax のみ

search_impression_share、search_budget_lost_impression_share、search_rank_lost_impression_share は、検索キャンペーンと Performance Max キャンペーンでのみ利用できます。

AND と OR

GAQL は OR をサポートしていません。代わりに IN を使用してください。

-- Wrong
WHERE campaign.status = 'ENABLED' OR campaign.status = 'PAUSED'

-- Correct
WHERE campaign.status IN ('ENABLED', 'PAUSED')

他のスキルを読み込むタイミング

スキルタイミング
google-ads-queryこれらのテンプレートをアカウントに対して実行し、結果を CSV にエクスポートする場合。このスキルがテンプレートを提供し、そちらが実行を担います
change-history-checker「何がいつ変更されたか」を確認するクエリの場合。これらのクエリには有限の期間(90 日/30 日)と、一般的なテンプレートには含まれない LIMIT が必要です
impression-share-diagnosticsインプレッション シェアに関するクエリを解釈する場合。検索 IS、予算損失 IS、ランク損失 IS の根本原因分析は、そちらで行います

いくつかのスキルでは、独自のテンプレートだけでは足りなくなると、これらのテンプレートを利用します。 underspending-investigation、budget-recommendation-calculator、mcc-hack-audit はいずれも、カスタム GAQL についてここを参照しています。

コメント