Private beta

Back to Insights

Analytics

Run an attribution audit before you pause another campaign

Intently Team8 min read

Dashboards report. Audits decide.

Most media teams live inside Ads Manager ROAS and a last-touch channel report. Those views are useful. They are not proof. Ads Manager optimizes on events a platform accepted and matched. Your analytics report credits journeys on whatever first-party signal you actually captured. Delivery sits between them. When it fails, both sides can lie in opposite directions.

Spend divided by last-touch revenue is a decision heuristic, not an audit. Before you cut Meta or boost branded search, you need five signals on the same window: capture completeness, consent gates, destination acceptance, match quality, and whether your models disagree on the same journeys.

Treat every “bad ROAS” number as a hypothesis until those five signals check out. Pausing on an incomplete stack wastes demand you never measured.

The five-signal checklist (in order)

Run these in order. Stop when you find a broken signal. Fix it before you trust the ROAS number that showed up in standup.

  • Capture completeness: Is first-party collection on the conversion path, not only the homepage? Do purchase or lead events carry value and click IDs into a live event log?
  • Consent gates: Is consent enforced server-side before storage and destination routing, or only by blocking a browser pixel? Can you see why an event was blocked?
  • Destination delivery: For Meta CAPI, Google, TikTok, and other paid destinations, do you have success/failure acceptance, not just “we fired a tag”?
  • Match quality: On Meta CAPI especially, is enrichment healthy enough for auction training, or are you sending click IDs alone while Ads Manager looks fine?
  • Model disagreement: On the same journeys and lookback, does Meta collapse on last-touch but hold on linear or U-shaped? Do not average that into a compromise ROAS.

What “healthy” vs “broken” looks like

A healthy stack shows events on conversion pages, a server consent gate you can preview, high destination acceptance with classified failures, stable match enrichment on consented identity, and inspectable journeys when models disagree.

A broken stack shows a homepage-only script, silent consent gaps, unknown send status, Ads Manager numbers your server never confirmed, and a single last-touch number running the budget.

One afternoon is enough

You do not need a three-week measurement program to decide whether this week’s ROAS is trustworthy. Block two to three hours. Pick one conversion type (usually purchase or demo_request) and one date range.

Hour one: prove capture and consent with a test path and a consent-off preview. Hour two: pull seven days of delivery acceptance and match quality. Hour three: compare last-touch vs linear on the same journeys, then choose pause, protect, or fix. Not “average and hope.”

Pause, protect, or fix

Once the five signals are honest, the decision rules get simple.

  • Pause when ROAS is weak and delivery, consent, and capture are clean. That is creative or audience waste, not a logging gap.
  • Protect when models disagree: Meta holds on linear while last-touch credits search. Reallocate with mid-funnel rules; do not nuke Prospecting on last-touch alone.
  • Fix the stack when delivery failures, weak match quality, or missing capture explain the “bad ROAS.” Repair the pipeline before you cut spend.

Get the worksheet

We packaged this into The Attribution Audit Playbook: the five-signal checklist, a one-afternoon worksheet, pause/protect/fix rules, and what a trustworthy stack looks like when capture, credit, and delivery live in one pipeline.

Download it free, then run the audit on your own accounts before the next pause or scale call. If you want the same signals live every day (first-party capture, inspectable models, spend ROAS, and destination delivery proof), that is what Intently is built to show.

Free playbook

The Attribution Audit Playbook

Prove which ads drive revenue before you pause or scale. Checklist, worksheet, and decision rules.

Download the playbook →
← View all articles