SEO & GEO, measured by return on investmentRequest a proposal →

Field Notes · 4 min read

Direct Mail and Search: Measuring Offline-to-Online Response

Short answer

Many people who respond to a mailer type your brand into a search engine instead of the printed URL, so direct mail has to be measured with a mix of tagged QR codes and vanity URLs, branded search lift around the drop date, matchback of buyers to the mailing list, and a holdout group that received nothing.

Key takeaways

  • Tag every QR code and vanity URL redirect with utm_source, utm_medium and utm_campaign.
  • Expect a large share of mail-driven visits to arrive through branded search instead of the printed link.
  • A randomly chosen holdout group is the only clean way to measure incremental response.

A postcard lands in 50,000 mailboxes on Monday. By Wednesday, branded searches are up, direct traffic is up, and the printed QR code has a few hundred scans. The question every CFO asks is how much of that came from the mail. This page shows how to set up a direct mail campaign so its online response can be measured, and how to avoid crediting it with sales it did not cause.

How do people actually respond to a mailer online?

Many recipients search for the brand or type the main domain, so QR scans and printed-URL visits show only part of the response.

People keep a postcard on the counter and act days later. When they do, they search your name on their phone. That visit appears in analytics as organic or paid branded search, not as "direct mail." If you only count QR scans, you will undercount the campaign. If you credit every branded search in the month to mail, you will overcount it.

How should you set up QR codes and vanity URLs?

Give each mail version its own tagged QR code and short vanity URL, both redirecting to a landing page with UTM parameters.

GA4 recognizes standard campaign parameters, and Google recommends always including utm_source, utm_medium and utm_campaign. A workable scheme:

Element Example value Purpose
Vanity URL yoursite.com/spring Easy to type from print
QR code target /spring?utm_source=postcard&utm_medium=print&utm_campaign=spring_2027&utm_content=qr Separates scans from typed visits
Vanity redirect target Same, with utm_content=vanity Tracks typed visits
Offer code SPRING27 Ties offline and phone orders to the mail
Landing page Dedicated, noindexed if it duplicates a main page Keeps the offer and message consistent

Practical tips:

  • Use a 301 redirect from the vanity path so tags survive and the short URL stays clean.
  • Print a different utm_content or offer code for each test version (two headlines, two offers).
  • Test every code with a phone before the print run, in bright and dim light.

How do you measure branded search lift?

Compare branded search clicks and impressions in the weeks after the drop against a baseline, ideally split by the regions you mailed.

Search Console shows clicks and impressions for brand queries. Remember that it labels days by California time and data arrives with a two to three day delay. Pull a baseline for the same weeks of the previous year and the four weeks before the drop, then look at the lift.

Hypothetical example: branded clicks average 1,000 a week. In the two weeks after the mailing they average 1,400, and in regions that received no mail they stay near 1,050. A reasonable estimate of mail-driven branded clicks is about 350 a week, not 400.

What is matchback analysis, and when is it worth doing?

Matchback compares buyers in a response window against the mailing list, crediting mailed buyers to the campaign however they arrived.

It works well when you have customer names and addresses, as in retail, subscriptions, nonprofits and services. Steps:

  1. Fix a response window before the drop, often 30 to 60 days.
  2. Export all buyers from that window with name, address and email.
  3. Match them against the mail file using standardized addresses.
  4. Count matched buyers and their revenue.
  5. Subtract what the holdout group's response rate predicts (see below).

Without that last step, matchback credits mail with every loyal customer who was going to buy anyway.

Why do you need a holdout group?

A holdout group of randomly selected addresses that receive nothing shows what would have happened without the mail, which turns attribution into a measure of cause.

Hypothetical example: 50,000 addresses are mailed and 5,000 random addresses from the same list are held out. The mailed group buys at 2.0% and the holdout at 1.4%. The incremental response is 0.6 points, or about 300 orders, even though matchback alone would credit the mail with 1,000. For brands running many channels, these test results can also calibrate a media mix model such as Google's open-source Meridian, which supports geo-level data.

How do you turn the results into ROI?

Use incremental orders, margin per order and the full campaign cost, including design, print, postage and list rental.

Plug those figures into the SEO ROI calculator as a sanity check on payback, treating mail-driven searches as the traffic source. For the wider picture of crediting channels fairly, read the limits of attribution and why analytics tools disagree. Our SEO ROI measurement service can set up the tagging, lift tracking and holdout design before your next drop.

Frequently asked questions

Should a mailer use a QR code or a short URL?

Use both. The QR code serves phone users who scan, and a short vanity URL serves people who type. Both should redirect to a landing page with UTM parameters attached.

What is matchback analysis?

You compare the list of people who bought during a response window with the list of people you mailed, matching on name and address or email. Buyers who were mailed are attributed to the campaign, regardless of how they arrived online.

How large should a holdout group be?

Large enough that the expected difference in response is bigger than random noise. For many campaigns that means holding out at least several thousand addresses, chosen at random from the same list.

Does direct mail help SEO?

It does not change rankings directly. It raises branded search demand and direct visits, which show up in Search Console and analytics and should be credited to the mail campaign in reports.

Sources

  1. [GA4] URL builders: Collect campaign data with custom URLs (Google Analytics Help)
  2. About Search Console data (Search Console Help)
  3. google/meridian repository (GitHub)

It's the ROI Editorial writes about SEO, GEO and measuring the return on search. Found an error or an outdated detail? Email contact@itstheroi.com.

Related reading