Short answer: You know a direct mail campaign worked when you can trace responses back to that specific mailing, not just to “marketing” in general. The reliable way to do that: give every mailing its own phone number, code, or landing page before it goes out, track what those responses actually turn into (not just how many came in), and occasionally hold a small group back from a mailing so you can compare what happens with and without it.

That's the whole method. Here's how to actually run it.

We're not going to spend a section convincing you direct mail still works. If you're reading this, you've probably already mailed something, or you're about to. The question on your mind isn't whether the channel works in general. It's whether the mailing you just paid for worked.

That's a different question, and most of what's written about it doesn't actually answer it. Search “how to track direct mail results” and nearly everything that comes up was written for an e-commerce brand with a pixel on every page, an attribution platform, and a marketing team reading a dashboard every morning. A local shop, a clinic, a service company, a restaurant runs on something simpler: a phone that rings or doesn't, a door that opens or doesn't, and a stack of postcards that already went in the mail. Most local businesses don't need an enterprise attribution stack to know whether a campaign is producing customers.

Here's what actually tells you whether it worked.

How Do You Set Up Tracking for a Direct Mail Campaign?

Give the mailing its own trail before it goes out, not after. The most common reason a campaign's results stay invisible isn't a lack of response. It's that nothing on the piece was set up to be counted separately from everything else. When a postcard uses the same phone number and website as every other marketing channel, a response from that mailing looks identical to a response from a Google search, a referral, or someone who's been meaning to call for a month. Sometimes the problem isn't a lack of results. It's that the campaign wasn't set up to make those results visible.

Fixing this doesn't require software.

A dedicated phone number.

A second local number can forward to the existing business line and tells you how many calls came from that specific mailing. It's one of the simplest ways for a local business to create a clean attribution signal, and it works whether or not you have a website.

A specific offer or code.

Not a generic “mention this ad,” which people forget to say. A specific phrase, a specific dollar amount, a specific code printed on the piece itself. “Bring this card in” works. A code someone has to actually reference works better, because it shows up in your point-of-sale or booking system without anyone on your staff having to ask and remember to write it down.

A QR code that goes somewhere specific, not your homepage.

A QR code pointing at your regular homepage tells you people scanned something. It doesn't tell you what they were responding to, because your homepage looks the same to everyone who lands on it, and without a distinct campaign source, Google Analytics has no way to separate that visit from ordinary direct traffic. A QR code pointing at a page built for that mailing, with the same offer and message as the postcard, gives you a much cleaner way to measure how many visits came through that campaign.

A unique web address, if a landing page is out of reach.

Even something as simple as yoursite.com/postcard tells you more than a bare domain does, and it costs nothing to set up. USPS gives the same advice for its own trackable mail programs: a unique destination per campaign, not a shared one.

Use the methods that match how customers are likely to respond, and keep the measurement simple enough that someone will actually maintain it. For many local businesses, a dedicated number plus a campaign-specific code provides a strong starting point.

What Should You Actually Track, and How?

What happenedHow to track it
A call comes inDedicated tracking number
Someone visits the websiteCampaign-specific URL or landing page
Someone scans the mailerCampaign-specific QR code
Someone redeems the offerOffer code
Someone books an appointmentBooking system or CRM source field
Someone becomes a paying customerClosed-sale attribution, tied back to the tracking number or code
Whether the campaign caused any of itA properly designed control or holdout group

Each row solves a different piece of the picture. The first six tell you what happened. The last one tells you whether it would have happened anyway.

How Do You Measure Direct Mail ROI, Not Just Responses?

Count what actually closed, not what showed interest. A call is not a customer. A scan is not a sale. This sounds obvious written down. The distinction matters because calls and scans are easy to count, and connecting them to an actual sale takes someone deciding to do it.

The fix is a habit, not a tool: when a call comes in on the tracking number, someone writes down what happened to it. Booked, sold, not interested, wrong number. Keep this up for as long as responses keep coming in (a fast-turnaround service and a big-ticket purchase run on very different clocks) and a business ends up with something most never bother to build: a real number for how many pieces of mail turned into actual revenue, not just how many people picked up the phone.

