競合は Google 広告を頻繁に差し替えますが、公開されている記録は広告の透明性センター(Ads Transparency Center)だけで、広告主ごと、広告ごとにしか見られません。ざっと眺める程度ならともかく、継続的な追跡には向きません。Lovely Router がその閲覧を代行します。広告主の透明性センターのリンクを送ると広告 1 件につき 1 つの JSON オブジェクトが返り、料金はプリペイド残高から広告 1 件ごとに差し引かれます。スクリプトでも週次レポートでも AI エージェントでも、1 つの API キーで呼び出せます。
AI エージェントに任せる
このプロンプトを Claude Code、Cursor、Codex などのコーディングエージェントに貼り付けてください。ドキュメントの場所と API キーの使い方をエージェントに伝えます。
競合が Google で出している広告を追跡する. Use the Lovely Router data tools: each returns JSON and is billed per result.
- Docs (read first): https://lovelyrouter.com/docs/tools/find.md and https://lovelyrouter.com/docs/tools/run.md
- Plan first: POST https://lovelyrouter.com/v1/tools/suggest with `{"task": "<my task in plain words>"}` (free). It returns the tools to run in order, each with an example `input`, the `input_required` fields, an estimated cost and a ready-made `run` request. Replace the example values with my task's; if a field is unclear, read the tool with GET https://lovelyrouter.com/v1/tools/<id>. To browse instead, POST https://lovelyrouter.com/v1/tools/discover searches the catalog.
- Show me the plan and its estimated cost (`total_est_cost_usd`) before running anything large.
- Run: POST https://lovelyrouter.com/v1/tools/<id>/run with `{"input": {...}, "max_results": N}`. A 200 has the finished run with `items`; a 202 means it is still running, so poll the `poll` path until `status` is `succeeded`, `failed`, `timed_out` or `stopped`.
- Only delivered results are billed. Keep max_results small on the first run, check the output, then scale up.
- If you support MCP, connect https://lovelyrouter.com/mcp instead (Streamable HTTP, same key; https://lovelyrouter.com/docs/tools/mcp.md) and use suggest_tools, get_tool and run_tool.
- Auth: read my API key from the LOVELY_API_KEY environment variable and send it as `Authorization: Bearer $LOVELY_API_KEY`. Never print or commit the key. If it is not set, ask me to create one at https://lovelyrouter.com/app/keys.
- Billing is prepaid: every call is charged to my balance, so test with a small request before running anything large.
- Every docs page is plain Markdown; the full index is https://lovelyrouter.com/llms.txt.
My task: <the inputs (links, keywords or accounts) and how many results you need>仕組み
透明性センターで広告主を開く
adstransparency.google.com で競合の名前またはドメインを検索し、地域を選んで、結果ページの URL をコピーします。このリンクが入力になります。
上限を付けてツールを実行する
リンクを
resultsLimitとmax_resultsと一緒にPOST /v1/tools/google-ads-transparency/runに送ります。実行は最大費用を残高から仮押さえし、広告を JSON で返します。保存して差分を取る
実行ごとに日付を付けて保存します。前回の実行と比べれば、新しい広告、掲載をやめた広告、メッセージが変わった箇所がわかります。
1 回のリクエストで競合の広告を取得する
Google Ads Transparency は、startUrls に透明性センターのリンクのリストを受け取ります。resultsLimit はリンクごとに読み取る広告数の上限、max_results は実行全体の上限です。
curl https://lovelyrouter.com/v1/tools/google-ads-transparency/run \
-H "Authorization: Bearer $LOVELY_API_KEY" \
-H "content-type: application/json" \
-d '{
"input": {
"startUrls": [{"url": "https://adstransparency.google.com/?region=US&domain=nike.com"}],
"resultsLimit": 3
},
"max_results": 3
}'60 秒を過ぎても実行中の場合は 202 が返ります。ポーリングの方法はツールを実行するをご覧ください。skipDetails を true にすると、一覧をスクロールするだけの高速な実行になります。すべての広告が含まれますが、1 件あたりの情報は少なくなることがあります。
各広告に含まれる情報
| フィールド群 | 取得できるもの |
|---|---|
| Format | 広告の形式(テキスト、画像、動画) |
| Content | 広告の文面 |
| Timing | 広告が掲載された日付 |
| Reach | 広告が配信された地域 |
このツールが読み取るのは、透明性センターが広告主について公開している情報です。予算や成果は表示されません。
レシピ
毎週月曜日に、最も近い競合 3 社に対してツールを実行します。先週との差分を取り、新しく出た広告と止まった広告の短いリストをマーケティングのチャンネルに送ります。
競合の広告のうち、初回掲載日が直近 7 日以内のものが急に増えたらアラートを出します。たいていは新製品の発売や季節の施策です。
リンクの地域だけを変えて同じ広告主を実行し、どの市場でどのオファーが出ているかを確認します。
ある製品ラインで競合が出したすべての広告の文面を集め、価格、スピード、信頼、機能といった切り口ごとにモデルに分類させます。
検索結果に新しいライバルが現れたら、そのドメインを透明性センターに入力してツールを実行し、いつから、どの地域で広告を出しているかを確認します。
普段の言葉で頼みたい場合は、MCP サーバーを接続して Claude Code や Cursor に次のように伝えます。「この透明性センターのリンクの広告を読み取り、メッセージごとにグループ分けして、直近 30 日以内に始まったものを教えてください。max_results は 100 に設定してください。」
他の広告ソースと組み合わせる
Google は 1 つのチャネルにすぎません。競合は通常、複数のチャネルに出稿しており、文脈としてサイトのトラフィックも知りたくなります。
Google 広告透明性センターに掲載された広告主の広告:形式、テキスト、表示期間、地域。
検索 URL で Meta 広告ライブラリの広告を取得:クリエイティブ、コピー、開始日、広告主。
広告主またはキーワード検索 URL で LinkedIn 広告ライブラリの広告を取得:コピー、形式、日付。
Similarweb による Web サイトのトラフィック推定:月間訪問数、ランク、流入元、上位国、エンゲージメント。
クエリの Google 検索結果ページ:自然検索結果、広告、「他の人はこちらも質問」、関連キーワード。1 件 = 1 ページ(自然検索リンク約 10 件)。
facebook-adsは、Meta の広告ライブラリの広告を、クリエイティブ、文面、開始日、広告主とともに返します。linkedin-adsは、LinkedIn の広告ライブラリの広告を、文面、形式、日付とともに返します。B2B の競合の調査に役立ちます。website-trafficは、推定訪問数とトラフィックの流入元を示し、広告の動きが成長と一致しているかを確かめられます。google-searchは、キーワードで検索した人に表示されるオーガニックの検索結果と広告を示します。
全体像については、広告インテリジェンスをご覧ください。
料金
料金は広告 1 件ごとにかかります。実行を開始すると最大費用(呼び出し料金 + 広告 1 件あたりの単価 × max_results)が仮押さえされ、実際に返った分で精算されて、仮押さえの残りは残高に戻ります。失敗またはタイムアウトした実行は返した広告の分だけを支払い、開始時に拒否された実行は無料です。
毎週 200 件の広告を読み取ると、週あたり広告 200 件分として課金されます。サブスクリプションや月額の最低利用料はなく、$5 からチャージでき、1 つの残高でツールとモデルの両方を支払えます。現在の価格は上のカードに表示されており、料金ではすべてのツールを一覧できます。
よくある質問
startUrls に入れるリンクはどこで見つけられますか?+
Google 広告の透明性センターで広告主またはそのドメインを検索し、結果ページのアドレスをコピーします。リンクはすべて https://adstransparency.google.com/ で始まっている必要があります。
1 回の実行で何件の広告を取得できますか?+
max_results は最大 500 件まで指定できます。resultsLimit はリンクごとの広告数の上限なので、リンクが複数ある場合、合計は max_results で制限されます。
競合の広告費はわかりますか?+
いいえ。このツールが返すのは、各広告の形式、文面、掲載日、地域です。予算や成果は返却内容に含まれません。
skipDetails は何をするものですか?+
各広告の詳細ページを開かないことで、実行を速くします。すべての広告は含まれますが、1 件ごとの情報は不完全になることがあります。
サブスクリプションは必要ですか?+
いいえ。プリペイド残高にクレジットを追加し、実行ごとに残高から差し引かれます。失敗した実行は返した結果の分だけを支払い、自動で更新されるものは何もありません。
チャネルをまたいで広告を比べるなら、広告インテリジェンス、ツールカタログ、料金のページもご覧ください。