Skip to main content
How to Measure Shopper Marketing ROI - featured image, Bamboo Marketing

How to Measure Shopper Marketing ROI

By September 25th, 2026

What is shopper marketing ROI?

Shopper marketing ROI is the incremental profit a campaign produced divided by what that campaign actually cost. Incremental sales multiplied by the gross margin on the participating lines, over the full cost of the programme: media, display allowance, redemption, production, agency fees and the data you bought to read the result. Shopperations sets the formula out in full if you want the long version.

The arithmetic is the easy part. The hard part is that in most post-campaign meetings we sit in, nobody in the room can say what the campaign cost. They can say what the shopper media cost, which is a different number, and usually about a third of the real one.

The denominator breaks before the numerator does

The argument in the review is almost always about the top half of the fraction. How much of the lift was ours, how much was the price cut, how much was the television. That argument is worth having. It is also the wrong place to start, because the bottom half is already wrong and nobody is checking it.

Shopper spend is rarely held in one place. The display allowance sits in a trade fund the account manager controls. The redemption liability sits in a general pool that is never reconciled back to a single campaign. Artwork and retainer sit in brand. The syndicated data subscription sits with insights. Every one of those is a real cost of the programme, and every one of them is owned by somebody who was not in the room when the campaign was approved.

Here is what that does to the number. The figures below are round and illustrative, not a client result. Substitute your own and the shape holds.

A twelve-week cashback on a grocery line, two banners. Incremental sales of $1.2m at 35 per cent gross margin gives $420,000 of incremental profit. Presented against $180,000 of shopper media and point of sale, that is a return of 2.3 to 1, and it goes in the deck as a success.

Now add back the money the campaign actually spent. The retailer display allowance of $150,000, funded out of trade. The redemption liability of $95,000 that was genuinely paid out. The share of retainer and artwork, $65,000. The $10,000 of syndicated data bought to prove the point. Fully loaded cost is $500,000, and the same $420,000 of profit now returns 0.84 to 1. The campaign lost money and the deck said it made 2.3 times its investment.

This is a structural problem rather than a discipline problem, and it does not get fixed by asking the marketing manager to be more rigorous. It gets fixed by naming one person who owns the full cost line before the campaign runs, including the money other departments will spend on its behalf. If you cannot name that person, the ROI you produce afterwards is a forecast with a haircut, and it should be labelled as one.

“We were spending that display money anyway”

This is the first objection every time, and it is a fair one. The display allowance was committed to that retailer in the annual trade plan. Trade is already carrying it and already books a return against it. Load it into the shopper campaign as well and the same $150,000 has been counted twice across two teams, which is the exact sin this article is complaining about.

So apply to the cost the test you would apply to the sales. Incrementality cuts both ways. The question is not whether the money was budgeted, it is whether it was spent to make this campaign work. If the display would have run in that window with no cashback on the pack, it is base, and it belongs to trade. If the retailer granted the space because the cashback was on the table, or the space was upgraded, extended or moved forward because of it, then the campaign bought it and the campaign should carry it.

Run the conservative version of the example. Treat the whole display allowance as base, strip the $150,000 out, and the fully loaded cost falls to $370,000. The same $420,000 of profit returns 1.14 to 1. Better than 0.84, and still nothing like the 2.3 that went in the deck. The honest range for that campaign is somewhere between one and one point one, and a campaign returning marginally above its cost is a different conversation from a campaign returning more than twice it. That gap, not the argument about whose lift it was, is what the review meeting should have spent its hour on.

Measuring a lift in a market that is always on promotion

Then there is the top half, and Australia makes it harder than most markets. Circana found that 39 per cent of all packaged grocery units were sold on promotion in the twelve months to early January 2026.

Two in five units moving on deal is not a quiet counterfactual to draw a baseline through. The textbook answer is to measure only the shopper activity that ran in clean weeks, with no feature, no display and no price reduction against it. In a market at 39 per cent, on a line that matters enough to have a shopper campaign behind it, those weeks barely exist, and the ones that do are unrepresentative by definition. A read taken in the four weeks a brand was left alone tells you what happens when a brand is left alone.

So take the other approach, and take it as the default rather than the fallback. Measure total incrementality across trade and shopper together, hold both against the same cost line, and give up on apportioning the credit. It is less satisfying. The shopper team loses the ability to claim a number of its own, which is the real reason the method is unpopular, and finance loses a clean line to reward. What it buys is a question the business can answer: which combination of price, display and shopper activity paid, rather than whose slide was right. We have watched that version of the meeting change the following year’s plan. We have not once seen the attribution argument do it.

Is ROI even the right question for this campaign?

The other half of this is that ROI is a margin over cost measure, so it only answers honestly when the campaign’s job was margin. At Bamboo Marketing we work to the One Job Rule, which is that a campaign gets one objective and not five, and the objective settles the measure before anything goes to market.

A campaign built for trial will look poor on short-term ROI and should. Sampling and demonstration cost a great deal per contact and convert over a horizon a four-week post-promotional read cannot see. The Cointreau experiential campaign that won Bamboo Marketing a Shop! ANZ bronze in 2023 was not built to return a margin inside a quarter, and reading it that way would have killed it in month two. A campaign built for data, where what you are buying is an addressable file you will market to for years, is not a margin play at all. A campaign built for basket size should be read on units per transaction, because total lift will hand the credit to whoever cut price that fortnight.

When the measure and the objective disagree, the fault is usually upstream of measurement. The objective was never written sharply enough to imply a measure, which makes it a briefing problem. We have written separately about what a shopper marketing brief needs to contain, and the success metric belongs in it, agreed before anyone quotes. The same test applies to a shopper insight: if it does not change a decision you control, it is not doing any work.

Three things to settle before the campaign runs

These are the three Bamboo Marketing pushes hardest for at the planning table, in order of how much each one moves the final number.

Name the spend owner. One person accountable for the fully loaded cost, with sight of the trade and redemption money. On the numbers above, this is the difference between 2.3 to 1 and 0.84 to 1, which makes it the only one of the three that changes the answer by itself.

Build the control in at the brief stage. Held-out stores, held-out weeks, a suppressed audience segment. A control designed in costs you a little reach. A control invented afterwards, out of stores that happen to look similar, is a defence rather than a measurement, and every experienced category manager knows the difference.

Write the success metric next to the objective. Trial gets new buyers and their repeat rate. Data gets qualified records and what they are worth over time. Basket gets units per transaction. Margin gets ROI, calculated properly, with the whole denominator in it.

None of this needs better analytics. It needs the business to decide what it is buying before it buys, which is the same discipline that makes an offer legible in the three seconds a shopper gives it. That is why we keep coming back to the 3-Second Equation when we design the mechanic in the first place.

Shopper marketing ROI is not a hard calculation. It is a number that gets decided in the six weeks before a campaign goes live, when the cost line, the control and the metric can all still be changed. Everything that happens after launch is reporting. If you want the number to be different, the meeting to change is the one where the redemption liability is still an estimate and the prize value is still an open question, which is the argument Trevor Services makes about sizing a prize from the execution side. We are happy to have that conversation early, and you can start it here.