NotesArticleOperator-judged

Decisions need a revert command

A trafficking change that exists only in someone's head is not reversible. The experiments ledger requires the revert command before the change ships. REVERT is a normal outcome. Applied and never judged is the failure.

Published 2026-09-09 · Search job: how to reverse a campaign change

To reverse a campaign change, you need the revert command written down before the change ships. A path that exists only in the head of whoever made the change is not reversible in practice.

That is why the trafficking experiments ledger exists. The standing daily job is check campaign status, verify the product, ship fixes, and make exactly one trafficking improvement per day. The load-bearing rule is that no trafficking change ships without its revert command in the ledger first. We chose that rule because decisions sometimes need reversing, and because we have already watched silent permanent policy accumulate from unjudged edits.

REVERT is a normal outcome

An experiment can land in REVERT without anyone having failed. The change was applied, the window was watched, the reading did not support keeping it, and the written command put the previous state back. That is how a seat stays editable.

The state to avoid is applied, never judged. An unjudged change silently becomes permanent policy. Targeting, pacing, bids, and creative mix all drift this way. Six months later nobody can say which edit was a test and which edit was the new default. The ledger's job is to make "we have not judged this yet" visible.

One change per day is a measurement rule

A small remnant fleet does not give you enough signal to attribute an outcome when two things moved. Roughly 5,000 impressions and 20 clicks a day is far too little for a two-factor story. One change per day is how we keep the later reading attached to one cause.

Until IVT measurement is attached, a click decline cannot be read as better or worse traffic. Fewer clicks may mean fewer bots. Any experiment decided on clicks alone must say so in the ledger. CTR is a trap. We were measuring nothing and reading zero as fine. Those two notes are why a revert command is not optional decoration.

What a revert command has to be

It has to be a command, not a reminder. The previous targeting set id, the previous bid, the previous pacing string, the previous creative association list: the thing you will actually send. "Put it back" is not a command. The Supply Audit apply path already follows this spirit on exclusions. Apply creates a new targeting row and never edits the live campaign. Pointing a campaign at the new row is a later, judged step. That is reversible because the old row still exists.

The same idea belongs on pacing, dayparting, and bid modifiers once those ship as product controls. A modifier you cannot detach is not an experiment. A lifetime envelope you cannot re-push is how campaigns silently stop.

Why this is a Note and not a Lab result

The revert rule is operator-judged. We have not A/B tested the ledger against a world without one. We have watched unjudged changes become policy, and we have watched single-endpoint capability claims last months. The ledger is how we refuse the next silent default.

If you are running tests on Adprime Zero, copy the habit even if you never see our ledger. Write the reverse before you apply. Judge later. Treat REVERT as a finished experiment, not as a rollback you are ashamed of.