Mailbots

How to Track Direct Mail Campaigns (So You Know What's Actually Working)

Mar 29, 20267 min readBy Mailbots

Most people send postcards and hope.

They drop $3,000 on a campaign, wait by the phone, and when two leads trickle in, they shrug and say "direct mail doesn't work." Then they move on.

The problem isn't direct mail. The problem is they had no idea what happened between the mailbox and the phone call. No tracking. No data. No way to improve.

Here's how to actually measure a direct mail campaign โ€” from the moment a card leaves your hands to the moment someone becomes a customer.


Why Tracking Direct Mail Feels Hard (But Isn't)

Digital marketers are spoiled. Google Analytics, pixel tracking, UTM parameters โ€” you can see exactly which ad someone clicked, what page they landed on, and whether they bought.

Direct mail feels like a black box by comparison. You send 2,000 postcards into the world and wait.

But the tools to track physical mail have gotten genuinely good. You can now measure delivery confirmation per piece, scan rates by ZIP code, call attribution, and revenue per campaign โ€” if you set it up right.

Most people don't set it up. So let's fix that.


Method 1: QR Codes (The Easiest Win)

Put a unique QR code on every campaign. Not the same QR code you use everywhere โ€” one that's specific to that mailing.

When someone scans it, you know:

  • The scan happened (someone engaged with the card)
  • When it happened (often days or weeks after delivery โ€” mail has legs)
  • Where they scanned from (ZIP code data)

Use a tool like Bitly, QR.io, or even a UTM-tagged URL wrapped in a QR generator. The URL should look something like:

yoursite.com/offer?source=postcard&campaign=june-2025

That UTM string flows into Google Analytics and tells you exactly how much traffic โ€” and how many conversions โ€” came from that specific mailing.

This matters more than most people realize. Mailbots puts QR codes with attribution tracking built in, so you can see which cards drove engagement without cobbling together five tools.

One thing to know: QR scan rate isn't your only metric. Some people scan. Most people call or just show up. Don't judge a campaign on QR data alone.


Method 2: Unique Phone Numbers (Call Tracking)

If your postcard has a phone number โ€” and it should โ€” that number needs to be unique to the campaign.

Don't use your main business line. Use a tracking number from CallRail, CallTrackingMetrics, or even Google Voice for low volume. The call routes to your regular line, but the system logs every call that came from that number.

Now you know:

  • How many calls your postcard generated
  • When people called (time of day, days after delivery)
  • How long the calls lasted (a 45-second call is probably a wrong number; an 8-minute call is probably a real lead)

For a real estate investor mailing 1,500 postcards, you might pay $30/month for a tracking number. If one call turns into a deal, that's nothing.

Pro tip: use a different tracking number per list segment. If you're mailing absentee owners AND probate leads in the same campaign, give each list its own number. Then you know which list is pulling harder.


Method 3: Unique URLs (Vanity URLs and Landing Pages)

Same logic as QR codes, but for people who prefer typing over scanning.

Create a landing page specifically for the campaign. Something clean like yoursite.com/mail or getanoffer.yourcompany.com.

Don't send people to your homepage. Your homepage is for everyone. This page is for people who just got your postcard โ€” it should match what was on the card, reinforce the offer, and make it dead simple to respond.

Track that URL in Google Analytics. Set up a goal or conversion event so you know not just who visited, but who actually took action.

If you're running multiple campaigns simultaneously โ€” say, one to a cold list and one to a warm list you've mailed before โ€” give each campaign its own URL. Otherwise your data blends together and you learn nothing.


Method 4: Per-Piece USPS Delivery Tracking

This one most people don't know about, but it's genuinely useful.

The USPS Informed Visibility program lets mailers track when individual pieces are scanned through the postal system. You can see when a batch was accepted, when it entered local distribution, and when specific pieces were delivered.

Why does this matter?

Because when your phone doesn't ring for a week after mailing, you want to know if that's because the campaign isn't working โ€” or because the cards haven't arrived yet.

It also tells you if there's a delivery problem. If 30% of your pieces never get scanned at the local facility, something went wrong with your list or your mailing.

Mailbots.ai includes per-piece delivery tracking on campaigns. You can see exactly when your cards hit mailboxes, which means you can time your follow-up calls, text blasts, or email sequences to land right when the postcard does. That coordination alone improves response rates.


Method 5: Ask "How Did You Hear About Us?"

Low tech. Works every time.

Train everyone who answers your phone to ask one question when someone calls: "How did you hear about us?"

Log the answers. Seriously โ€” in a spreadsheet, a CRM, whatever you have. Over 90 days, you'll see patterns.

This catches the people who didn't scan a QR code, didn't use the tracking number, just Googled your company name after seeing the card and called your main line. Those conversions are real. They came from your postcard. Without asking, you'd never know.

It's not perfect data โ€” people misremember, they say "online" when they mean they Googled you after seeing your mail โ€” but it fills in gaps that tracking tools miss.


How to Stack These Methods Together

None of these methods are mutually exclusive. The best campaigns use all of them.

Here's what a fully tracked campaign looks like:

  • Unique QR code โ†’ UTM-tagged landing page โ†’ Google Analytics conversion goal
  • Unique phone number โ†’ CallRail โ†’ logs every call with duration
  • Vanity URL on the card for people who prefer typing
  • Per-piece delivery tracking โ†’ know exactly when cards land
  • "How did you hear?" on every inbound call

Now you have five data streams. Any lead that comes in, you can trace it back to the postcard.

At the end of the campaign, you calculate:

  • Total leads generated (from all five sources)
  • Total spend on the campaign
  • Revenue closed from those leads

That's your cost per lead and your ROI. Real numbers. No guessing.


What Good Tracking Actually Reveals

Here's why this matters beyond just knowing if a campaign "worked."

When you have real data, you can optimize. Shawn in Kansas City put $3,000 into a tracked campaign and got $31,000 back โ€” a 10x return. He knew that because he tracked it. He could double down with confidence.

Without tracking, he would have spent $3,000, gotten a few calls, and had no idea whether to scale or stop.

Tracking also reveals which lists are worth mailing again. In one split test across 16,434 postcards, pen-and-ink handwritten cards generated a 2.16% response rate versus 0.40% for printed cards. That's 5.4x the response. If you weren't tracking by card type, you'd never catch that.

Same goes for your list segments. In a campaign mailing both absentee owners and pre-foreclosure leads, you might find absentee owners respond at 2.8% and pre-foreclosure at 0.6%. Without tracking numbers per segment, those numbers blend into one mediocre average and you never know.


The Numbers You Should Be Measuring

Stop looking at "did anyone call." Start tracking:

Response rate โ€” leads generated divided by pieces mailed. Anything above 1% is solid. The average across tracked Mailbots campaigns is 1.89%, with a top performer hitting 4.39%.

Cost per lead โ€” total campaign spend divided by leads generated. Pen-and-ink handwritten postcards through Mailbots average $122 per lead versus $214 for printed mail. That 42% difference compounds fast at scale.

Revenue per piece mailed โ€” total revenue from the campaign divided by pieces sent. This is the number that tells you whether to scale. Tracked Mailbots campaigns have averaged $7.65 in revenue per postcard mailed.

Time to response โ€” how many days after delivery did leads start calling? This helps you plan follow-up timing and tells you if you should be mailing a sequence instead of a one-shot.


One More Thing: Don't Optimize Too Early

You need volume to get signal. A 300-piece mailing gives you almost no usable data. You might get three responses or zero by random chance.

Once you're mailing 1,000+ pieces to a consistent list, the data stabilizes. You can trust a 1.5% response rate on 2,000 cards. You can't trust it on 200.

Run the campaign. Track everything. Wait for the data to come in โ€” mail responses can trickle in for 4-6 weeks after delivery. Then analyze. Then optimize. Then scale what works.

That's the loop. It's not complicated. It just requires actually setting up the tracking before you mail.


Mailbots.ai includes QR attribution tracking and per-piece USPS delivery data on every campaign โ€” no extra setup, no monthly platform fee. Cards start at $1.10 each. If you're ready to mail something you can actually measure, start your campaign at mailbots.ai.

Ready to get started?

Join hundreds of real estate investors getting 5.4x higher response rates with pen-and-ink direct mail.