← All posts
Attribution

The \"UTM Tag\" for Print: Tracking Offline Campaigns Like a Digital Marketer

Adscano Team · 24 June 2026 · 8 min read

If you've ever run a digital campaign, you know the ritual. Before any link goes live, you tack on a string of tags, utm_source, utm_medium, utm_campaign, so that when the clicks roll in, your analytics can tell you exactly which post, email, or ad earned them. It's unglamorous plumbing, and no serious digital marketer skips it.

Print marketers skip it every time. Not out of laziness, the medium never offered a way to do it. A newspaper insert has no link to tag.

Except now it does. The QR code on that insert is a link, which means it can carry UTMs, which means print can finally be tracked with the exact same discipline as a Google Ads campaign. Let's set it up properly.

A one-minute refresher on UTMs

A UTM is just a label appended to a URL so your analytics knows where a visitor came from. The three that matter most:

  • utm_source: where it came from (which publication, which hoarding).
  • utm_medium: the type of channel (newspaper, billboard, flyer, packaging).
  • utm_campaign: which campaign it belongs to (diwali-launch, monsoon-sale).

Two optional ones earn their keep offline:

  • utm_content: to tell apart variants (which creative, which city edition).
  • utm_term: handy for a specific placement or slot.

When a scan carries these, it lands in your analytics pre-sorted by exactly the dimensions you'll use to spend next quarter's budget.

Translating UTMs to the physical world

The mental shift is small. Online, a "source" is a website. Offline, a source is a physical placement. That's the only translation you need.

Online thinks Offline becomes
Which site sent the click Which publication / hoarding sent the scan
Which channel (email, social) Which medium (newspaper, billboard, flyer)
Which ad creative Which edition, city, or design variant

So a QR in the Pune edition of a newspaper for your monsoon campaign might carry: utm_source=sakal-pune · utm_medium=newspaper · utm_campaign=monsoon-sale

The same ad on a hoarding at a Pune junction: utm_source=fc-road-hoarding · utm_medium=billboard · utm_campaign=monsoon-sale

Now the scans don't just pile into one bucket. They separate cleanly, and you can finally answer the question that's haunted print forever: which specific placement actually worked?

The rule that makes or breaks it: one code per placement

Here's the mistake that quietly ruins print tracking, running the same QR everywhere.

If the identical code goes in three cities and two publications, you'll get a total scan count and zero ability to break it down. You'll know 1,400 people scanned. You won't know whether the ₹4 lakh Mumbai buy or the ₹80,000 Nagpur buy earned them. That's the single most expensive decision the data was supposed to inform, and you've thrown it away to save five minutes of setup.

Every distinct placement gets its own tagged code. Different city, different code. Different publication, different code. Different creative, different code. It feels tedious for exactly as long as it takes to read your first breakdown report, then it feels obvious.

A clean naming convention keeps it sane. Pick a pattern and never deviate: {campaign}_{medium}_{city}_{placement}monsoon_newspaper_pune_sakal

Consistency here is what lets you compare across campaigns six months later instead of squinting at a mess of ad-hoc labels.

Where print beats digital UTMs

Print UTMs have an advantage digital marketers would envy: the placement is physically fixed.

Online, a link can leak, someone reshares it, it shows up somewhere you didn't put it, and your source data gets muddy. A QR printed in the Pune edition of a specific newspaper on a specific date cannot appear anywhere else. The tag is as trustworthy as the print run. Your utm_source isn't a guess; it's a physical fact.

That makes print attribution, once instrumented, unusually clean. No bot traffic, no accidental resharing, no muddled sources. A scan from that code came from that placement, period.

From tags to decisions

Tagging is the setup. The payoff is the report. Once scans carry UTMs, you compute the same metrics your performance team lives by:

  • Scans per placement: raw pull of each ad.
  • Cost per scan: placement cost ÷ scans.
  • Cost per lead: the number that lets you compare a hoarding directly against a Meta campaign.

Suddenly a Nagpur half-page and a Mumbai full-page sit in the same table, ranked by cost per lead, and the "obvious" choice (the big expensive Mumbai buy) sometimes turns out to be the worse one. That's the whole point, real numbers overruling assumptions. It slots straight into the broader system we lay out in the complete guide to offline ad attribution.

Start with your next buy

You don't need to retag history. Take whatever offline ad ships next, give each placement a unique tagged QR with a consistent naming pattern, point it at a fast mobile page, and let the report build itself.

Digital marketers have quietly had this superpower for fifteen years. Print is just claiming it now.

Tag your next print campaign and read the breakdown you've never been able to see before.