Customer StoriesPricing

Use case

Catch competitor promos the day they change

Daily ad diffs plus landing page snapshots, so offer changes arrive as alerts instead of Monday morning surprises.

Get your API key

The short answer

Waldo tracks promos from both ends: the ads that announce an offer and the landing pages that carry it. Daily scans plus the since parameter surface new promo creative, and landing page snapshots flag the change behind the click, like a discount becoming free shipping. Diffs push to Slack on your schedule.

The job to be done

For an ecommerce or retail team, a competitor’s offer change is a same-day problem: a surprise flash sale bleeds a weekend of conversions before anyone notices. The manual defense is someone checking rival sites on Monday, which is how the Friday promo gets missed. And when pricing asks what the set is running right now, the answer is usually a stale screenshot.

What the team needs on record is every live offer in the set: when it appeared, what the ad promised, what the landing page delivered, and when either changed. It should behave like a diff feed a channel owner subscribes to, not a research task someone remembers to do.

How Waldo does it

Watch the ads announce it

GET /brands/{id}/ads/active?since= on a cron returns only what changed since the last pull. New promo creative shows up in the delta with copy and creative attached.

Snapshot the pages behind it

GET /brands/{id}/lp-changes flags landing page changes, catching the offer swap behind the click even when the ad creative stays the same.

Keep the whole promo history

Everything captured is stored permanently, so last year’s holiday offers are still on record. Seasonal patterns become queryable instead of living in a veteran’s memory.

Route the alert

Push deltas to Slack, a webhook, or a database, and let the channel owner ask follow-ups over MCP: what did they run last Black Friday, how long did the bundle offer survive.

The endpoints

/brands/{id}/ads/active?since=Only the ads that changed since your last pull
/brands/{id}/lp-changesLanding page snapshots with change flags
MCP: discover_adsAd-hoc promo questions answered in chat
Discover endpointsLive queries for organic promo posts beyond the ad libraries
24hRefresh cycle for ads and page snapshots
DailyAd library scans per tracked brand
200+API and MCP endpoints

Questions teams ask

How quickly do offer changes show up?

Tracked brands refresh on a 24-hour cycle across ads and landing page snapshots, so a change lands in the next daily pull and the alert fires from your diff job.

Do expired promos disappear from the record?

No. Captured ads and page snapshots are stored permanently even after the promo ends, which is what makes year-over-year promo pattern analysis possible.

What about promos that never run as ads?

Landing page snapshots catch on-site changes regardless of ad activity, and Discover endpoints query the platforms live for organic promo posts outside the tracked set.

Keep reading

Competitor ad trackingThe full creative picture the promo feed sits inside.What is campaign tracking?Following a competitor push from launch to retirement.Waldo for brand teamsHow in-house teams wire promo alerts into channel ops.Waldo BuildThe API and MCP server your diff jobs run against.

Put Waldo behind your agents

Brand, category, and audience intelligence over 200+ API and MCP endpoints. Sign up, mint a key, and run it against the brands you actually track.

Get your API key
See everything. Miss nothing. Move first.
Get startedContact us
CompareAlternativesUse casesWho it's forGlossaryAudiences
Find us on LinkedIn • X -Twitter
Copyright 2026 • All Rights Reserved • Terms of Service • Privacy Policy