Postcard Marketing ROI Calculator & Guide
Updated October 2026 · 14 min read
The number one question small business owners ask before launching a postcard campaign: "Will I get my money back?" The answer is almost always yes, often by a factor of 5x to 30x, but only if you know how to measure it correctly. This guide gives you the formula, the benchmarks, and three worked examples so you can calculate your expected return before spending a dollar.
Most ROI write-ups stop at the formula. Two choices decide whether your number is honest: what you count as cost and what you count as a response. This guide covers both, plus the gap between what a customer pays the first time and what they are worth over the years.
The ROI Formula for Postcard Marketing
Postcard marketing ROI is straightforward. Here's the formula:
ROI = (Revenue from campaign − Campaign cost) / Campaign cost × 100
A 500% ROI means you earned $5 for every $1 spent.
To calculate revenue from a campaign, you need three numbers:
- Number of postcards sent. Your total mail volume (contacts × waves).
- Response rate. The percentage of recipients who take action (call, book online, visit).
- Average revenue per response. What each responding customer is worth to your business.
Revenue = Postcards sent × Response rate × Average revenue per response. Then plug that into the ROI formula above.
What Goes on the Cost Side
The cost in the three worked examples below is cards plus the plan fee, because that is what arrives on an invoice. Your own number should carry a few more lines. Here is the full list and where each figure comes from.
| Cost line | How to figure it |
|---|---|
| Cards | Price per card × cards mailed across every wave, not just list size. Printing and USPS First-Class postage are in the price. A 4×6 is $1.04 on Free and $0.91 on Pro, a 6×9 is $1.07 and $0.94, a 6×11 is $1.29 and $1.26. Check current pricing before you quote it. |
| Plan fee | Mailing more than one wave and using the Call Queue need Pro: $99 a month or $799 a year. Count the months the campaign actually runs. |
| List | Exporting your own customers costs nothing. Addresses found through PostKnock add an address fee of $0.15 a record on small orders, falling to $0.09 at 25,000 records or more. |
| Phone time | Calls made × average minutes per call (voicemails and notes included) ÷ 60 × the hourly cost of whoever dials, wage plus payroll taxes. With assumed figures: 150 calls × 4 minutes is 10 hours, and at $25 an hour that is $250. |
| The offer | A discount or free add-on costs money on every responder who uses it. Multiply it by redemptions, not by cards mailed. |
| Your own time | The hour or two to export the list, write the offer and approve the proof. Count it if you would otherwise pay someone for it. |
The first three lines you know before you mail. The last three you add as the campaign runs. Put the whole sum into the ROI formula above, or into the free ROI calculator, which handles the card and plan lines for you and leaves the rest to you.
Industry Benchmarks for Response Rates
Response rates vary by industry, list quality, and whether you add phone follow-up. Here are the benchmarks you can use for planning:
| Industry | House List | Prospect List | With Phone Follow-Up |
|---|---|---|---|
| Dental practices | 5–9% | 1–3% | 8–12% |
| HVAC contractors | 2–5% | 1–2% | 4–8% |
| Optometry practices | 3–6% | 1–2% | 5–9% |
| Med spas | 3–5% | 1–2% | 5–7% |
| Chiropractic | 3–6% | 1–2% | 5–8% |
Sources: ANA Response Rate Report 2023; DMA Statistical Fact Book. "House list" = your existing customers. "Prospect list" = purchased or compiled mailing list of non-customers. "With phone follow-up" = a modeled estimate (call placed about 5 business days after postcard delivery) based on published multi-channel uplift research. For a full breakdown by industry, format, and list type, see our direct mail response rates by industry resource page.
The single biggest variable is list type. Mailing to your own customers (house list) produces 2–4x the response rate of mailing to prospects. This is why patient/customer recall campaigns have the highest ROI of any direct mail tactic: you're reaching people who already know you and had a positive experience.
Worked Example 1: Dental Practice
A dental practice with 600 lapsed patients (no visit in 12+ months) launches a 3-wave recall campaign.
Campaign inputs:
- Contacts: 600 patients
- Waves: 3
- Total postcards: 600 × 3 = 1,800
- Cost per card (PostKnock Pro): $0.91
- Platform fee: $99/month × 3 months = $297
- Total campaign cost: (1,800 × $0.91) + $297 = $1,935
Revenue calculation:
- Response rate (house list + phone follow-up): 8%
- Patients reactivated: 600 × 8% = 48
- Average first-year value per reactivated patient: $1,200 (2 cleanings + 1 restorative)
- First-year revenue: 48 × $1,200 = $57,600
ROI: ($57,600 − $1,935) / $1,935 = 2,877% (30:1 return)
Even using the conservative end of the range (5% response), you'd still reactivate 30 patients for $36,000 in first-year revenue: a 19:1 return. For a step-by-step guide to running dental recall campaigns, including postcard copy and wave timing, see our dental recall card guide. And these patients continue generating revenue in year 2, 3, and beyond.
Worked Example 2: HVAC Contractor
An HVAC company mails a 2-wave spring AC tune-up campaign to 1,500 past customers.
Campaign inputs:
- Contacts: 1,500 past customers
- Waves: 2
- Total postcards: 1,500 × 2 = 3,000
- Cost per card: $0.91
- Platform fee: $99/month × 2 months = $198
- Total campaign cost: (3,000 × $0.91) + $198 = $2,928
Revenue calculation:
- Response rate (house list + phone follow-up): 5%
- Jobs booked: 1,500 × 5% = 75
- Average job value: $280 (tune-up + filter)
- Upsell rate: 20% of jobs lead to $800 average repair recommendation
- Tune-up revenue: 75 × $280 = $21,000
- Upsell revenue: 15 × $800 = $12,000
- Total revenue: $33,000
ROI: ($33,000 − $2,928) / $2,928 = 1,027% (11.3:1 return)
The hidden multiplier for HVAC is the annual maintenance plan conversion. If even 20 of those 75 tune-up customers sign up for a $189/year maintenance plan, that's an additional $3,780/year in recurring revenue: every year, from a single campaign. For seven specific postcard concepts with sample copy and seasonal timing, see our HVAC postcard ideas guide.
Worked Example 3: Optometry Practice
An optometry practice sends a 2-wave recall campaign to 400 patients overdue for their annual eye exam.
Campaign inputs:
- Contacts: 400 patients
- Waves: 2
- Total postcards: 400 × 2 = 800
- Cost per card: $0.91
- Platform fee: $99/month × 2 months = $198
- Total campaign cost: (800 × $0.91) + $198 = $926
Revenue calculation:
- Response rate (house list + phone follow-up): 6%
- Patients reactivated: 400 × 6% = 24
- Average visit value: $450 (exam + lenses or contacts)
- Revenue: 24 × $450 = $10,800
ROI: ($10,800 − $926) / $926 = 1,066% (12:1 return)
Optometry benefits from a strong insurance-driven recall cycle. Many patients have annual vision benefits that reset on January 1. A campaign in September or October with "use your benefits before they expire" messaging produces above-average response rates.
How to Count a Response Honestly
A postcard campaign leaves three kinds of evidence, and they are not equally good. PostKnock shows delivery, QR scans and call outcomes for each wave. It does not see your appointment book, so the number that decides ROI, bookings that actually happened, is a match you make yourself.
- QR scans. Someone was curious enough to pick up a phone. Useful for comparing waves and designs, but a scan is not a customer. Plenty of people scan and never call.
- Calls. Inbound calls to the number on the card, and the outcomes your front desk logs on outbound calls. Closer to a booking, but a call that ends in “I’ll think about it” is not revenue yet.
- Booked and completed appointments. The only count that belongs in the revenue line. Ask every new booking how they heard about you and tag it in your scheduling system. At the end, export your contacts from PostKnock (Contacts, then Export) and match the list against the appointment book.
Pick your attribution window before you mail. For a recall mailing, something like 60 days after the last wave lands is reasonable. The point is to choose it first, so you are not stretching it later to rescue a weak result. Count each person once, even if they scanned, called and booked.
Add a holdout group
The sharpest question about a house-list campaign is how many of these customers would have come back anyway. A holdout answers it. Before you import the list, add a column with =RAND() in Excel or Google Sheets, sort by it, and set aside the first tenth. Do not mail them. At the end, compare how many in each group booked over the same weeks.
Illustrative numbers, not a benchmark:
- 500 lapsed customers: 450 get the cards, 50 are held back
- 36 of the 450 mailed customers book: 8%
- 2 of the 50 held-back customers book on their own: 4%
- At the holdout’s rate, about 18 of the 450 would have booked anyway
The campaign caused about 18 bookings (36 − 18), not 36. Credit revenue to the 18.
A holdout this small is noisy: one extra booking moves its rate by two points. Treat the result as a sanity check on the size of the effect, not a precise measurement. If you cannot spare a holdout, be conservative about what you credit to the card, and never count customers who booked before the first wave landed.
First-Visit Revenue vs. Lifetime Value
The worked examples above count first-visit or first-year revenue, which is the conservative way to run the formula. A returning customer is usually worth more than that first visit, but folding the whole future into the headline number is how ROI figures get inflated.
Keep two numbers side by side:
- First-year return uses what the customer pays you in the twelve months after the campaign. This is the one that goes into the ROI formula.
- Lifetime value is the upside: average visit value × visits per year × years as a customer, ideally in profit rather than revenue. Report it separately, as “plus whatever they are worth over the years.” Use the typical stay for customers like these, and remember a customer who lapsed and returned may stay for less time than one who never left.
Where lifetime value earns its keep is in deciding what you can afford to spend. If a returning customer is worth $280 in first-year profit (an illustrative figure), you can spend up to that to bring one back and still come out ahead. The customer lifetime value glossary entry walks through that decision with a worked example, including what happens when response comes in at half your estimate.
How to Improve Your Response Rate (and ROI)
The difference between a 3% response rate and an 8% response rate is the difference between a good campaign and a great one. Here are the proven levers:
- Mail to your house list first. Existing customers respond at 2–4x the rate of cold prospects. Start every campaign with your patient or customer database before buying prospect lists.
- Add phone follow-up. A call about 5 business days after postcard delivery lifts response rates by 40–60%. This is the single highest-impact action you can take. The call script should reference the postcard: "We sent you a card last week about your overdue cleaning."
- Use multiple waves. Single-wave campaigns leave money on the table. A 3-wave campaign targeting the same list over 7 weeks produces 2–3x the cumulative response of a single wave.
- Include a specific, time-limited offer. "20% off your next visit" outperforms "we miss you" by a wide margin. Add a deadline to create urgency: "Offer expires May 31."
- Personalize the card. Use the recipient's first name, your practice name, and a personal message from the provider. Variable data printing makes this trivial at scale.
- Add a QR code for online booking. 30–40% of responses come via QR code in campaigns that include one. The code should link directly to a booking page, not your homepage.
- Clean your list. Run your mailing list through USPS NCOA (National Change of Address) validation before sending. This removes undeliverable addresses and reduces waste by 5–15%.
- Track everything. Use unique phone numbers, QR codes, or promo codes per campaign so you can measure exactly how many responses came from each wave. If you can't measure it, you can't improve it.
Common ROI Mistakes
- Folding the whole future into the headline number. A reactivated patient is worth more than one cleaning, but an ROI built on years that have not happened yet is a forecast, not a result. Report first-year return as the ROI and lifetime value as the upside, as in the section above.
- Leaving out the phone time. Front-desk hours are a real cost even when nobody invoices you for them. Add them to the cost side, as in the table above.
- Crediting the card with customers who were coming back anyway. A small holdout group is the cheapest way to find out how many that is.
- Ignoring the cost of NOT mailing. Every month you don't send recall cards, more patients drift away permanently. The real cost isn't the postcard: it's the $1,200/year per patient you lose to silent attrition.
- Comparing postcard cost to email cost. Email is cheaper per send, but a send is not a result. Compare what each channel costs per booked appointment, not per message.
- Testing with too few cards. Sending 50 postcards and getting 2 responses doesn't tell you anything statistically. You need at least 200–300 cards per wave to get reliable response rate data.
- Giving up after one wave. If you send one postcard, get a 3% response, and decide "postcards don't work," you missed the 60% of responses that come from waves 2 and 3.
The Break-Even Calculation
If you want to know the minimum response rate needed to break even, flip the formula:
Break-even response rate = Campaign cost / (Postcards sent × Revenue per response)
Dental example: $1,935 / (1,800 × $1,200) = 0.09%. You only need 0.09% of recipients to respond (less than 2 patients) to break even. Any response above that is profit.
HVAC example: $2,928 / (3,000 × $280) = 0.35%: fewer than 11 tune-up bookings out of 3,000 postcards to break even.
This is why postcard marketing ROI is so reliable for high-value local services: the break-even bar is extraordinarily low. You can have a "bad" campaign with a 1% response rate and still make 3–10x your money.
Calculate Your Own ROI
Plug in your numbers:
1. How many contacts on your list? _____ patients/customers
2. How many waves? _____ (we recommend 2–3)
3. Total postcards: Contacts × Waves = _____ cards
4. Campaign cost: Total cards × $0.91 + ($99 × months) = $_____
5. Expected response rate: _____% (use benchmarks above)
6. Responses: Total cards × Response rate = _____ customers
7. Revenue per customer: $_____ (first-year value)
8. Total revenue: Responses × Revenue per customer = $_____
9. ROI: (Total revenue − Campaign cost) / Campaign cost × 100 = _____% ROI
Step 4 covers cards and the plan fee. Add phone time, the cost of the offer and any list fees from the cost table above before you trust the answer. Prefer to let a tool do the arithmetic? The postcard ROI calculator runs the same steps for you. To see one campaign laid out end to end, with the list, the cards, the calls and the math, read the pool spring opening or dermatology skin-check recall worked examples, or browse the full set of case studies.
For most local service businesses mailing to their house list, the result will be somewhere between 500% and 3,000% ROI. The precise number depends on your customer value and response rate, but the direction is clear: postcard marketing to existing customers is one of the highest-return investments a small business can make.
Ready to see your ROI in action?
Launch your first postcard campaign with PostKnock. Free plan available; signing up takes no credit card.
Start Free