Change journal and lift
Adwarp journals every change to an ad entity, so you can compare performance in the window before a change against the window after it.
Adwarp keeps an append-only journal of every change made to an ad entity, so you can measure the lift of a change: how performance differed in the window before it versus the window after.
- Where it lives:
~/.adwarp/changelog.jsonl, a plain local file with a JSON object per line. There is no database, no account, and nothing to set up. Override the path withADWARP_CHANGELOG_PATH. - Auto-capture: every create or update Adwarp makes to a campaign group, campaign, or creative is journaled automatically. Capture happens at the single HTTP chokepoint every write passes through, so it cannot be forgotten. Ad status changes (
adwarp ad pause,update_ad) are recorded under the numeric creative id, the same idadwarp lift creative <id>takes. - Manual entries: log changes made outside Adwarp (for example in Campaign Manager), or attach a hypothesis, with
adwarp changelog addor thelog_ad_changetool. Use-l, --labelto name the test (for example"outcome-led headline test") and--tagsto group related changes. - Lift:
adwarp lift <level> <entityId>(or thecompute_lifttool) reads the journal for that entity. For each change, it compares the--windowdays before (default 14) against the same window after, and reports before and after metrics with per-metric deltas: click-through rate, cost per click, conversion rate, cost per conversion, and more. Recent changes get a clamped,partialafter-window.
adwarp changelog add -t creative -i 123456789 -f headline --after "Book a demo in 2 minutes" -l "outcome-led headline test"
adwarp changelog list -i 123456789
adwarp lift creative 123456789 -w 14This is a directional before and after comparison, not a controlled experiment. It is confounded by seasonality, the LinkedIn learning phase after an edit, and any concurrent budget change, so treat the deltas as a signal.
Set ADWARP_NO_CHANGELOG=1 to turn off auto-capture. Journaling is also off on hosted deploys, which have a read-only filesystem.