広告の消化異常をSlackに自動通知する実装【保存版】

広告費の消化は、放置すると1日で数万円ぶれる。管理画面を朝と夕に開いて目視する運用は、担当アカウントが増えるほど続かない。この記事では、Google広告やMeta広告の消化異常「だけ」をSlackに自動通知するPython監視の作り方を、実際に組んだ構成・閾値の決め方・つまずいた点までまとめる。コピペで使える通知関数も置いた。読み終えたら、朝いちの管理画面めぐりをやめられる。

なぜ目視チェックは破綻するのか

担当アカウントが3つを超えたあたりから、目視の巡回はほぼ機能しなくなる。理由は3つある。

  • 監視対象が「アカウント数×媒体数」で増える
  • 消化の暴走は日中の急加速で起きる。朝夕のチェックでは半日出遅れる
  • 人は毎日はやらない。異常がない日が続くほどチェックをサボる

だから監視は「正常なら黙り、異常のときだけ鳴る」形にするのが正しい。人が毎回見に行くのではなく、機械が異常だけを拾って人を呼ぶ。この発想の転換が起点になる。

何を「異常」と判定するか

通知の質は、閾値の設計でほぼ決まる。監視する軸は3つに絞ると運用しやすい。

  • ペース異常:その時刻までの想定消化に対し、実消化が130%を超えたら警告
  • 消化ゼロ:稼働時間帯なのに消化が0円。配信停止や支払いエラーのサイン
  • CPA異常:目標CPAの1.5倍を超えたら警告。学習リセットや競合入札の兆候

閾値は最初から厳密に詰めなくてよい。ゆるめに始めて、数日ログを見ながら締めるほうが早い。以下は監視設計のチェックリストだ。ブックマークして、自分のアカウント事情に合わせて数値を書き換えて使ってほしい。

  • (1)想定日消化=日予算 ÷ 稼働時間 × 経過時間、で当該時刻の基準を出す
  • (2)超過率の警告ラインを決める(例:130%で警告、180%で緊急)
  • (3)消化ゼロ判定に「稼働時間帯か」の条件を必ず添える(深夜の0円は正常)
  • (4)CPAは母数が小さい日は判定から外す(CV数の下限を置く)
  • (5)通知に必ず「次アクション」を1行つける

この判定ロジックは、消化の絶対額ではなく想定ペースとの比率で見るのが肝だ。日予算そのものの自動計算は別記事にまとめている。広告の日予算を自動計算するPython実装と組み合わせると、基準値の算出まで自動化できる。

Slack WebhookとPythonで通知する最小実装

通知の送信部分は驚くほど短い。使うのはSlackの「Incoming Webhook」という、外部プログラムからチャンネルへ投稿できる仕組みだ。手順はこうだ。

  • (1)SlackのApp管理画面でIncoming Webhooksを有効化する
  • (2)通知先チャンネルを選び、Webhook URLを発行する(https://api.slack.com/messaging/webhooks に手順がある)
  • (3)URLは環境変数か.envに入れ、コードに直書きしない

送信のコア部分は、実質この1行で足りる。コピペして使ってほしい。

requests.post(webhook_url, json={"text": f"⚠️ 消化異常: {account} 実消化{spend}円 (想定{expected}円/{rate}%) → 入札と予算を確認"})

この関数に、Google広告APIやMeta Graph APIから取ってきた実消化・想定消化を渡すだけでいい。データ取得側の実装は広告3媒体レポート統合をPythonで実装した手順にまとめてある。取得→判定→通知の3ブロックに分けて書くと、後から媒体を足すのが楽になる。

定時実行はmacOSならlaunchd、サーバならcronで十分だ。稼働時間帯に合わせて1〜2時間おきに走らせる。監視スクリプトは常駐させず、都度起動して終わる作りにすると、落ちても次の起動で復帰する。この取得→判定→通知の完全版はnoteの実践ガイドにまとめている。

通知疲れを防ぐ運用のコツ

実際に組んで最初にやらかしたのが「正常でも毎回通知」だった。異常がない日も定時に鳴らしたら、数日でチームにミュートされた。監視の価値がゼロになる典型だ。教訓はこうだ。

  • 正常時は無言にする。鳴ったら異常、という信頼を守る
  • 閾値は数日運用してから締める。最初の誤報はログを見て調整する前提で置く
  • 重大度で分ける。警告は通常チャンネル、消化ゼロや支払いエラーは緊急チャンネルとメンションで送る
  • 通知に次アクションを1行。「予算を確認」ではなく「入札戦略と当日予算を確認、超過なら日予算を圧縮」まで書くと対応が速い

監視の目的は「通知を出すこと」ではなく「対応の初動を早めること」だ。鳴った瞬間に何をすればいいかまで通知に載せておくと、担当者の判断コストが消える。

ここまでの手法は広告運用に限らず、KPIの閾値監視全般に流用できる。AIツールを業務に組み込んでいくなら、こうした通知・監視の土台づくりから始めると効果が出やすい。ビジネスの自動化を進めるなら、以下のツールも検討に値する。

AIスライド作成ツール「イルシル」を試してみる

まとめ

広告の消化監視は、目視をやめて「異常だけ鳴る仕組み」に置き換えるのが正解だ。判定軸はペース超過・消化ゼロ・CPA異常の3つ。送信はSlack WebhookとPythonの数行で足りる。まず閾値をゆるく置いて動かし、数日のログで締めていく。今日、Webhook URLの発行と通知関数の設置だけ済ませれば、明日から管理画面めぐりを減らせる。

実務でそのまま使いたい人へ

本記事の手法の完全版(実際のコード・テンプレート・つまずき対処つき)は、運営者のnote(note.com/ryo_ai_hack)で公開している。実データに基づく実践ガイドをまとめて読める。

DMM 生成AI CAMP

コメント

このブログの人気の投稿

Claude Skills販売で月5万稼ぐ3ステップ実践

Difyの使い方|初心者でも10分で作れるAIアプリ入門

Claude CodeでExcel自動化副業を月5万にする手順