The Quick Answer: QR Code or Vanity URL?
Use a QR code where people have time to scan, such as direct mail, packaging or a poster. Use a short vanity URL where the ad moves too fast, such as a billboard, radio or a podcast. Many campaigns print both, each tagged with UTM parameters for that placement. Tools like Trakt build tagged links, QR codes and short links.
Quick start: Start free with Trakt to build a tagged QR code or short link for each placement and record each form submission with its source. Or follow the manual steps below.
Build a Tracked QR Code Now
Tag the destination URL, pick where the code will live, and download a print-ready QR code, free, no signup. This is the same UTM taxonomy Trakt uses internally, so a code built here is identical to one built inside the product.
Which Tracking Method Do I Use for My Channel?
| Channel | Dwell Time | Key Constraint | Primary Method |
|---|---|---|---|
| Highway Billboards | 2-5 seconds | High speed (65mph) | Short vanity URL |
| Direct Mail & Catalogs | 30+ seconds | Print resolution | Hybrid (QR + URL) |
| Transit & Bus Stops | 1-5 minutes | Eye-level placement | Eye-level QR code |
| Packaging & Inserts | Very high | Camera focal distance | Dynamic QR code |
| Event Booths & Banners | 10-30 seconds | 10:1 distance ratio | Large-format QR code |
| Radio, Podcasts & CTV | Audio / visual | Verbal clarity | Phonetic vanity URL |
Jump directly to your channel for the exact sizing rules, contrast requirements, and CRM setup:
Which Tracking Method Do I Use for Billboards?
The verdict: a short vanity URL only, never a QR code. At highway speed, a driver has a few seconds of visual exposure, and scanning a code while driving isn't something anyone attempts safely.
- Keep it to 12-15 characters total (
brand.com/save, notbrand.com/2026-spring-promo). Anything that has to be spelled out is a lead lost. - Use a heavy, sans-serif typeface and the highest contrast you can print, light text on a dark ground or the reverse. Legibility at speed comes from weight and contrast, not from a specific point size.
- Don't print a QR code here at all. There's no realistic scenario where someone scans a billboard from a moving car.
How to track it: register a short, dedicated path (brand.com/drive), configure a server redirect that maps it to your tagged landing page (utm_source=billboard&utm_medium=outdoor&utm_campaign=q2-highway-101), and lock the source field in your CRM, HubSpot, Salesforce, or Pipedrive, to "keep original value" so a later touch can't overwrite it.
Which Tracking Method Do I Use for Direct Mail?
The verdict: the hybrid, a QR code with a short vanity URL underneath. Dwell time is high, someone's holding the piece at a desk or kitchen table, not walking past it, and the vanity URL catches anyone who'd rather type or is looking at it from a laptop.
- Minimum physical size: 0.8in x 0.8in (2cm x 2cm). Smaller than that risks camera focus failure on older phones.
- Keep the quiet zone, a blank margin around the code of at least four modules. It's the single most common reason a printed code fails to scan.
- Never print a naked code. Frame it with the reason to scan: "Scan for $20 off with code MAIL20," not just a QR code sitting in a corner.
- Generate a unique code per mail batch or postal segment (
utm_content=zip-90210) rather than reusing one for the whole run.
How to track it: a unique campaign per mail batch, so Trakt attaches that specific batch to the CRM contact record on first scan and keeps the original source even if the person converts days later from a desktop.
Which Tracking Method Do I Use for Transit Ads?
The verdict: an eye-level QR code, primary. Commuters waiting at a shelter or platform have a minute or more of stationary dwell time, camera scanning is a natural reflex while waiting.
- Eye level, not down at the base of the poster where someone has to crouch to scan.
- Matte or anti-glare stock. A glossy poster cover under direct sun or shelter lighting creates glare that blocks the camera lens as effectively as a bad print would.
- Dark modules on a light background. This isn't a style choice, a QR code fundamentally needs that contrast direction to scan reliably, and an inverted, on-brand-color code is a common way to make an otherwise-correct code fail.

How to track it: map the station or stop name into utm_term (union-station-north) so you can compare locations against each other, not just "transit" as one bucket.
Which Tracking Method Do I Use for Product Packaging?
The verdict: a dynamic QR code, tied to a registration or loyalty hook. Dwell time here is the highest of any channel, someone is actively holding the product and looking for what to do next, and a dynamic code means the destination can change later without reprinting packaging stock.
- If you're placing a logo in the center of the code, set error correction to Level H, the highest of the four levels, which recovers roughly 30% of the pattern even with part of it covered. Anything lower risks the logo overlay making the code unreadable.
- Print a short backup link directly under the insert for anyone unboxing at a desk with a laptop open rather than a phone in hand.
- Tie the scan to what happens next: warranty registration, a reorder reminder, a loyalty signup, rather than a generic homepage.
How to track it: route the scan into a CRM workflow keyed to the specific product or SKU (utm_campaign=product-insert), so a reorder campaign can target people who actually bought that item.
Which Tracking Method Do I Use for Trade Show Booths?
The verdict: a large-format QR code, with a spoken or printed promo code as the fallback. Exposure is brief in a crowded hallway, but genuinely stationary for anyone who stops at the booth, and convention center connectivity is unreliable enough to plan around.
Size to the same 10:1 distance-to-size ratio used throughout this guide:
| Scanning distance | Minimum QR size |
|---|---|
| 30cm / 1ft (handheld) | 3cm / 1.2in |
| 1m / 3ft (tabletop) | 10cm / 4in |
| 2m / 6ft (booth panel) | 20cm / 8in |
| 5m / 16ft (banner, backdrop) | 50cm / 20in |

