Direct mail has a reputation problem it doesn't deserve. Not for being ineffective - the results speak for themselves - but for being hard to measure. The assumption is that once something goes in a letterbox, you lose the thread. You can't see who opened it, who acted on it, or what it was worth.
That assumption was true once. It isn't anymore.
Modern direct mail campaigns can be tracked with the same granularity as digital channels: individual-level response data, real-time scan tracking, conversion attribution, and multi-touch modelling that shows exactly where direct mail sits in the customer journey. The tools exist. Most marketers just haven't set them up yet.
This blog covers the practical mechanics of measuring direct mail ROI, from the tracking methods that capture responses to the attribution approaches that connect mail to revenue, and the formula for calculating what a campaign actually returned.
Marketing budgets don't get approved on faith. Every channel needs to justify its place, and direct mail, often carrying a higher per-piece cost than digital, is frequently the first to face scrutiny when the numbers aren't clearly documented.
The irony is that direct mail is one of the highest-performing channels available. The problem isn't performance, it's proof. Without proper tracking, the results are real but invisible, and invisible results don't survive budget reviews.
Measurement also makes every subsequent campaign better. When you know which offer generated the most responses, which format drove more scans, and which segment converted at the highest rate, you're not guessing next time.
The single biggest measurement mistake in direct mail is treating tracking as an afterthought; something to figure out after the campaign has landed. By then, it's too late. Tracking has to be designed into the campaign from the start, because the mechanisms that capture response data need to be on the mail piece itself.
Before briefing a campaign, decide: how will someone respond, and how will that response be attributed back to this specific mailing? Every other tracking decision follows from that.
QR codes are now the most widely used tracking mechanism in direct mail, and for good reason. They're frictionless for the recipient, they generate real-time data, and they can be personalised per recipient so that every scan is attributable to a specific individual rather than just the campaign as a whole.
When someone scans the QR code on a mail piece, you can capture: who scanned, when they scanned, what device they used, and what they did on the landing page after scanning. That's a level of behavioural data that most marketers associate with digital channels.
With Stannp.com, QR codes are generated within the platform and tracked natively. Scan data is available in your campaign dashboard without needing to set up third-party analytics separately. For campaigns using personalised QR codes, each recipient gets a unique code, so response data is tied to the individual rather than aggregated across the whole send.
The one thing to get right: the landing page the QR code points to needs to load quickly on mobile (most scans happen on phones), match the promise made in the mail piece, and have a single clear action. A QR code that leads to your homepage or a slow-loading page wastes everything that came before it.
A PURL is a unique web address printed on each mail piece - something like yoursite.com/john-smith - that takes the recipient to a landing page built around them specifically. Every visit is individually attributed, so you know exactly who engaged.
PURLs work particularly well for B2B campaigns or higher-value audiences where individual-level data is worth the additional setup. They also allow for more personalised landing page experiences, which can improve conversion rates on top of the tracking benefit.
Campaign-specific or recipient-specific discount codes are one of the most straightforward tracking methods, and one of the most reliable. When a code is redeemed, online or in-store, the sale is attributed to the campaign. No ambiguity.
For campaigns where the offer includes a discount, making each code unique per recipient gives you individual-level attribution. For campaigns where the offer is the same for all recipients, a single campaign-specific code still tells you clearly which sales came from which mailing.
For campaigns where phone response is the primary CTA - common in financial services, healthcare, and local services - a dedicated or tracked phone number attributes calls to the specific mailing. Different campaigns get different numbers, so attribution is clear even if someone calls days or weeks after receiving the piece.
Matchback is less commonly used but valuable, particularly for campaigns where recipients may convert without using any tracking mechanism. It works by comparing your mailing list against your sales or conversion records after the campaign, looking for recipients who converted during the attribution window, even if they didn't scan a QR code or use a promo code.
It's not a perfect science; it requires clean, well-formatted data and a clear attribution window, but it captures responses that other methods miss. A customer might receive your mail piece, think about it for two weeks, and then buy directly through your website without any of the tracking mechanisms you built in. Matchback catches that.
One of the more practical decisions in direct mail measurement is deciding how long after delivery you'll credit a response to the campaign. Direct mail isn't like digital; people don't always act immediately. A well-designed piece might sit on a kitchen counter for two weeks before someone picks it up and acts on it.
Decide on your window before the campaign goes out and stick to it. If you change it mid-campaign because early numbers look underwhelming, you're not measuring anything meaningful. Being consistent across campaigns also matters, because the only way to compare results reliably is if the methodology is the same each time.
Once you have response and conversion data, the calculation is straightforward:
ROI (%) = [(Revenue generated – Campaign cost) / Campaign cost] x 100
So if a campaign cost £3,000 to produce and send, and generated £18,000 in attributable revenue:
ROI = [(£18,000 – £3,000) / £3,000] x 100 = 500%
Campaign cost should include everything: design, print, postage, and any data or platform costs. Revenue generated should be limited to conversions you can attribute to the campaign, either through tracking mechanisms or matchback analysis.
For campaigns where the goal isn't immediate revenue (brand awareness, lead generation, event registration), you'll need different KPIs - cost per lead, cost per registration, or cost per qualified prospect - rather than straight revenue ROI.
If you want to isolate the impact of direct mail with no ambiguity, a control group is the most reliable method. Split your audience into two groups: one receives the mail piece, one doesn't. Everything else stays the same. The difference in conversion rate between the two groups is the lift attributable to direct mail.
Control groups are particularly useful when you're running direct mail alongside other channels and can't easily separate the effects. They're also the most compelling thing you can show a sceptical finance director; not "we think direct mail drove this" but "here's the group who received it and here's the group who didn't, and here's the difference."
The trade-off is that the control group represents revenue you're choosing not to pursue in the short term, in exchange for cleaner data. For most campaigns, that's a worthwhile investment.
Few conversions happen in a straight line. A customer might see a social ad, receive your mail piece, then convert via email two weeks later. In a last-touch attribution model, email gets all the credit and direct mail gets none, which doesn't reflect reality.
Multi-touch attribution distributes credit across all the channels a customer interacted with before converting. It gives direct mail its fair share of the journey rather than penalising it for not being the final click.
This matters especially as more campaigns use direct mail as a warm-up or re-engagement tool alongside digital. The 2025 JICMAIL data shows that 9.4% of mail now drives website visits, with half of mail-prompted purchases completed online. If your attribution model doesn't account for that offline-to-online journey, it's systematically undercounting what direct mail is contributing.
Stannp.com's integrations with HubSpot, Salesforce, Klaviyo, and Zapier make it possible to log direct mail sends and responses alongside your other channel data, so multi-touch modelling can include physical mail in the same way it includes email or paid social.
Your own data is only useful once you have something to compare it against. Based on Stannp.com's analysis of over 5 million mail pieces across 1,400 campaigns:
For a full breakdown of engagement benchmarks by industry and what separates top-performing campaigns from average ones, the direct mail engagement rates blog goes into significant detail, including a real campaign analysis showing what drove a 7.34% engagement rate.
Good data that nobody believes doesn't unlock budget. A few things that make the difference when presenting results:
Including all costs - design, print, postage, platform - makes the ROI figure more credible. If it still looks good with everything in (and it usually does), the number is harder to pick apart.
If you're making the case for direct mail against digital channels, use the same metrics: cost per acquisition, revenue per pound spent, or conversion rate. Direct mail tends to win these comparisons when measured honestly.
The lift figure from a control group test is the most compelling data point you can bring to a budget conversation. It's not directional, it's causal.
Your own results are more credible when they sit alongside industry data. Our tangible touchpoint playbook covers key measurement metrics and benchmarks and is worth sharing internally - download the playbook here.
If you're running direct mail campaigns through Stannp.com, QR code tracking is built into the platform; no separate setup required. You can see scan-level data for every campaign and export data for analysis in your CRM or reporting tools.
If you're not yet running direct mail, register free - no minimums, no setup fees. Start with a small test campaign, build your tracking in from the beginning, and measure the results before scaling.
ROI is calculated as [(Revenue generated – Campaign cost) / Campaign cost] x 100. Campaign cost should include design, print, postage, and platform costs. Revenue should be limited to conversions attributable to the campaign through tracking mechanisms (QR codes, promo codes, PURLs) or matchback analysis.
QR codes are the most practical and widely used method. They generate real-time, individual-level scan data with minimal friction for the recipient. Personalised URLs (PURLs), unique promo codes, and dedicated phone numbers are also effective depending on the campaign type and response mechanism.
Matchback analysis compares your mailing list against your sales or conversion records after a campaign, identifying recipients who converted during the attribution window even if they didn't use a tracking code. It captures responses that other methods miss but requires clean data and a clearly defined attribution window.
Most campaigns should be tracked for 30–90 days after delivery to capture the full response curve. Direct mail recipients don't always act immediately; a piece may sit in a home for weeks before prompting action. Cutting the tracking window too short underestimates the campaign's true performance.
A control group is a segment of your target audience who don't receive the mail piece, used to isolate the impact of the campaign. The difference in conversion rate between the group who received the mail and the group who didn't represents the lift attributable to direct mail; the cleanest way to prove ROI.
Based on Stannp.com's own data across 5 million mail pieces, the median QR code engagement rate is 1.63%, with top-quartile campaigns reaching 3.55% and above. What counts as good depends on your industry, audience, and campaign type. Our direct mail engagement rates blog covers benchmarks by industry in detail.