Method
Direct Mail

Direct Mail ROI: How to Track and Prove Postcard Results

How to track direct mail ROI on postcard campaigns — QR codes, tracked numbers, promo codes, and the formulas to prove your card actually drove revenue.

Mitchell Tebo
Mitchell Tebo
Founder, 9x12 Method · May 7, 2026 · 14 min read

The single biggest objection I hear from local businesses thinking about a 9x12 postcard slot is some version of "how will I know if it actually worked?" And honestly, it's a fair question. For decades, direct mail had a reputation for being unmeasurable — you sent it, hoped for the best, and tracked nothing. Direct mail ROI was guesswork. But in 2026, that's completely false. With QR codes, tracked phone numbers, promo codes, and proper landing pages, you can measure direct mail ROI down to the individual customer. Better than Facebook ads in a lot of cases. Let me show you exactly how to track it, calculate it, and prove results to advertisers so they renew for card #2.

This is the post operators need bookmarked when an advertiser asks "what's my ROI?"

What is direct mail ROI?

Direct mail ROI is the return on investment from a direct mail campaign — calculated as the revenue (or profit) generated by the campaign divided by the cost of the campaign, expressed as a percentage or multiple.

The basic formula:

Direct mail ROI = (Revenue from campaign − Cost of campaign) / Cost of campaign × 100

For example, if a roofer spends $500 on a 9x12 postcard slot and that slot drives 2 closed jobs at $12,000 each ($24,000 total revenue), the ROI calculation is:

($24,000 − $500) / $500 × 100 = 4,700% ROI

That's not a typo. A single closed roof job from a $500 slot produces 47x return on investment. And that's why high-ticket service businesses are the perfect fit for 9x12 postcard advertising — even ONE closed customer obliterates the ad cost.