- Pair the code with a short, memorable link or a spoken promo code attendees can note down even if a scan hangs on bad wifi.
- High contrast still applies at booth scale, and booth lighting is frequently worse than it looked at the design review.
How to track it: a UTM per booth location or event (utm_source=booth-name&utm_medium=tradeshow), so a multi-city tour can be ranked by which stop actually produced pipeline, not just booked leads.
Which Tracking Method Do I Use for Podcasts, Radio, and TV?
The verdict: a phonetic vanity URL or spoken promo code for pure audio, a QR code plus an on-screen link for Connected TV. There's no camera involved in audio at all, so a QR code has nothing to be scanned by.
- For audio, the link has to pass a verbal clarity test: no homophones, no tricky spelling, nothing a listener would type differently than a host says it out loud (
brand.com/podcast, notbrand.com/q2-promo-2026). - A spoken promo code often outperforms a URL for audio specifically, one thing to remember instead of a domain and a path.
- For Connected TV, a QR code can work since there's a screen, but only if it's on screen long enough, and large enough, for someone on a couch to actually get a phone up and scan it, not a brief flash during a transition. Keep a vanity URL visible alongside it for anyone who'd rather type.
How to track it: a UTM per show or host rather than per network (utm_source=show-name&utm_medium=podcast), since one show can run several different flights of the same campaign.
To build those QR codes and short links to one naming rule, pre-register for Trakt.
The Common Point of Failure: The Cross-Device Attribution Leak
You can get the sizing, the contrast, and the vanity URL exactly right on every channel above and still lose most of the credit, because the failure that kills offline attribution usually isn't the creative. It's what happens between the scan and the conversion.
A prospect scans a direct mail QR code at her kitchen table on Tuesday, browses for a few seconds, and closes the tab without converting. On Thursday, she remembers the product from her desktop at work, Googles the company name, and fills out a demo form. In a default CRM setup, that lead lands as "Organic Search" or "Direct." The direct mail campaign gets zero credit, and the spend looks like it did nothing.
With a persistence layer bridging that gap, the same lead lands correctly attributed to the original scan, days later and on a different device.

Trakt sits as a middle layer between your physical marketing and your CRM, HubSpot, Salesforce, or Pipedrive:
- First-party cookie persistence: the original campaign source (
utm_source,utm_medium,utm_campaign,utm_content) stays stored across the decision window, not just the first session. - Identity bridging: when a lead converts on a different device, Trakt reconciles the two sessions back to the same touchpoint.
- Automated CRM injection: the original offline campaign data writes directly onto both the Contact and Deal records, no manual field mapping or fragile webhook to maintain.
Whether you're tracking a highway billboard or a stack of coffee shop flyers, the mechanism is the same: capture the source once, and don't let it get lost between the scan and the close. You can explore how this works by visiting link.trakt.pro.
QR Code vs Vanity URL FAQ
What is the main difference between a QR code and a vanity URL for offline tracking?
A QR code is a camera-scannable graphic that automates link entry, while a vanity URL is a short, memorable address typed manually. QR codes carry complex UTM parameters without visual clutter, whereas vanity URLs rely on a clean domain redirect to pass the same attribution data.
Which is more accurate for offline attribution, a QR code or a vanity URL?
QR codes deliver close to 100% tracking accuracy because the UTM parameters cannot be mistyped. Vanity URLs typically capture 70 to 80% of traffic due to typos or users abandoning the path to search the brand directly on Google. Generic homepage URLs with no parameters offer zero attribution data.
Do QR codes work for all types of physical advertising?
Not equally. QR codes work best on stationary or close-proximity media, print ads, product packaging, bus stops, direct mail, where users have time to scan. They're impractical on high-speed media like highway billboards or a brief audio spot, where a short vanity URL is the only realistic option.
<strong>What happens if a user scans a QR code but converts days later?</strong>
If your website uses persistent first-party cookies or an attribution layer like Trakt, the original QR code campaign parameters stay stored in the user's browser. When they return days later via direct traffic or organic search, the final CRM deal is still credited back to the initial offline scan.
<strong>Why do offline attribution campaigns fail even when QR codes are used?</strong>
Offline attribution usually fails at the CRM landing page level: a static destination link with no UTMs, a missing hidden form field on the conversion page, or attribution properties that don't carry over from the Contact object to the Deal object when an opportunity is created.



