# 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.

> **Available on every paid plan**
>
> The page appears on Starter, Pro and AdPix 360. On Free it shows an upgrade screen.

## Turn on automatic detection

1. Open **Incrementality** under **Marketing measurement**.
2. Turn on **Detect spend changes automatically**.
3. Keep your cost data current under [Cost & ROAS](analytics/marketing/import-ad-cost).

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](analytics/marketing/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.

> **Make the analysis learn faster**
>
> 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.

## Related

- [Run a lift test](https://docs.adpix.io/en/analytics/marketing/run-a-lift-test/)
- [Run a marketing mix model](https://docs.adpix.io/en/analytics/marketing/run-an-mmm/)
- [Import ad cost](https://docs.adpix.io/en/analytics/marketing/import-ad-cost/)
- [MMM or Lift — which one to run](https://docs.adpix.io/en/analytics/marketing/mmm-vs-lift/)

---

[Docs](https://docs.adpix.io/en/analytics/marketing/incrementality/) · AdPix