Why direct mail ROI is now measurable (it wasn't 10 years ago)

The old story about direct mail was that you couldn't track it. Send a postcard, wait, hope. That story is dead. Here's what changed.

QR codes went mainstream. Every iPhone since 2017 scans QR codes from the camera automatically. Every Android does too. In 2026, scanning a QR code is as natural as tapping a button. That single shift made direct mail trackable for the first time at scale.

Tracked phone numbers got cheap. Services like CallRail and Twilio give you unique phone numbers that forward to the business owner's main line — but log every call. $20–$30/month gets you full call tracking on a postcard campaign.

Promo codes work great in print. Unique promo codes ("PCMAY24") on a postcard slot give you 1:1 attribution when redeemed at checkout, on a website, or over the phone.

Landing pages with UTM tracking. Send recipients to a dedicated URL or QR-redirect to a landing page tagged with a "postcard" UTM source. Every visitor is attributed.

The combination of these tools means you can measure direct mail ROI more precisely than most people measure their Facebook ads. The only question is whether the operator and advertiser bother to set tracking up — and most don't, which is why "direct mail doesn't work" is still a common myth.

A 9x12 postcard with QR codes, tracked phone numbers, and promo codes is more measurable than 90% of digital ad campaigns running in 2026. The data is just sitting there waiting to be collected.

The 4 ways to track direct mail ROI on a postcard

Every advertiser slot on your card should have at least one — ideally two — of these tracking methods. Pick what fits the advertiser's business.

Method 1: QR codes (the universal default)

This is the easiest, cheapest, and most-used tracking method on a 9x12 postcard. Generate a unique QR code for each advertiser. The QR redirects to the advertiser's landing page, booking form, or contact form — and you log every scan.

What to track:

  • Total scans per slot
  • Time of scan (morning vs evening, weekday vs weekend)
  • Geographic origin of scan (sometimes available)
  • Conversion from scan → action (booking, call, form fill)

Tools: Use ScanLab or any QR code generator with analytics (Bitly, QR Code Generator Pro, Beaconstac). Free options work fine for basic scan counting.

What QR scans tell you about ROI: If a slot got 47 scans, you know 47 prospects took an action. Multiply by the advertiser's typical conversion rate (varies by industry — a dentist might close 30% of inquiries, a roofer might close 10%) and you have a rough lead count.

Method 2: Tracked phone numbers (best for service businesses)

For advertisers whose customers prefer to call (roofers, HVAC, plumbers, attorneys), give them a unique tracked phone number that forwards to their main line.

What to track:

  • Total calls per slot
  • Call duration (longer = more qualified lead)
  • Caller location (sometimes)
  • Call recordings (with permission) for sales coaching

Tools: CallRail ($45/month per number), CallTrackingMetrics ($39/month), or Twilio for DIY (~$1 per number + per-minute fees).

What tracked numbers tell you about ROI: Every call is a real human prospect who saw the card and acted. Multiply call count by close rate (typically 30–60% for inbound service calls) to get closed customers. Multiply by average customer value to get revenue.

Method 3: Promo codes (best for retail and food)

For advertisers whose customers come in-person or buy online, give each slot a unique promo code printed on the card.

Examples:

  • "Mention POSTCARD24 for 20% off"
  • "Use code SPRING9X12 at checkout"
  • "Show this card for $50 off your first service"

What to track:

  • Total redemptions per code
  • Average order size when code used
  • Customer LTV from postcard-acquired customers

What promo codes tell you about ROI: 100% direct attribution — every redemption is a confirmed customer who came from the postcard. Easiest method to count revenue from. Hardest part is getting the advertiser to consistently log code usage.

Method 4: Landing pages with UTM tracking

For advertisers driving recipients to their website or a custom landing page, use UTM parameters on the link to track every visitor.

Example URL: roofers-website.com/postcard?utm_source=9x12card&utm_medium=postcard&utm_campaign=may2026&utm_content=slot-3

The advertiser's Google Analytics (or whatever they use) reports every postcard-driven visitor and conversion separately from organic traffic.

Tools: 9x12 Sites builds advertiser landing pages with tracking baked in. Or build them yourself with Carrd, Leadpages, or any landing page builder.

How to calculate direct mail ROI for your advertisers

Here's the exact formula and a few worked examples for different advertiser types.

The full ROI formula

Revenue = Closed customers × Average customer value (or LTV)
Cost = Ad slot price + design fee + any other campaign costs
ROI = (Revenue − Cost) / Cost × 100

Example 1: Roofer

A roofer pays $500 for a 9x12 slot. Over 60 days after the card mails, they get:

  • 47 QR code scans
  • 12 phone calls from the tracked number
  • 4 form fills on their landing page
  • ~63 total inquiries

The roofer closes ~10% of inquiries → 6 closed jobs. Average roof job = $12,000.

$72,000 (6 jobs × $12K)
Revenue from postcard
$525
Cost (slot + design)
~$28,800 (40% margins)
Net profit (after job COGS)
5,386%
ROI on $525 spent

This is why roofers buy postcard slots all year long once they see results from one.

Example 2: Restaurant

A pizza restaurant pays $250 for a community card slot with a "$5 off any large pizza" coupon.

Over 60 days:

  • 38 redemptions of the promo code
  • Average order size: $32
  • Estimated 30% of redeeming customers become repeat customers (3+ orders/year)
38 × $32 = $1,216
Initial transactions
11 customers × $300/year = $3,300
Repeat customer LTV
$4,516
Total 1-year revenue
$250
Cost (slot)
1,706%
ROI on $250 spent

Example 3: Dentist

A family dentist pays $500 for a 9x12 slot offering "$59 New Patient Special: exam, X-rays, cleaning."

Over 90 days:

  • 22 new patients book the special
  • 18 of them convert to ongoing patients
  • Average dental patient LTV: $2,500 over 5 years
$1,298 (22 × $59)
Special-only revenue
$45,000 (18 × $2,500)
New patient lifetime revenue
$46,298
Total LTV
$500
Cost (slot)
9,160%
ROI on $500 spent

The point of these examples isn't the specific numbers — it's the framework. One closed customer almost always pays for the entire ad for high-ticket service businesses. The question isn't whether direct mail ROI is positive. It's how positive.

How to deliver an ROI report to advertisers

This is where most operators drop the ball. The card mails, the advertisers see results (or don't), and the operator goes silent. Then renewal time comes and the advertiser doesn't sign up for card #2 because they have no proof the first one worked.

The fix: send every advertiser a simple ROI report 21–30 days after the card mails. Format it like this.

The 1-page advertiser ROI report

Subject: Your card #1 results — 28 days in

Body:

Hey [Name] — wanted to share your card #1 results.

Your QR code got [X scans] over the past 28 days. Tracked phone calls to your dedicated number: [Y]. Total prospect actions: [X+Y].

Across the 5,000 homes the card reached, that's an action rate of about [Z%], which is in line with what we typically see for [industry] cards. Roughly translates to [N] inquiries.

Based on your business's typical close rate, that's somewhere around [estimated closed customers] new customers from card #1. At your average customer value of $[your number], that's roughly $[revenue estimate] in revenue from a $500 slot.

We're starting card #2 next week — same neighborhood, same exclusivity. Want to keep your spot?

Thanks, [Your Name]

That's it. Five paragraphs. Real data. Specific dollar values. Direct ask for renewal.

When direct mail ROI looks bad — what to do

Sometimes the data comes back ugly. Low scans, few calls, advertiser unhappy. Don't panic — diagnose. Here's the troubleshooting tree.

Was the design good? Bad ad design kills response rate even with great targeting. Was the headline an offer or just the business name? Was there a clear CTA? Was the QR code prominent? If the design was the problem, redesign for card #2 and the advertiser will likely give it another shot.

Was the offer compelling? "Free quote" doesn't drive action. "$500 off a new roof through May 31" does. If the advertiser submitted a weak offer, push back on card #2 to use a real offer with a deadline.

Was the neighborhood right? Did you mail to a $40K-income area? Then a roofer's results will be poor regardless of design. Better neighborhood selection is a fix you can make immediately for card #2.

Did the advertiser actually answer the phone / respond to leads? Sometimes the postcard generated 30 inquiries but the advertiser didn't respond fast enough. Slow response kills conversion. Train them or recommend they hire help.

Was 30 days too short? Direct mail compounds. Some recipients keep cards for weeks before acting. If results were slim at 30 days, send a 60-day check-in.

If you've ruled all of these out and the slot just genuinely didn't perform, be honest with the advertiser. Offer to discount card #2 or run a retargeted version. Most will work with you because you're being straight with them.

Tracking tools for 9x12 postcard ROI

Here's what most operators in the 9x12 Method community actually use.

Tool category What we recommend Cost
QR code tracking ScanLab Included with community
Tracked phone numbers CallRail or Twilio $20–$45/mo per number
Landing pages 9x12 Sites Subscription
Promo code tracking Manual log + the advertiser's POS system Free
Reporting templates Pre-built templates inside community Included

Full transparency — you don't need any of these tools to track direct mail ROI. A free QR generator + a Google Sheet manually logging redemptions gets you 80% of the way there. The paid tools just save time and centralize the data when you're running multiple cards.

Frequently Asked Questions

How do you calculate direct mail ROI?

Calculate direct mail ROI using this formula: ROI = (Revenue − Cost) / Cost × 100. For a 9x12 postcard slot costing $500 that generated $24,000 in closed business revenue, ROI = ($24,000 − $500) / $500 × 100 = 4,700%. The cost should include the slot price plus any design or QR tracking fees. Revenue typically includes both immediate closed customers and projected lifetime value (LTV) for repeat customers.

What's a good ROI for direct mail postcards?

A "good" direct mail ROI for high-ticket service businesses (roofers, HVAC, dentists, contractors) is typically 1,000%+ on the first card — meaning $5,000+ in revenue for a $500 slot. Lower-ticket businesses (restaurants, salons) typically see 300–800% ROI. Anything above 100% ROI is profitable. Postcards regularly outperform Facebook and Google Ads on ROI for local service businesses because of the low cost-per-impression at EDDM postage rates.

How do you track results from a 9x12 postcard?

Track results from a 9x12 postcard using four methods: (1) unique QR codes per advertiser slot for scan tracking, (2) tracked phone numbers via CallRail or Twilio for call attribution, (3) unique promo codes printed on the card for in-person/online redemption tracking, and (4) UTM-tagged landing page URLs for web visitor attribution. Layer all four for the most complete picture of direct mail ROI.

Are QR codes effective on direct mail postcards?

Yes — QR codes have become extremely effective on direct mail postcards since 2020 when iPhone and Android cameras began natively scanning them. A well-placed QR code on a 9x12 postcard slot typically gets 0.3%–1.0% scan rate (15–50 scans on a 5,000-piece mailing). QR scans are the easiest direct mail ROI tracking method and the most-adopted by operators in the 9x12 Method community.

How long does it take to see ROI from a postcard campaign?

Direct mail ROI typically materializes over 30–90 days after the card mails. The first wave of responses comes within 1–2 weeks (immediate-need customers). The second wave comes 30–60 days out (people who held the card and acted later). Some lifetime value from repeat customers continues compounding for months. Plan ROI reporting at 21–30 days for an initial reading and 60–90 days for full picture.

What's the typical response rate for direct mail postcards?

A well-targeted 9x12 postcard typically sees 0.5%–2% total response rate across all tracking methods (QR scans + calls + redemptions). On 5,000 mailed pieces, that's 25–100 prospect actions across the card's 16 advertisers. Per individual slot, a strong-performing ad might see 10–30 actions, while a poor-performing ad might see 2–5. Response rate scales with neighborhood quality, ad design, and offer strength.


That's direct mail ROI in 2026. It's measurable. It's calculable. And for high-ticket service businesses, it absolutely demolishes most digital ad channels on per-dollar return. Your job as the operator is to set up tracking properly, deliver clean reports to advertisers 30 days after each card, and let the math do the renewal pitch for you.

As always, I'm rooting for you. Peace.

2,800+ operators inside

Ready to start your 9x12 business?

Join the 9x12 Method community for scripts, templates, coaching calls, and a group that celebrates every win — even your first one.

2,800+
Members
$1.4M
Revenue generated
50
US States
79
Countries
Join the Community

Course + community included · Cancel anytime · Full transparency: you don't need this to start

Keep reading

More from the blog

Join the Community