When a competitor swaps "Free 30-day trial" for "50% off your first order," that is not a creative refresh. It is a strategic decision someone fought for in a margin meeting. Offer changes are the highest-signal moves a brand makes on Meta, because the offer is the part of the ad closest to the P&L. Creative tests are cheap. Changing the offer means changing how the business makes money.
The problem: Meta's Ad Library shows you what's running today. It has no memory. By the time you notice a rival's whole funnel now leads with a subscription bundle, the pivot happened weeks ago and you're reacting to a fait accompli. Competitor offer change tracking is the discipline of catching the pivot as it happens by diffing ad copy and landing pages over time. This tutorial shows you how.
Why offer changes matter more than creative changes
A brand will run forty creative variations to find one winner. That's just A/B noise. But the offer inside those creatives barely moves — until it does. When it moves, it's telling you something concrete about the business:
| Offer pivot | What it usually signals |
|---|---|
| Free trial → percentage discount | Trial abusers / low trial-to-paid conversion; they want cash up front |
| One-time purchase → subscription | Chasing LTV and predictable revenue; pressure to show retention |
| Discount → bundle / "build your routine" | Margin pressure — raising AOV instead of cutting price |
| BOGO → "subscribe & save" | Seasonal promo ending, shifting to a retention engine |
| Adding "free shipping" / "no commitment" | Cart abandonment or churn problem they're papering over |
| Price-anchored → benefit-led copy | Discounting fatigue; trying to rebuild perceived value |
Each of these is a window into their unit economics. You can't see a competitor's CTR, CPC, or ROAS on Meta — those numbers live only inside their ad account, and any tool claiming to show them invented the figure. But the offer is public, and offer changes are a legitimate, verifiable proxy for what's working and what's hurting them.
The two things you diff
Offer tracking is fundamentally a diffing exercise across two surfaces:
- Ad copy — the primary text, headline, and CTA on the ad creative itself. This is where the offer is stated: "$10 off," "first month free," "buy 2 get 1."
- The landing page — where the ad sends traffic. The headline, the pricing module, the checkout flow. Sometimes the offer changes here before the ad copy catches up, which is your earliest possible signal.
The discipline is simple to state and tedious to do by hand: capture both surfaces on a regular cadence, then compare each capture to the previous one and flag what changed.
The manual method (and why it breaks)
Done by hand, the loop looks like this:
- Open the competitor in Meta's Ad Library, weekly.
- Screenshot the top active ads and copy the primary text into a spreadsheet, dated.
- Click through to the landing page; save the URL, the headline, and the pricing block.
- Next week, repeat — and eyeball this week's captures against last week's.
This works for one competitor for about three weeks. Then it collapses, for predictable reasons. Meta's Ad Library has no history, so the moment an ad stops running, your only record of it is the screenshot you happened to take. Landing pages change silently and leave no trace. Tracking five competitors means twenty-plus captures a week, every week, forever — and the entire value is in noticing the diff, which is exactly the part human attention is worst at. You'll capture diligently for a month and miss the pivot anyway because it happened on a Tuesday you were busy.
What to watch — the high-signal change list
When you do diff, not every change is worth a strategy meeting. Prioritize these:
- The CTA verb changes — "Shop now" → "Subscribe" → "Start free trial." The CTA is the offer in miniature.
- A number changes — any shift in discount %, trial length, price point, or bundle quantity.
- A new urgency mechanic appears — countdowns, "ends Sunday," limited-stock language. Signals a promo window with a known end date.
- The risk-reversal changes — money-back guarantees, "cancel anytime," free returns appearing or disappearing.
- The offer narrows or widens — "everything 40% off" tightening to "new customers only" suggests they're protecting margin.
- Copy shifts from price to benefit — when discounting language disappears entirely, they're trying to escape a discount-addicted audience.
- The landing page offer diverges from the ad offer — the leading edge of a pivot, often visible days before the creatives are rewritten.
How AdWhispr catches the pivot automatically
This is the gap AdWhispr is built for. You paste a competitor's Facebook URL once; AdWhispr ingests their entire Meta ad library and snapshots it daily. Meta's API returns no history — the history is the product. That daily snapshot record is what makes offer-change tracking possible at all, because every version of every ad's copy is preserved with a date attached.
That turns the manual diff into a question you can just ask. In chat or inside Claude via the MCP server, you ask things like "How has this brand's offer changed over the last 90 days?" and AdWhispr reads the snapshot timeline — first-seen dates, copy revisions, and the rise and fall of ads that lead with one offer versus another. Because it also tracks days-running as a performance proxy, you don't just see that an offer changed; you see whether the new offer is sticking. A brand swaps its lead offer and the new variant climbs past 60, 90, 100 days live — they don't keep paying for losers, so that longevity tells you the pivot is working. A new offer that dies in two weeks tells you it isn't.
On Pro ($29/mo) you get basic change alerts; on Agency ($149/mo) you get full change alerts across 10+ brands, so the pivot lands in your inbox the day the snapshot diff catches it — not the Tuesday you remember to look. When you want to brief your team, generate_brief exports a competitive brief that leads with the derived-intelligence panel — the longevity curve and iteration rate around the offer change — as PDF or Markdown.
Timing: why when they pivot is half the signal
A change in isolation is data; a change in context is intelligence. The same offer pivot means different things depending on timing:
- Right before Q4 / a known retail season → a planned promotional push, not a panic move. Expect it to revert in January.
- Mid-quarter, no seasonal reason → margin pressure or a conversion problem. This is the high-value signal.
- Right after they launched a new product → the offer is being rebuilt around the new SKU; watch which product leads.
- Right after you changed your offer → they may be reacting to you. Worth confirming before you escalate a price war.
Snapshot history is what lets you place a change on the timeline accurately, instead of guessing from the one Ad Library screenshot you have today.
Your tracking cadence
To run this as a repeatable practice:
- Add your 3–10 closest competitors so daily snapshots start accruing — the history only exists going forward, so start now.
- Set alerts so copy and offer diffs surface automatically instead of relying on memory.
- Review flagged changes weekly, filtered to the high-signal list above.
- Cross-check days-running on any new offer to judge whether it's a winner or a discarded test.
- Generate a brief when a pivot is confirmed, and place it on the seasonal/launch timeline before you decide whether to respond.
Offers are where strategy meets the balance sheet, and they're one of the few competitor signals Meta makes fully public. The only thing standing between you and that intelligence is a memory of what the offer used to be — and a daily snapshot is exactly that memory. Browse more competitor-research playbooks on the AdWhispr blog.
Stop screenshotting offers into a spreadsheet — let AdWhispr snapshot the pivot for you and ask it what changed.