Workflow

PPC Competitor Ad Copy Tracker

Track competitor Google Ads headlines and descriptions on target keywords. Get a daily diff when copy changes.

Overview

Runs your list of money keywords through Google daily, captures the top sponsored listings, and diffs the headlines and descriptions against yesterday. When a competitor changes their copy you get a Slack alert. Indispensable for PPC managers who need to know when rivals test new angles.

Trigger

Cron schedule (daily at 9 AM UTC)

Schedule

Runs daily at 9 AM UTC

Workflow Steps

1

Load keyword list

Read money keywords from a CSV or Google Sheet.

2

Search Google per keyword

Capture sponsored and organic top positions.

3

Parse ad copy

Extract headline, description, URL, and advertiser name from sponsored slots.

4

Diff vs yesterday

Compare today's ad copy to yesterday's snapshot.

5

Slack alert on change

Post a summary of new ad copy to a Slack channel.

Python Implementation

Python
import requests, os, json
from pathlib import Path
API_KEY = os.environ["SCAVIO_API_KEY"]

def ads_for(keyword):
    r = requests.post("https://api.scavio.dev/api/v1/search",
        headers={"x-api-key": API_KEY},
        json={"query": keyword, "include_ads": True})
    return r.json().get("ads", [])

snapshot = {}
for kw in ["best crm", "project management software"]:
    snapshot[kw] = [(a["advertiser"], a["headline"]) for a in ads_for(kw)]
Path("ads.json").write_text(json.dumps(snapshot, indent=2))

JavaScript Implementation

JavaScript
const API_KEY = process.env.SCAVIO_API_KEY;
async function ads(keyword) {
  const r = await fetch("https://api.scavio.dev/api/v1/search", {
    method: "POST",
    headers: { "x-api-key": API_KEY, "content-type": "application/json" },
    body: JSON.stringify({ query: keyword, include_ads: true }),
  });
  return (await r.json()).ads ?? [];
}
console.log(await ads("best crm"));

Platforms Used

Google

Web search with knowledge graph, PAA, and AI overviews

Frequently Asked Questions

Runs your list of money keywords through Google daily, captures the top sponsored listings, and diffs the headlines and descriptions against yesterday. When a competitor changes their copy you get a Slack alert. Indispensable for PPC managers who need to know when rivals test new angles.

This workflow uses a cron schedule (daily at 9 am utc). Runs daily at 9 AM UTC.

This workflow uses the following Scavio platforms: google. Each platform is called via the same unified API endpoint.

Yes. Scavio's free tier includes 500 credits per month with no credit card required. That is enough to test and validate this workflow before scaling it.

PPC Competitor Ad Copy Tracker

Track competitor Google Ads headlines and descriptions on target keywords. Get a daily diff when copy changes.