AdBeeCore
All articles
Attribution · 6 min read

Why one change per campaign every 72 hours

Attribution is late, and every network is late differently. That is why the agent is not allowed to react twice.

A media buyer changes a bid, sees CPA improve the next morning and changes it again. The second change is made on data that is still arriving. Three days later the campaign is a mess of overlapping decisions and nobody can tell which of them worked.

AdBeeCore makes this impossible by design: one change per campaign per attribution window, enforced in code — not in a prompt.

The window is not the same everywhere

Each network settles conversions on its own schedule. Apple Search Ads is the fastest; Meta and TikTok land in the 48–72 hour band; Google Search can keep attributing for up to seven days. The product keeps a per-network table of these windows and uses the longest window that applies to the campaign in question.

  • The change is written to change_log before the network call, with before/after values.
  • The campaign is locked for the whole window — no second guess, no top-up, no rollback.
  • When the window closes, Reflector compares the cohort of unchanged campaigns with the treated one.
  • The difference becomes a score from −100 to +100, stored with the decision.

What a score is not

A score is not proof of causality. It is a structured memory: the same context, the same action, the measured outcome. Agents read high-scoring and low-scoring decisions before proposing a new one, so the same mistake is less likely to be repeated in the same situation.

One change. One window. One verdict. Then, maybe, another change.

In practice this feels slow for the first week and much calmer afterwards: the number of decisions per month drops, while the share of decisions that survive their own measurement goes up.

Put these ideas to work

Connect one ad account and switch on observe mode — the posts above describe exactly what you will see.

Start free