Blog
Direct Mail Marketing analytics

What to Check When Your Mail Analytics Don't Add Up

8 Min Read
by Allison Nick

You sent the campaign and revenue went up. But your platform says one thing, your CRM says another, and your finance team is asking why the numbers don’t reconcile. If you’ve been here, you know the feeling: the data exists, but none of it agrees.

Inconsistent direct mail analytics aren’t usually a sign that the channel doesn’t work. They’re usually a sign that the measurement infrastructure wasn’t built to handle it. Before you make a budget decision based on conflicting numbers, it’s worth understanding where the mismatch is actually coming from.

Here are the most common causes for conflicting analytics and what to check first.

Check #1: Are You Measuring Response or Incrementality?

This is the most common cause of conflicting numbers, and the hardest to spot because both measurement approaches can produce plausible-looking results.

Response rate tracking (promo codes redeemed, QR codes scanned, unique URLs visited) tells you who took an explicit action tied to the mailer. It’s concrete and easy to report. The problem is that it misses everyone who received the mail piece, didn’t scan or redeem anything, and then bought anyway through your website, your app, or your store days later. That’s a large share of actual conversions in most campaigns.

Meanwhile, aggregate revenue lift (eyeballing whether sales went up during and after the campaign) overcorrects in the other direction. It captures everything, including conversions that would have happened without the mailer at all. Customers who were already on their way back, organic demand from other channels, seasonal lift — all of that gets credited to the campaign when you’re just watching the revenue line.

When your platform’s conversion count and your CRM’s revenue figures don’t reconcile, the first question is which one is using which method. They might both be technically correct but measuring entirely different things.

What to do: Build toward incremental sales lift as the core metric. That means having a holdout group — a portion of your qualified audience that doesn’t receive the mail — as a baseline. The conversion rate difference between the mailed group and the holdout is what direct mail actually contributed. Everything else is noise.

Check #2: Is Your CRM Actually Connected to Your Mail Data?

A lot of direct mail analytics conflicts come down to a simple plumbing problem: the household address in your mail file isn’t linked to the customer record in your CRM.

When that connection doesn’t exist, each system reports its own version of the truth. Your mail platform confirms delivery. Your CRM logs a purchase. But nothing links them, so they appear as separate events rather than two stages of the same customer journey. The result: the mail platform shows deliveries with no conversions, the CRM shows conversions with no attributed source, and nobody can explain the gap.

This problem becomes especially acute in omnichannel programs where the same customer is touched by email, paid social, and direct mail within the same window. Without CRM linkage, each channel claims whatever it can see and the totals don’t add up.

What to do: Make sure home addresses are tied to customer records in your CRM alongside email addresses and other identifiers. Once that connection exists, you can reconstruct the full path (mailer received, website visited, purchase made) as one journey instead of three disconnected data points. Matchback attribution closes this loop by joining your mail send file directly to your transaction file at the household level.

Check #3: Are Your Attribution Windows Consistent?

Different platforms use different attribution windows, and it matters more for direct mail than for most channels. Direct mail delivery takes three to eight business days depending on mail class and geography. Response curves frequently extend 30 to 60 days post-drop, when meaningful conversion activity can still be registering in weeks five and six, particularly for higher-consideration purchases.

If your mail platform uses a 14-day attribution window and your CRM or analytics platform uses a 30-day window, they’ll produce different conversion counts from the same campaign. Neither is wrong in isolation. But when you compare them without accounting for the window difference, the discrepancy looks like an error when it’s actually a methodology mismatch.

The same problem applies across channels. If direct mail is measured against a 45-day window but paid search is measured against a 7-day click window, cross-channel CPA comparisons are not apples-to-apples. Any budget decision made from that comparison is likely to undervalue the channel with the longer response curve.

What to do: Audit the attribution window each platform uses and make sure they’re consistent when you’re making cross-channel comparisons. For direct mail specifically, make sure your window is long enough to capture the full response curve for your product category.

Check #4: Are You Only Counting Direct Response?

QR codes and promo codes are useful tracking mechanisms. They’re also incomplete ones. They capture customers who scanned or redeemed, but they don’t capture customers who received the mailer, didn’t interact with any CTA, but visited your website or bought in-store a week later because the mailer influenced them.

That second group is often larger than the first. Customers don’t always behave the way your tracking infrastructure assumed they would. Omitting them doesn’t mean they didn’t convert; it means your measurement isn’t seeing them.

What to do: Layer web traffic attribution alongside direct response tracking. Spikes in branded search volume and direct site visits in the days after mailers hit homes are real signals of indirect influence. Matchback attribution — comparing your send file against your full conversion file, not just customers who used a trackable CTA — captures the complete picture.

Check #5: Is Your Cost Data in the Same System as Your Performance Data?

This one sounds obvious, but it’s one of the most common reasons direct mail analytics appear to conflict with other channels. Campaign spend lives in one platform. Response data lives in another. Revenue data lives in a third. No one system has all three, so CPA and ROAS can only be estimated (usually by reconciling spreadsheets manually, after the campaign has closed).

When direct mail’s CPA appears higher than paid social’s CPA in a board-level review, it’s worth asking whether the comparison was made with the same data quality on both sides. Digital channels often have spend, impressions, clicks, and conversions all in one dashboard. Direct mail CPA often gets calculated from partial data across systems that don’t talk to each other.

What to do: Integrate cost and performance data into one view. Postie’s real-time dashboards show CPA, CVR, and ROAS while campaigns are live, with cost data and matchback attribution in the same place. Cross-channel comparison only means something when the inputs are measured the same way.

Check #6: Was There Actually a Holdout Group?

Without a control group, there is no baseline. Every conversion number is floating in isolation, which makes it impossible to answer the one question your CFO is going to ask: would this revenue have happened without the mailer?

Most platforms don’t build holdout groups natively. Marketers either don’t run them or they construct them manually, and manual holdout construction introduces its own inconsistencies in how groups are matched and how results are interpreted.

When you run holdout-based incrementality testing, you’re not just getting a more defensible result. You’re also eliminating one of the biggest sources of analytical conflict: the question of what baseline to compare against. Both the mailed group and the holdout group come from the same qualified audience. The only variable is who received the mail. The conversion rate difference is what direct mail actually did.

What to do: Treat holdout groups as non-negotiable infrastructure, not an optional add-on. Postie builds holdout creation into every campaign natively — holdout groups are randomized before the send, withheld from delivery, and measured against the same transaction data as the mailed group. The result is an incremental read that answers the “would this have happened anyway” question directly.

The Pattern Underneath All of These

The inconsistencies above have different surface presentations: different numbers in different dashboards, CPA figures that don’t hold up in cross-channel comparisons, platform reports that don’t match CRM records; but they share a common cause: measurement infrastructure that wasn’t built for a physical, household-level channel with a 30-to-60 day response curve.

Direct mail tracked the way digital channels are tracked will always produce gaps. Promo codes miss indirect converters. Last-click attribution misses the mail piece that prompted the branded search. Short attribution windows miss late converters. Platform-level reporting misses the conversion that happened in-store.

The fix isn’t a better dashboard. It’s an attribution methodology that was designed for how direct mail actually works: deterministic 1:1 household-to-transaction matching, native holdout groups, real-time reporting, and cost and performance data in one place.

When your mail analytics conflict, that’s usually the gap that’s showing.

See how Postie’s matchback attribution and real-time dashboards resolve direct mail analytics conflicts →