Incrementality: every spend change, measured
AdPix finds each budget change in your cost data, measures what it actually caused with a calibrated lift test, and learns from those measurements how each channel responds to more or less spend.
What this page answers#
A lift test measures one change you remembered to set up. The marketing mix model needs about two years of data. Between the two, most budget decisions are never measured. This page closes that gap: every budget change in your cost data is treated as an experiment.
The page appears on Starter, Pro and AdPix 360. On Free it shows an upgrade screen.
Turn on automatic detection#
AdPix compares, for each channel and each campaign, the median daily spend of the two weeks before a day with the week after it. A change of at least 20% that holds for at least five of the next seven days becomes an activity. Short spikes and normal daily noise are ignored. When one campaign drives most of a channel's change (at least 70%), the campaign is listed instead of the channel. A day with no cost row for a channel (say, because that source's import is running late) counts as missing data, not as zero spend; only a row that explicitly says 0 is a stop.
You can also Add activity by hand for things the cost data cannot see: a promotion, a price change, a product launch, press coverage, an influencer post or a tracking change. Dismiss removes an activity you do not want measured; it is never detected again.
How each change is measured#
An episode is 14 days long and starts at its first change. A change that starts within those 14 days joins the episode and is measured only for the days it ran inside the window; that day count is the change's exposure, and its share is sized by it. A change that starts after the 14 days opens a new episode. Once the window and two settling days have passed, AdPix runs one calibrated lift test on all conversions for that episode. The result is the episode's measured effect, with its quality grade, exactly as in Run a lift test.
| Status | Meaning |
|---|---|
| Waiting | detected; its window has not finished yet |
| Measured | the episode's test is done and the effect is in the table |
| Dismissed | you chose not to measure it |
| Not measurable | the test could not run (for example, too little data) |
When an episode holds more than one change, the table marks each change's share with an asterisk. Only the episode total is measured; the split follows prior estimates, and Resolved by data in the episode panel says how much the measurement actually decided.
If late conversions arrive, or you edit the cost rows of its days, within 30 days of an episode, it is measured again automatically. Each day the episodes checked longest ago go first, so none is skipped. A change to data older than 30 days does not alter the recorded result.
Channel analysis#
Channel analysis learns, from the measured episodes only, how each channel's conversions respond to spend. For each channel it shows:
| Column | What it tells you |
|---|---|
| Incremental conversions / day | what the channel causes at today's spend, with an 80% interval |
| Marginal iCPA | what the next conversion costs if you add spend |
| Average iCPA | today's spend divided by the conversions it causes |
| K factor | attributed ÷ incremental conversions; above 1 the channel is over-credited |
| Attribution bias | the channel's share of attributed conversions against its share of incremental ones |
The analysis is always per channel. A change detected at campaign level counts toward its channel's curve at the channel's total daily spend before and after the change, not the campaign's own spend.
| Channel status | Meaning |
|---|---|
| Learning (n/4) | fewer than four measured episodes; nothing is shown yet |
| Prior-driven | the episodes barely informed this channel; greyed, and it gets no recommendation |
| No stable fit | the model could not settle on an answer for this channel; no numbers and no recommendation |
| No measurable effect | the measured spend changes did not move your KPI by more than their uncertainty, so a zero effect cannot be ruled out; the marginal iCPA reads Unbounded (no measured effect) and the recommendation can only be to review or scale down |
| Measured | the channel's curve was learned from measured episodes |
Under the table's intro two dates appear: Fitted is when the curves were built from the measured episodes, and evaluated … at current spend is the last time those curves were read again at today's spend. The curves are refitted only when a new episode is measured, but they are evaluated every day so the numbers follow your current spend.
Curve opens the channel's response to spend. The green band marks the spend range your episodes covered; outside it the curve is an extrapolation.
Target iCPA and recommendations#
Enter a Target iCPA: the most one incremental conversion may cost you. It stays in your browser. Channel analysis then adds a Recommendation per measured channel (learning, prior-driven and no-stable-fit channels get none):
| Recommendation | When |
|---|---|
| Scale up | the average and the next conversion both cost no more than the target |
| Hold | the average is within target and the next conversion costs about the target (the target is inside its 80% interval) |
| Scale down | the next conversion clearly costs more than the target |
| Review: little return | even the optimistic estimate returns under a tenth of the spend at target value |
Performance map#
Performance map places each channel by its share of paid spend (left to right) and its cost per incremental conversion (bottom to top). Switch between average and marginal iCPA. Bubble size is spend; colour is the K factor, from green (credited about as much as it causes) to red (credited with far more).
Week by week#
Week by week colours each channel's last 12 complete weeks by the same rule, read at that week's spend: green Efficient, amber At target, red Over target, grey Little return. It shows whether a channel drifted into pressure as its budget grew. It needs a target.
These views use spend: without the cost permission they are hidden.
Paid versus organic#
The Paid vs organic card subtracts what the measured channels cause from all conversions. The remainder is organic demand plus anything not measured. It is never forced to fit: if the channels' effects add up to more than all conversions, the card says so instead of hiding it.
The measurement network#
Under Admin → Measurement network, an organization admin decides whether the organization contributes anonymised aggregates that calibrate other websites: placebo errors for websites with too little history of their own, and paid-share priors for new marketing-mix models. Only groups of at least 10 websites from 5 organizations are ever published, and nothing in them identifies a website or organization. Turning it off stops the organization's data from feeding the network; its websites still use what is published.
Change budgets in clear steps of 20% or more and hold them for at least two weeks. Vary the size of the changes: a pause, a cut and an increase teach the curve far more than three similar increases.
Frequently asked questions#
Why does a change show a share with an asterisk?
Several changes happened in the same two weeks. A test can only measure their combined effect, so the split between them is guided by prior estimates (the Marketing Mix model's curve when it models the channel, otherwise the spend share). Use the episode total for decisions; treat the split as a guide.
Why is a channel still "Learning (2/4)"?
The channel analysis needs at least four measured episodes for a channel, with spend levels that differ by at least 30%. Until then it shows nothing rather than a guess. Each new budget change you make adds one.
What does a K factor of 2.5 mean?
Your last-touch reports credit the channel with 2.5 times the conversions it actually causes. Bid targets set in the ad platform on attributed numbers should be adjusted by that factor.
Do I need to set up anything?
Detect spend changes automatically is on by default; just keep your cost data imported. Changes that held for at least a week are picked up, measured once their two weeks have passed, and added to the analysis.
How long can late data still correct a result?
30 days. If late conversions arrive or you edit a cost row within that time, the episode is measured again. Changes to data older than 30 days do not alter the recorded result.
What does "No stable fit" mean?
The model could not settle on an answer for that channel. It shows no numbers and no recommendation, and the channel is fitted again when new spend changes are measured.
Thanks — your feedback helps us improve the docs.