What are UTM parameters?
UTM parameters are short labels in a URL that an analytics tool reads when someone arrives on your site. They do not change the page the visitor sees. Google Analytics recognizes a set of them, including utm_id for a campaign ID, utm_source for the referrer, utm_medium for the marketing medium, utm_campaign for the promotion, utm_content to tell creative versions apart and utm_term for paid keywords.
For print, the three core tags do most of the work. A link for a spring postcard might end with utm_source=postcard, utm_medium=print and utm_campaign=spring_open_house. When someone scans the code, the visit is recorded against those labels instead of appearing as unexplained direct traffic.
Why do printed QR codes need UTM tags?
Without tags, a scan from a poster, a postcard and a business card all look the same in most analytics reports. A person who scans a code usually arrives with no referring website, so the visit is often grouped as direct traffic alongside people who typed your address or used a bookmark. Tags give the print piece its own row in the report.
Tags also let you compare placements. Two identical posters in different locations can share a campaign but use different utm_content values, so you can see which location produced more visits.
They help after the campaign too. Months later, when someone asks whether the spring postcard was worth repeating, the tagged visits, the landing page behavior and any conversions recorded against that campaign are all in one place. Without tags, the same visits are mixed into general traffic and the question cannot be answered with any confidence.
How should you name UTM parameters for print?
Google Analytics notes that parameter values are case sensitive, so utm_source=Postcard and utm_source=postcard become two different sources. It recommends a strict naming convention and lowercase as a standard practice. Use underscores instead of spaces, avoid personal information, and write every value into a shared campaign register before anything goes to print.
| Parameter | Role | Print example |
|---|---|---|
| utm_source | Which printed piece | postcard, poster, business_card, insert |
| utm_medium | The channel type | |
| utm_campaign | The promotion or launch | spring_open_house |
| utm_content | Version or placement | version_a, cafe_window |
| utm_id | Campaign ID from your records | spring26 |
Keep the vocabulary small. A register with ten well defined values is more useful than a report with forty spellings of the same idea.
A simple register can be a shared spreadsheet with one row per printed piece: the tagged URL, the short address, each parameter value, the print quantity, the distribution dates and where the pieces went. Add a column for the person who approved the link. When a new campaign starts, copy an existing row and change only what differs, which keeps spelling and case consistent across the team.
How do you add UTM tags to a QR code?
Build the tagged URL first, then create the QR code from that exact URL. The campaign link builder adds the three core tags to a destination for you. It runs in your browser and does not install analytics or confirm that your site records the tags, so check that separately.
Then generate the code in the QR generator and export it as vector artwork. Scan the exported file and a printed proof, and confirm that the page opens with the tags still present in the address bar.
Should you use a short link or the full tagged URL?
Every extra character adds modules to a QR code, which makes each module smaller at the same printed size. A long tagged URL can push a small code into a denser version that is harder to scan. An owned redirect solves this: print a short address on your own domain and have it forward to the full tagged URL. The redirect also lets you change the destination later without reprinting.
If you use a redirect, test that the tags survive it. Some redirect setups strip the query string, which quietly removes all campaign data.
What can UTM data tell you, and what can it not?
A tagged visit shows that someone arrived through that URL, subject to the limits of your analytics tool, consent settings and browsers. It does not show how many people saw the print piece, and it does not prove that a later sale happened because of it. People share links, scan twice and type addresses by hand.
Report visits, inquiries and completed sales separately, and keep distribution records with the data: how many pieces, where and when. Our guide to postcard QR tracking explains how to connect scans to outcomes without overstating them, and the postcard campaign planning guide shows where measurement fits in the wider plan.
How do you count what was actually distributed?
The number printed is not the number seen. Record how many pieces went to each location, were handed out or were packed with orders, and keep unused and damaged stock visible. In a hypothetical run, 500 cards are printed, 150 stay in storage, 50 are damaged and 300 are distributed. If the tagged link records 12 visits, report those visits against the 300 distributed pieces, not all 500, and keep visits, inquiries and confirmed sales in separate columns.
What should you check before printing a tagged QR code?
- The three core tags are present and written in lowercase.
- Every value matches the campaign register exactly.
- No names, email addresses or other personal details appear in the URL.
- The landing page loads correctly with the tags attached.
- Any redirect keeps the tags intact.
- The QR code was generated from the final URL and scans on a printed proof.
- A short readable address is printed near the code as a fallback.
The same approach works on every printed format, from postcards to QR codes on posters. Tag once, record the values, and the report will make sense months later.
Frequently asked questions
Which UTM parameters are required for a print campaign?
Google Analytics says to always use utm_source, utm_medium and utm_campaign when you add parameters to a URL. For print, utm_source can name the piece, utm_medium can be print and utm_campaign can name the promotion. It also recommends utm_id, and utm_content is useful for telling two versions or placements apart.
Are UTM parameters case sensitive?
Yes. Google Analytics treats utm_source=google and utm_source=Google as different values, which splits one source into two rows in your reports. Choose lowercase as a standard, use underscores instead of spaces and keep a shared register of approved values so every person on the team builds links the same way.
Do UTM tags make a QR code harder to scan?
They can. Tags lengthen the URL, and more characters mean more modules in the code, which makes each module smaller at the same printed size. If the code must be small, print a short address on your own domain that redirects to the full tagged URL, and test that the redirect keeps the tags.
Can UTM links prove that a postcard generated sales?
No. A tagged visit shows that someone arrived through that link. It does not measure how many people read the postcard, and it cannot prove that a later purchase would not have happened anyway. Report visits, inquiries and sales separately and keep distribution records, costs and dates alongside the analytics data.
Sources & specification notes
The references below support the relevant technical or product details in this guide. Examples and checklists are not claims of practical testing or universal supplier requirements. Confirm the current specifications for your chosen product before production.
- Google Analytics Help: URL builders and UTM parameters ↗
Lists the supported UTM parameters, says to always use utm_source, utm_medium and utm_campaign, and warns that values are case sensitive.
- DENSO WAVE: QR Code versions ↗
Shows that more data requires a larger version with more modules, which is why long tagged URLs make codes denser.



