S.EE Blog

How To Track Offline Marketing Campaigns Using QR Codes and Short Links

Offline marketing doesn't have to be a black box. Learn how to use QR codes and short links to measure the real impact of your print ads, flyers, billboards, and event materials.

6 min read
How to track offline marketing campaigns
How to track offline marketing campaigns

You run an ad in a magazine, hand out flyers at a conference, or put up a billboard. Then you wait. Maybe traffic goes up, maybe it doesn't — and you're left guessing whether that print spend actually did anything.

Offline marketing has always had a measurement problem. Unlike a paid search ad where every click is logged, traditional physical campaigns produce almost no native data. But that's changed. With QR codes and short links, you can attach real tracking to almost any offline touchpoint and finally answer the question: is this working?

This guide walks you through exactly how to do it, from setting up trackable links to reading the analytics that come back.

Why offline campaigns are hard to measure

When someone sees your billboard and visits your website directly, there's no referral data in your analytics. They type the URL, or search your brand name, and that visit gets lumped in with everything else. You have no way to connect it back to the billboard.

The same problem applies to business cards, packaging, direct mail, event signage, and print ads. The channel is invisible to your web analytics by default.

QR codes and short links solve this by giving each physical channel its own trackable entry point.

A short link is more than just a shorter URL. When you create one through a link management platform, you can add UTM parameters that tell your analytics exactly where a visitor came from, and you get click data on the link itself — separate from your website analytics.

So instead of printing yourwebsite.com/summer-sale on a flyer, you create a short link like s.ee/summer-flyer that redirects to the sale page. Every scan or visit gets recorded: when it happened, what country, what device, what browser.

That's the data you've been missing.

The key is creating a unique short link for each physical channel. One link for the flyer, a different one for the magazine ad, another for the event badge. When the data comes back, you can compare performance directly.

S.EE's URL shortener lets you create short links with custom slugs, set expiration dates, and see detailed click analytics for each one — all from a single dashboard.

Setting up QR codes for print materials

QR codes are the bridge between a physical item and a trackable digital experience. Someone sees your flyer, scans the code with their phone, and lands on your page. The scan is logged.

The important thing is to use dynamic QR codes, not static ones. A static QR code bakes the destination URL into the code itself, so you can't change where it goes or see how many times it's been scanned. A dynamic QR code points to a short link, which means you can update the destination anytime and all scan data flows through your analytics.

With S.EE, every shortened link automatically gets a QR code. You don't need a separate tool. You create the link, download the QR code, and drop it into your print design.

Here's a simple setup for a print campaign:

  1. Create a short link for each physical channel (flyer, postcard, poster, etc.)
  2. Add UTM parameters to the destination URL so your website analytics can categorize the traffic
  3. Download the QR code for each link
  4. Add the QR code and/or the short URL to your printed material
  5. After the campaign runs, check your link analytics to see clicks by link, and check your site analytics to see behavior after arrival

This two-layer approach — link analytics plus UTM-tagged site analytics — gives you a complete picture of the campaign.

Building a UTM naming system that actually works

UTM parameters are tags you add to your destination URL. They tell Google Analytics (or whatever platform you use) the source, medium, and campaign name for each visit. You can also pass UTM tags through shortened S.EE links.

A URL with UTMs looks like this:

yourwebsite.com/summer-sale?utm_source=flyer&utm_medium=print&utm_campaign=summer2025

When someone arrives via that link, your analytics tool records all three values. You can then filter by campaign or source to see exactly what that channel produced.

The Google Analytics help documentation covers UTM parameters in full if you want a reference. The practical advice: keep your naming consistent. Use lowercase, use hyphens not spaces, and decide on conventions before you start so your data is clean.

A naming system might look like:

  • utm_source = the physical channel (flyer, postcard, billboard, magazine)
  • utm_medium = print (consistent across all offline)
  • utm_campaign = the campaign name and year (summer2025, launch-event-2025)

Tracking different offline channels

Not every physical format calls for the same approach. Here's how to think about a few common ones.

Flyers and direct mail. These are handed directly to someone, so they have a reasonable scan rate if the QR code is prominent and the CTA is clear. Create one link per mail piece or flyer version so you can compare designs or audiences.

Event signage and badges. Conferences and trade shows are ideal for QR codes because attendees have their phones ready. Create a unique link per event so you can see which shows drive real traffic versus which ones are just brand exposure.

Print ads. Magazines and newspapers have longer shelf lives than you might expect. Set your link to not expire, and monitor clicks over time. A spike weeks after the publication date tells you it's still being picked up.

Packaging. Product packaging is one of the more interesting use cases. A QR code on a box can link to setup guides, warranty registration, or a reorder page. Since customers scan it at home, you can track behavior over a long period.

Billboards and outdoor signage. These are trickier because you can't realistically expect people to scan while driving. For outdoor placements, a memorable short URL matters more than a QR code. Something like s.ee/downtown-promo is easy to remember and type later.

Reading your campaign analytics

Once your campaign is live, S.EE's link analytics show you clicks over time, broken down by country, city, device type, browser, and referrer. You can see whether most scans are happening on iOS or Android, whether they're concentrated in one city, and whether there's a spike on a particular day.

Cross-reference this with your UTM data in your web analytics to understand what happens after the click: do people bounce immediately, or do they convert? A high click count with poor on-site engagement might signal a mismatch between the ad and the landing page. Strong engagement with a lower click count might mean the targeting or placement was right, but the QR code wasn't prominent enough.

This feedback loop is what makes offline marketing learnable. Each campaign teaches you something you can act on in the next one.

A note on custom domains

If you're running campaigns for a brand, the short link domain matters. go.yourbrand.com/summer looks a lot more trustworthy on a flyer than a generic shortened URL. It also reinforces brand recognition every time someone types or sees the link.

S.EE supports custom domains, so you can use your own branded domain for all your short links and QR codes without changing anything about how analytics or tracking works.

Bringing it together

Tracking offline marketing campaigns isn't complicated once you have the right setup. The core workflow is: create a unique short link per channel, attach UTM parameters to the destination, generate a QR code, put it on your materials, and read the data after.

The part most people skip is the unique-link-per-channel step. Without that, everything aggregates and you lose the ability to compare. Take the extra five minutes to create separate links and you'll have clean, actionable data at the end of every campaign.

Thanks for reading! If you're looking to simplify how you share and track links, S.EE covers URL shortening, analytics, QR codes, file sharing, branded domains, and more — all in one place. Ready to get started? Sign up today or view pricing.

FAQ

Can I track how many times a QR code has been scanned?

Yes, if you're using a dynamic QR code tied to a short link. Static QR codes don't record scan data, but dynamic ones route through a link that logs every scan with timestamps, device types, and geographic data.

They serve different purposes. Short link analytics tell you how many people clicked or scanned. UTM parameters tell your website analytics where that traffic came from so you can measure on-site behavior, conversions, and revenue by campaign. Ideally, you use both.

What's the difference between a static and dynamic QR code?

A static QR code encodes the destination URL directly into the image, so it can't be changed and doesn't track scans. A dynamic QR code points to a short link that can be updated anytime, and every scan is logged in your analytics.

How do I make sure people actually scan the QR code on my print material?

Size matters — the code should be at least 1 inch by 1 inch, ideally larger. Include a short call to action next to it ("Scan for 20% off") so people know what they're getting. Avoid placing it on curved surfaces or in low-contrast areas.

Can I use one QR code across multiple campaigns?

Technically yes, but you'd lose the ability to compare campaigns against each other. Best practice is a unique short link per campaign, per channel, which automatically gives you a unique QR code for each one.