google-ads-anomaly-detection について
Google Ads の変化を診断する、マーケター向けのトラブルシューティングスキルです。コンバージョン計測、変更履歴、季節性、競争状況から個別の配信単位まで順に確認し、監視方法も示します。
主な機能
- 01異常とアカウント状況の確認
- 02コンバージョン計測の点検
- 03アカウント変更履歴の確認
- 04季節性とオークション競争の比較
- 05キャンペーンやキーワード単位で特定
- 06アラートと定期監視の設定
活用シーン
- 01CPA の急上昇を調査
- 02計測不具合と実際の低下を区別
- 03表示回数減少の原因キャンペーンを特定
- 04費用とコンバージョンの定期確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ eliasmalmsandberg/ google-ads-skills --skill google-ads-anomaly-detectionインストール後、Claude Code で/google-ads-anomaly-detectionを入力して読み込まれたか確認します。
詳細
Google Ads — 異常検知とパフォーマンスのモニタリング
Google Ads の診断を専門としています。目標は、何かが変化したという事実だけでなく、何が、なぜ変化したのかを正確に特定し、実際のパフォーマンスの問題と統計的なノイズ、季節性、トラッキングの欠落を見分けることです。
始める前に
まず、製品マーケティングのコンテキストを確認してください。
.agents/product-marketing-context.md が存在する場合は、質問する前に読んでください。
以下のコンテキストを収集してください。
1. 何が変化しましたか?
- どの指標が変化しましたか:CPA、CVR、CTR、インプレッション数、費用、ROAS?
- どの期間で変化しましたか:今日、今週、先週比、先月比?
- 影響を受けているキャンペーンまたは広告グループはどれですか?すべてですか、それとも特定のものですか?
- 変化の規模はどのくらいですか?(5%の変動と50%の急落では、問題が異なります)
2. 変化が起きた頃、何がありましたか?
- 最近、アカウントに何か変更を加えましたか?(入札単価、予算、ターゲティング、広告文)
- ウェブサイトやランディングページの変更、デプロイ、障害はありましたか?
- 外部の出来事はありましたか?(祝日、ニュース、競合他社の動向)
- Google Ads のポリシー更新や広告の不承認はありましたか?
3. どのようなデータがありますか?
- 異常が発生した期間
- 検索語句レポート、オークション分析、変更履歴にアクセスできますか?
- コンバージョン トラッキングが正常に動作していることを確認済みですか?
診断の優先順位
複雑な原因を探る前に、次の順番で確認してください。多くの問題は、見た目ほど複雑ではありません。
1. Is tracking broken? → Check conversion tag, GA4, and landing page
2. Did we make a change? → Check Change History
3. Is it seasonal or external? → Compare YoY, check search volume trends
4. Is it a competitive shift? → Check Auction Insights
5. Is it a structural issue? → Narrow down to campaign/ad group/keyword
手順1と2は決して飛ばさないでください。「パフォーマンスが突然低下した」ケースの大半は、トラッキングの不具合か、変更したまま忘れていたアカウント設定が原因です。
手順1 — トラッキングの問題を除外する
パフォーマンスが実際に変化したと考える前に、測定が正常に機能していることを確認してください。
コンバージョン トラッキングの確認
Google Ads の場合: ツール → コンバージョン →「ステータス」列を確認
- ステータスは「コンバージョンを記録中」である必要があります
- 注意が必要な状態:「最近のコンバージョンはありません」、「未確認」、「タグが無効」
Google Tag Assistant/Chrome 拡張機能の場合:
- ランディングページにアクセス → テストコンバージョンを発生させる → タグが発火することを確認
GA4 の場合:
- リアルタイム レポート → コンバージョンを発生させる → 表示されることを確認
トラッキング障害の一般的な原因:
- ランディングページの CMS 更新でコンバージョンタグが削除された
- サイト移行(HTTP → HTTPS)でタグの発火が機能しなくなった
- Tag Manager コンテナが更新され、トリガーが削除された
- クロスドメイン トラッキングの欠落(コンバージョン前にユーザーが自社ドメインを離れる)
- iOS/ブラウザーのプライバシー変更により測定精度が低下した(突然の変化ではありませんが、把握しておく価値があります)
トラッキングに問題がある場合: アカウントを最適化しないでください。まずトラッキングを修正して、正常に動作していることを確認してから、新しいデータでパフォーマンスを再評価してください。
手順2 — 変更履歴を確認する
Google Ads の場合: ツール → 変更履歴
アカウントで行われた変更はすべてここに記録されています。パフォーマンスが変化した期間に日付を絞り込んでください。
確認する項目:
| 変更の種類 | 異常につながる仕組み |
|---|---|
| 予算の増額 | コンバージョンが比例して増えないまま費用が増加 → CPA が上昇 |
| 予算の減額 | 「予算による制限」—価値の高いオークション枠を逃す |
| 入札戦略の切り替え | 学習期間により、一時的にパフォーマンスが不安定になる |
| tCPA/tROAS の目標変更 | 目標が厳しすぎるとボリュームが減少し、緩すぎると費用が膨らむ |
| 新しいキーワードの追加 | 部分一致や新たに追加したキーワードにより、関連性のない検索語句が発生 |
| 除外キーワードの追加 | コンバージョンにつながる検索語句を誤ってブロック |
| 広告の一時停止または不承認 | 成果の高い広告の配信が停止 |
| ランディングページ URL の変更 | 遷移先が変更 → 新しいページでコンバージョンしない場合、コンバージョンが減少 |
| オーディエンスの変更 | 除外範囲が広すぎる、または重要なリマーケティング リストを削除 |
手順3 — 季節性または外部要因かどうかを見極める
前年比で比較する
前年の同じ期間と比較してください。前年の同じ週にもパフォーマンスが30%低下していた場合、季節性によるものであり、危機的な状況ではありません。
Google Ads の場合: 分割 → 比較 → カスタムの日付範囲 → 52週間前の同じ期間を設定
検索ボリュームの確認
Google Trends で、カテゴリ全体の検索需要に変化があったかどうかを確認できます。
- trends.google.com → 中核となる商品関連の語句を入力 → 期間を比較
検索ボリュームが20%減少すれば、インプレッションも自然に20%減少します。何かを壊したわけではありません。
業界イベント
- B2B:四半期末や大型連休には、意思決定者の活動が実際に減少します
- Eコマース:需要のピーク後に減少します(ブラックフライデー後、バレンタインデー後)
- ニュースイベント:カテゴリに関する突然のニュース(肯定的なものも否定的なものも)が検索行動に影響します
ステップ 4 — オークション分析情報を確認する
Google Ads で: キャンペーンを選択 → オークション分析情報タブ
同じオークションにおいて、インプレッション シェア、重複率、ページ上部表示率が競合他社と比べてどうかを確認できます。
確認するポイント
| シグナル | 意味 |
|---|---|
| 自社の IS が低下し、競合他社の IS が上昇した | 新しい競合他社が参入した、または入札を強化した |
| 新しい競合他社との重複率が上昇した | その競合他社が自社のキーワードに入札し始めた |
| ページ上部表示率が低下した | 競合他社と比べて広告ランクが低下した |
| ランクによる IS 損失が増加した | 競合他社の品質スコアや入札額の改善により、自社の表示順位が下がった |
| 予算による IS 損失が増加した | ボトルネックは競争ではなく予算 |
競争激化による CPC の急上昇は、ほとんどの場合、オークション分析情報に表れます。競合他社が自社のキーワードの予算を2倍にすると、オークションの最低価格が押し上げられるため、自社の CPC も上昇します。
ステップ 5 — 異常の範囲を絞り込む
トラッキングと外部要因を除外したら、問題が発生している最小単位を特定します。
詳細を掘り下げる
Account level → anomaly confirmed
↓
Campaign level → which campaign(s)?
↓
Ad group level → which ad group(s)?
↓
Keyword level → which keyword(s)?
↓
Search term level → which queries changed?
方法: 費用またはインプレッションで並べ替えます。現在の期間とその直前の期間を比較します。「セグメント → 期間を比較」機能を使うと、各行の変化率を確認できます。
すばやく切り分ける方法
1つのビューに両方の期間を追加します。
- メインの日付を現在の期間(例:過去7日間)に設定する
- 比較対象を直前の期間(過去7日間、または前年の同じ期間)に設定する
- 「コンバージョン:変化」で降順に並べ替える → 最大の減少が先頭に表示されます
指標別の異常対応ガイド
CTR が突然低下した場合
考えられる原因(可能性の高い順):
- 広告が不承認になった — 主要な広告の配信が停止し、残りの広告の CTR が低くなった
- 競合他社が広告表示オプションを追加または改善し、SERP 上で自社の順位が下がった
- 関連性の低い検索語句で広告が表示されるようになった(部分一致の場合)→ CTR の低い検索クエリによって平均が押し下げられている
- CTR の低い新しい広告バリエーションが追加され、平均が押し下げられている
- 季節的な意図の変化 — ユーザーが別のものを検索するようになった
診断手順:
- 広告タブを確認:不承認になった広告はありますか?
- オークション分析情報を確認:競合他社の IS は上昇していますか?
- 検索語句を抽出:新たに関連性の低いクエリが含まれていませんか?
- 広告別にセグメント化し、特定の広告が CTR を押し下げていないか確認する
CVR が突然低下した場合
考えられる原因:
- ランディングページの不具合または表示速度の低下 — 最も可能性が高いため、最初に確認します
- ランディングページが変更された — 新しいデザイン、新しい CTA、コンテンツの削除
- トラフィックの質が変化した — 検索語句が変わり、コンバージョン率が低下した
- オーディエンスが異なる — セッションにおける地域、デバイス、オーディエンスの構成が変わった
- 広告の訴求内容を更新しないまま、ページ上のオファーや価格が変更された
診断手順:
- ランディングページが読み込まれ、コンバージョンすることを手動でテストして確認する
- ページの表示速度を確認する(PageSpeed Insights)
- GA4 でランディングページの直帰率を確認する(突然の上昇はページの問題を示します)
- 現在と直前の期間の検索語句を比較し、検索意図の構成が変わっていないか確認する
- デバイス別・地域別の内訳を比較し、構成が変わっていないか確認する(モバイルトラフィックの急増 → CVR の低下)
CPA スパイク
CPA スパイク = CVR の低下、CPC の上昇、またはその両方です。 どの要因かを特定してください。
CPA = CPC / CVR
If CVR held and CPA rose → CPCs increased
If CPC held and CPA rose → CVR dropped
If both changed → compound problem
変化した要素に応じて、CVR 低下と CTR/CPC のプレイブックを個別に確認してください。
CPC スパイクの具体的な原因:
- オークションへの新規競合の参入(Auction Insights)
- Google による自動入札額の引き上げ(tROAS を使用した Smart Bidding の場合、見込みコンバージョンを獲得するために支出が増加しました)
- 予算上限の引き上げ → キャンペーンがより多くの(競争の激しい)オークションに参加するようになった
- 部分一致によって、より競争の激しい検索語句に拡大した
インプレッションの急減
考えられる原因:
- キャンペーンが一時停止された、または予算を使い切った
- 入札戦略の目標が厳しすぎる → CPA が目標を超えないよう、アルゴリズムが配信を控えている
- キーワードが停止された(「検索ボリュームが少ない」ステータス)
- 広告が不承認になった → 広告グループ内で配信可能な広告がない
- 誤ってターゲティング制限が追加された(除外キーワードリストが広範囲に適用された)
- Google の検索ボリュームが実際に減少した(Trends を確認)
- オークション:競合他社が目標 CPL を下回る金額でオークションに勝っている
診断手順:
- キャンペーンのステータスと予算を確認する
- キーワードのステータスを確認する。「検索ボリュームが少ない」または「表示頻度が低い」のフラグはあるか?
- 広告タブで不承認を確認する
- 変更履歴で、最近のターゲティングや除外キーワードの変更を確認する
- tCPA を確認する。利用可能なインベントリに対して厳しすぎる設定になっていないか?
支出急増(予算超過)
考えられる原因:
- 予算が増額された
- Smart Bidding が突発的なコンバージョン機会の増加を検出した(祝日、バイラルイベント)
- 新しい部分一致キーワードによって、意図しない大量の検索語句が引き起こされた
- 共有予算が想定外にキャンペーンへ再配分された
対応:
- 実際の予算超過なのか、Google の標準的な配信平準化なのかを確認する(日次と月次を比較)
- 残りの月間ペースを調整するため、1 日の予算を減らす
- 部分一致の拡張に問題がないか、検索語句を確認する
- Smart Bidding の tROAS 目標が最近緩和されたか確認する
モニタリングの設定:問題の深刻化を未然に防ぐ
問題発生後の診断にはコストがかかります。以下のシステムを使えば、問題を早期に発見できます。
Google Ads の自動化ルール
ルール → ルールを作成
設定しておくと便利なルール:
| ルール | トリガー | アクション |
|---|---|---|
| CPA アラート | キャンペーンの CPA が目標の 2 倍を超える(過去 7 日間) | メールを送信 |
| 支出アラート | キャンペーンの MTD 支出が月間目標を超える | メールを送信 |
| インプレッション シェアの低下 | 検索 IS が 40% 未満(以前は 60% 超) | メールを送信 |
| コンバージョンがゼロ | 100 回を超えるクリックがあり、72 時間コンバージョンがゼロのキャンペーン | メールを送信 |
日次モニタリング用 Google Ads スクリプト
スクリプトを毎日実行し、異常レポートをメールで送信できます。実装については google-ads-scripts スキルを参照してください。主要なモニタリングスクリプト:
- 予算ペースに対する日次支出
- 支出が発生しているコンバージョンゼロのキャンペーン
- CTR の急落(7 日平均比で 30% 超)
- CPA が目標しきい値を超過
GA4 アラート
次の項目について、GA4 Intelligence アラートを設定します。
- コンバージョン数が前期間比で 30% 超減少
- 主要なランディングページの直帰率が急上昇
- セッション数が減少(トラフィック配信の問題を示唆)
日次・週次のモニタリング習慣
毎朝確認する項目(5 分)
- 前日の支出と想定日次予算の比較
- 前日のコンバージョン数と通常日の比較
- メールに自動化ルールのアラートが届いていないか?
- 広告の不承認通知が届いていないか?
毎週確認する項目(15 分)
- 過去 7 日間の CPA とその前の 7 日間の CPA の比較 — 20% を超える変化はあるか?
- 過去 7 日間の CTR とその前の 7 日間の CTR の比較 — 15% を超える変化はあるか?
- インプレッション シェアと前週の比較 — 10% を超える低下はあるか?
- Auction Insights を確認する — 新しい競合はいるか?
- 以前は該当しなかった「予算による制限」のキャンペーンはあるか?
すぐに調査すべき場合
- 24 時間以内の支出が想定の 2 倍、または 0.5 倍になった
- 支出が続いているのに、コンバージョン数が 48 時間以上ゼロになった
- CPA が目標の 2 倍を 3 日以上連続で超えた
- キャンペーンが予期せず有効から「学習中」に切り替わった
クライアントへの異常の伝え方
パフォーマンスの問題を伝えるときは、次の構成を使用します。
- 何が変わったか:「過去7日間でCPAが42ドルから67ドルに増加しました。」
- いつ始まったか:「この変化は[date]に始まり、[event/change]と同時期に発生しました。」
- 根本原因:「主な原因:[specific finding]。副次的な原因:[該当する場合]。」
- 財務への影響:「パフォーマンスの低いトラフィックへの追加支出は、約[X]ドルと推定されます。」
- 実施済み/実施予定の対応:「すでに[X]を実施しました。次のステップ:[date]までに[Y]を行います。」
原因と次の対応を示さずに、パフォーマンスの問題を伝えてはいけません。計画のない「調査中です」という説明は、信頼を損ないます。
最適化チェックリスト
初回設定(新規アカウント)
- CPAと支出の異常を検知する自動ルール
- コンバージョン数に関するGA4インテリジェンスアラート
- コンバージョンがゼロのキャンペーンを監視するスクリプト
毎週
- 5項目の週間チェックを実施する
- キャンペーン単位で今週と先週を比較する
- オークション分析情報を確認し、新たな競合の動きを把握する
急増/急減を確認したとき
- 診断の優先順位(トラッキング → 変更履歴 → 季節性 → 競合状況 → 構造)に従う
- アカウントのメモまたはタスクログに調査結果と対応を記録する
- 修正後48~72時間、監視を続けて解決を確認する
よくある間違い
診断する前に解決策に飛びつく トラッキングの問題を除外する前に、キーワードを追加したり入札単価を変更したりすることです。最もコストのかかる最適化ミスは、壊れたデータに基づいて最適化することです。
比較する期間を誤る 祝日を含む先週と「今週」を比較しても、それはシグナルではなくノイズです。比較期間が妥当か、必ず確認してください。
スマート自動入札の学習期間を異常とみなす 入札戦略や目標を変更すると、2~4週間の学習期間が始まり、その間はパフォーマンスが変動します。これは想定内であり、緊急事態ではありません。
1日だけの不調を受けて対応する 正常に機能しているキャンペーンでCPAが1日だけ悪化しても、通常は統計的な変動です。構造的な変更を加える前に、3日以上にわたって一貫した乖離が続くのを待ちましょう。
最初にコンバージョントラッキングを確認しない クライアントから報告される「突然のパフォーマンス低下」の半数以上は、実際にはトラッキングの障害です。必ず最初に確認してください。
関連スキル
- google-ads-budget-management:予算の異常 — 過剰支出と支出不足の検出および是正
- google-ads-quality-score:QSの緩やかな低下により、徐々にCPCが上昇し、異常のように見えることがあります
- google-ads-negative-keywords:CTRの急落は、多くの場合、最近のマッチタイプ拡張によって生じた無関係な検索語句が原因です
- google-ads-conversion-tracking:トラッキングの設定と検証 — 異常を診断する前に行う最初の手順
- google-ads-scripts:異常の日次監視とアラートを自動化する