If you're using a code instead of a number, the same discipline applies at the register or the booking desk. The code has to actually get entered, every time, or the data quietly falls apart by week two.

How Do You Know If Direct Mail Actually Caused the Results?

Consider a holdout, or control group. Everything above tells you how many responses came from a mailing. It doesn't tell you what would have happened without it, and a well-designed holdout is the tool built for that specific question, the same logic behind Google's own conversion lift testing for advertising.

The setup: pull a random slice of the mailing list out, don't mail it, and mail everyone else. Compare what happens in both groups over the following weeks: calls, bookings, sales, whatever counts as a win. The right size for that holdout depends on the total list size and how much response volume the campaign typically generates. Too small a slice and the difference between the two groups won't be large enough to tell you anything real.

A tracking number shows that a mailing generated activity. A holdout, when the list and volume support it, can help estimate how much of that activity was actually incremental, meaning it wouldn't have happened without the mailing. For a recurring campaign, a business running the same mailing every quarter, this is worth setting up at least once.

What Is a Good Direct Mail Response Rate?

There isn't one number that applies to every business, and treating an industry average as the target is a common mistake. Response rates vary enough by list, offer, and industry that a single benchmark is close to useless on its own. What's more useful: know your own number before you compare it to anyone else's. The first mailing you track properly becomes the baseline every future mailing gets measured against. That comparison, this campaign against your own last one, tells you far more than a comparison against an industry average ever will.

What Mistakes Make Direct Mail Impossible to Track?

Using the everyday business number on the mailer.

Once a mailing goes out carrying the same number as every other channel, there's no way to recover the data afterward. That has to be decided before the piece is designed, not after the calls start coming in.

Sending the QR code or link to a general homepage.

Same problem. Once it's printed, it's printed.

No plan for who writes anything down.

Tracking numbers and codes only work if someone on your team is actually asked to log what happens, and knows that's their job before the first call comes in.

Drawing strong conclusions from a single mailing.

Low response volume or a small sample makes it hard to tell a real pattern from ordinary variation. A pattern across several tracked mailings is what actually tells you whether this is working and whether it's worth doing again.

The Real Point

Attribution software isn't the requirement here. The decision that matters: before a single piece goes into the mail, decide how you'll know it worked. That decision takes an afternoon. Without it, a business can keep mailing the same campaign without ever knowing whether it should have stopped after the first one, or scaled it after seeing results.

Nine19 builds tracking into every campaign before it goes out, not after someone asks whether it worked.

Planning a campaign? Let's build one you can actually measure.

nine19direct.com

Frequently Asked Questions

How do I track a direct mail campaign if I don't have a website?

Use a dedicated phone number that forwards to your existing line. It requires no website or software, and it gives you a clean way to count calls associated with that mailing.

What's the best way to track direct mail ROI for a small business?

Pair a dedicated tracking number or offer code with a habit of logging what each response actually turns into (booked, sold, not interested). Counting responses tells you activity. Logging outcomes tells you revenue.

Should I use a QR code or a phone number to track direct mail?

For many local businesses, a dedicated phone number is a strong primary tracking method because it doesn't depend on the recipient scanning a code. When practical, using both gives customers more than one way to respond. A QR code should always point to a page built specifically for that mailing, never the homepage.

What is a good direct mail response rate?

It depends on your list, offer, and industry, so an industry average isn't a useful target. The most useful benchmark is your own previous mailing: track one campaign properly and use it as the baseline for every mailing after it.

How long should I wait before judging whether a direct mail campaign worked?

There's no universal window. It depends on the offer, the purchase cycle, and what the campaign was trying to accomplish, a same-day service call resolves fast, while a bigger purchase can take months to close. What matters more than timing is tracking consistently across more than one mailing before drawing a conclusion.

How do I know if direct mail caused my results, or if they would have happened anyway?

Consider a holdout test: hold back a random slice of the mailing list from a campaign and compare its activity to the group that received it. Done well, and with enough list size and response volume to make the comparison meaningful, this is one of the more reliable ways to estimate the mailing's actual, incremental effect.

Related reading: Does Direct Mail Still Work in 2026? What Actually Makes a Campaign Work