For agencies that grow D2C brands
How do you work out why a brand's numbers moved, and prove it?
To work out why numbers moved, start from the exact change against the brand's own baseline, then list everything else that changed on the same dates: budgets, bids, creatives, search terms, the site, tracking, rivals and the season. Keep the causes the records support, rule out the ones they contradict, and grade what's left by confidence.
2.13× Meta ROAS against a 4× e-commerce benchmark · raised every day until it moves · Moolwanai-dm · Paid ads · ₹28,064 spend · 30 days to 26 Sep 2026 · real data
What you'll see in 10 minutes
- Your first brand's report, built from its domain alone.
- Its ad accounts and GA4 connected, one secure sign-in each.
- The brand's numbers read against its own baseline, with any change flagged and its likely causes listed.
Why is the first explanation for a drop usually wrong?
Monday, 10:00. The brand asks why ROAS fell last week. Someone answers "the Meta algorithm" or "it's the season". A week later the number recovers on its own, or falls further, and the explanation no longer fits. The brand remembers the guess, not the recovery.
A guess costs more than the drop. Every explanation that doesn't hold makes the next one harder to believe, and a fix aimed at the wrong cause spends budget on nothing. Each usual suspect has a check that confirms or rules it out. Run the check before you name the cause.
| The usual explanation | The check that settles it |
|---|---|
| "It's the season" | The same weeks last year, and search demand for the category on the same dates |
| "The algorithm changed" | The change history: edits to budgets, bids, audiences or ads in the days before the drop |
| "The ads are tired" | Frequency and click-through rate by ad, week on week |
| "Tracking broke" | Purchase events in the ad platform against GA4 over the same days |
| "A competitor is spending more" | New rival ads in the Meta Ad Library, and auction insights in Google Ads |
| "Something's wrong with the site" | Landing page speed, errors and checkout steps since the last good week |
How do you find what actually caused the change?
Narrow it down before you explain it. Most drops sit in one campaign, one page or one week, not across the whole brand. Work through these steps in order and the shortlist of causes usually shrinks to one or two.
Confirm the change is real
Compare against the brand's own baseline, not last week alone, and allow for conversions that arrive days after the click. The most recent days always look weaker until they're counted.
Find where it sits
Split the change by campaign, ad set, page, device and region. A drop that lives in one place has one cause; a drop spread evenly usually comes from outside.
List what changed on the same dates
Budgets, bids, audiences, creatives, search terms, prices, stock, the site and tracking. The ad platforms' change history shows every edit with its date.
Check what happened outside
The same weeks last year, demand for the category, and what rivals launched. Some drops are the market, not the account.
Keep what the records support
Rule out the causes the data contradicts, grade the rest high, medium or low, and write down the record behind each one before you tell the brand.
Most investigations start with a daily change alert that measured the shift against the brand's own normal range. When a rival is the suspect, competitor ad tracking shows what they launched and when.
How do you explain a drop to the brand before you have every answer?
Say what you know, what you've ruled out and what you're still checking. Brands forgive "we're checking" far more than they forgive a confident answer that turns out wrong. Use the worksheet below to sort the candidates and get a note you can send today.
Sort the causes and write the brand's update
Enter the metric and its two values, then mark each candidate cause: the evidence supports it, rules it out, or you haven't checked yet. The note updates as you go.
update for the brandROAS moved from 3.4 to 2.1 (−38%). The likely causes are creative fatigue and a rival's new ads on the same offer. We've ruled out tracking and budget or bid changes. We're still checking the season and the landing page, and will update you once they're done.
Free, no login. The starting values are an illustrative example.
(login required) · Walk into Monday's review with the causes already ranked.
How does ai-dm find why a brand's numbers moved?
It runs the same checks, every day, for every brand. When a metric moves outside the brand's normal range, ai-dm lists what else changed on the same dates across the connected accounts, the site and the rivals. It grades each candidate high, medium or low by how strongly the records support it, marks the ones the records contradict as ruled out, and links every cause to the record behind it.
2 likely · 3 ruled out · 1 not supported · every cause linked to its record
In this illustrative example, Terra Brew Coffee's Google Ads cost per conversion rose from ₹318 to ₹455. Of six candidate causes, wasted broad-match search terms are likely with high confidence and a slower landing page with medium confidence. Budget, bid strategy and tracking changes are ruled out, and the records don't support seasonality.
When the cause is on the site, the crawl shows it. A slower template or a page Google can no longer reach shows up in an SEO audit of the brand's site, next to the date it changed. ai-dm then recommends a next move, and nothing changes in a brand's account until your team approves it. Before you share a figure with the brand, reconcile GA4, Meta and Google Ads so everyone reads the same number.
On our own brand. Moolwan's Meta ROAS is 2.13× against a 4× e-commerce benchmark, on ₹28,064 of spend in 30 days (ai-dm · Paid ads · 30 days to 26 Sep 2026). ai-dm raises it every day until it moves, and we show it because a tool that only explains wins is no help. You can watch ai-dm run Moolwan, with the source and date of every number.
Related pages
Questions agencies ask about finding why numbers moved
How do you find out why a brand's marketing numbers changed?
Start from the exact change against the brand's own baseline, find where it sits by campaign, page or region, then list everything else that changed on the same dates: budgets, bids, creatives, search terms, the site, tracking, rivals and the season. Keep the causes the records support, rule out the rest and grade what's left by confidence.
Why did a brand's ROAS drop suddenly?
The usual causes are tired creative, an edit to budgets, bids or audiences, a rival's new offer, a slower or broken landing page, a tracking change or the season. Each has a check: frequency and click-through rate, the change history, the Meta Ad Library, a site crawl, GA4 against the platform, and the same weeks last year. Run the checks before naming the cause.
How long should we wait before calling a drop real?
Long enough for late conversions to arrive. Ad platforms keep adding conversions for days after a click, so the most recent days always look weaker at first. Compare complete days with the brand's normal range rather than reacting to yesterday alone. ai-dm measures each metric against the brand's own baseline for this reason.
Can ai-dm prove which channel caused the drop?
No, and no tool can without an attribution model, which ai-dm doesn't build. It shows what changed, the likely causes graded by how strongly the records support them, and the causes the records rule out, each linked to its source. Your team makes the call with the evidence in front of it.
What does a confidence grade mean?
High means the records point clearly to the cause, such as spend on a search term with no conversions in the same week. Medium means the timing fits and the evidence is partial. Low means it's possible but unconfirmed. Causes the records contradict are marked ruled out, so the brand hears what was checked as well as what was found.
What should we tell the brand before we know the cause?
What moved and by how much, the causes you've ruled out, what you're still checking and when you'll update them. That answer holds up next week; a confident guess often doesn't. The worksheet on this page writes that update from your own checks.
No plan to pick. Billed in USD and INR. A brand's data is deletable on request.
