All articles

July 15, 2026 - 3 min read

What change history tells you without a tracking code

Every ad platform keeps a change history: what was changed, when, and by whom. That history is rarely used for anything besides an after-the-fact audit, even though it is also the missing link between a hypothesis and the result it predicted.

What gets missed without it

The problem this solves: a metric can improve without the proposed change ever having been made, and a metric can stay flat while the change was made but gets overshadowed by something else. Without pulling in the change history, an improved metric after accepting a hypothesis is not confirmation, at best a coincidence that looks suspiciously like one.

A worked example

Illustrative case: a hypothesis proposes lowering the tROAS target during the evening peak window to capture more volume at a slightly lower efficiency. Two weeks later, CPA in that window has dropped -- but the change history shows no tROAS edit was ever made in that campaign during the window. What actually happened was a seasonal demand shift that lowered CPC across the board. Crediting the hypothesis here would be attribution by coincidence, not by evidence.

The mirror case

The reverse is just as common, and more informative than it first looks: the change history confirms the tROAS target was lowered exactly as predicted, and the measured CPA barely moves. That is not proof the hypothesis was wrong -- it is proof the change was made and did not produce the predicted effect, a genuinely more useful outcome than "nothing happened," because it rules out execution failure as the explanation and points the next hypothesis somewhere else entirely.

The discipline this requires

The approach is not complicated, but it does require discipline: classify every change by the type the hypothesis predicted (budget, bid, status, keyword), limit that to the window between accepting the hypothesis and the measurement moment, and treat "no matching change found" as its own outcome, not a hidden "no". That last step is where most attribution attempts run aground: an unexecuted hypothesis still gets judged on numbers that had nothing to do with it.

Why this compounds over a year of reporting

Skip this discipline for long enough and the account's own hypothesis record stops being trustworthy: a handful of coincidences get logged as confirmed wins, a handful of correctly-executed changes get logged as failures because something unrelated overshadowed them, and every future recommendation inherits that noise as if it were signal. The change history exists in every platform already -- the cost of using it is discipline, not new data.

See how the Decision Framework applies to your own accounts.

Request a demo