Skip to content

Track QR campaign traffic with UTM parameters

Static QR codes do not count scans by themselves, but UTM-tagged URLs let your website analytics identify visits from QR placements.

Analytics-ready links

UTM parameters are query tags added to a destination URL. When someone scans the QR code, analytics tools can group the visit by source, medium, campaign, term, or content.

This is a practical way to measure static QR campaigns without routing scanners through a third-party dynamic QR provider.

The best UTM QR workflow is planned before the code is printed: define naming rules, generate one URL per placement, test the tagged destination, and archive the final QR asset with the campaign record.

UTM QR codes Generator

Plan UTM QR codes workflows with guidance on static QR destinations, export formats, scan testing, and print or digital rollout. Static QR code.

Source, Medium, Campaign, Term, Content. Static QR code.

Analytics TrackingAnalytics info

UTM Parameters for Google Analytics:

  • Source: Identifies the source of traffic (default: qr)
  • Medium: Marketing medium (default: qr_code)
  • Campaign: Specific campaign name
  • Term: Keywords for paid campaigns
  • Content: Differentiates similar content/links

Key decisions

Use a consistent source

Set utm_source to a clear value such as qr, poster, packaging, or menu depending on your reporting model.

Name the placement

Use utm_content for variants such as front_door, table_tent, invoice, or event_badge.

Keep destination pages mobile-ready

Most QR scans happen on phones, so slow or desktop-only landing pages weaken campaign data.

Separate scans from sessions

UTM reporting measures visits that load the tagged URL. It does not count abandoned scans, blocked browsers, or people who close the page before analytics runs.

UTM field planning

FieldExamplePurpose
utm_sourceqrGroups visits as QR traffic
utm_mediumofflineSeparates print and physical media from email or paid ads
utm_contentwindow_posterCompares placements inside the same campaign
utm_campaignspring_menu_launchGroups every placement, format, and landing-page variant under one campaign name
utm_termoptional_audience_or_offerUse sparingly for offline audience, offer, or keyword notes when your analytics model needs it
Placement IDqr-table-12 or pack-insert-aKeeps physical artwork, QR file, and analytics row traceable after launch

Plan UTM names before generating QR codes

Consistent naming is what makes campaign reports usable after a menu, poster, package, receipt, or event badge is already in the world.

Create one naming convention

Decide whether QR traffic uses utm_source=qr, utm_medium=offline, placement-specific utm_content values, and lowercase campaign names before generating the first asset.

Use one code per measurable placement

Separate table tents, storefront posters, packaging inserts, invoices, appointment cards, and event badges when you need to compare their performance later.

Document the final URL

Save the full tagged URL, QR filename, artwork location, physical placement, owner, date, and fallback URL so future teams know what was printed.

Measure what UTM QR codes can actually prove

UTM tags give strong first-party website campaign data, but they are not the same thing as provider-side scan analytics.

Website sessions and conversions

Analytics tools can report visits, engaged sessions, form submissions, purchases, bookings, or calls that happen after the tagged landing page loads.

No pre-load scan count

A static QR code cannot count a scan before the destination loads. Use a dynamic QR provider only when pre-load scan counts or editable redirects are required.

Privacy-aware campaign data

Avoid adding personal data, customer names, account IDs, or sensitive order details into UTM parameters because URLs can appear in logs and analytics exports.

Prepare UTM QR assets for production

Tagged URLs can become long and dense, so production proofing matters as much as analytics planning.

Use controlled short links carefully

A redirect URL you control can reduce QR density and preserve future flexibility, but test the redirect chain and avoid unmanaged public shorteners for permanent print.

Proof the final artwork

Scan the printed proof and confirm the analytics platform receives the intended source, medium, campaign, and content values.

Keep placement files separate

Name exported SVG, PDF, EPS, PNG, or WebP files after their placement ID so teams do not accidentally print the wrong campaign variant.

UTM QR campaign checklist

  • Use one QR code per placement when you need placement-level reporting.
  • Keep campaign names lowercase and consistent across channels.
  • Test the final URL before generating and after scanning.
  • Do not use UTM parameters for sensitive personal data.
  • Agree source, medium, campaign, and content naming before artwork is produced.
  • Use a redirect URL you control if a printed campaign may need destination changes later.
  • Scan one physical proof and confirm the analytics event or session appears with the expected UTM values.
  • Archive the tagged URL, QR export, placement ID, artwork file, and campaign owner together.

Guides: print

Analytics-ready links should be treated as a publishing workflow, not only a generated image. Confirm the destination, choose the export format, test the finished asset, and assign an owner before it appears in public material.

Before using Analytics-ready links in print, packaging, signage, email, documents, apps, or automation, keep a release note with the encoded value, file name, export format, placement, owner, and test result. That record makes later corrections possible.

URL QR code: HTTPS

For Analytics-ready links, verify that the encoded URL, contact detail, payment instruction, file, or app action is accurate, controlled by the right team, available on mobile, and appropriate for the people who may scan it.

Select format

Keep SVG, PDF, or EPS masters for print, packaging, signs, and design tools. Use PNG, JPG, WebP, or SVG for websites, email, documents, and digital placements, and avoid unexpected compression of the final code.

scan

Scan the browser preview, downloaded file, placed layout, exported PDF, CMS upload, email preview, and physical proof from realistic distances, angles, lighting, and devices before release.

Company

Record the QR owner, destination, source file, export format, placement, publish date, test devices, review date, and replacement trigger so long-lived static codes remain trustworthy.

QR code API

When many QR files are needed, use consistent names, manifest checks, OpenAPI or WebMCP parameters, and output-format validation before handing assets to design, print, or content teams.

static vs dynamic QR codes

Review Analytics-ready links after campaign changes, rebrands, domain moves, payment-detail updates, app-store changes, document migrations, or analytics changes so public QR codes do not point to stale or unsafe destinations.

Feedback

Add readable destination text, a short URL, support contact, or printed instruction where scanning is business-critical, accessibility-sensitive, or likely to happen with poor connectivity.

Accessibility

Place nearby text that explains the scan action, keep contrast high, avoid tiny placements, and ensure the destination works with mobile browsers, screen readers, reduced-motion settings, and keyboard navigation.

Create a tracked QR campaign in three steps

  1. 1

    Build the tagged URL

    Choose campaign, source, medium, and content values using a consistent naming convention that your analytics team will recognize.

  2. 2

    Generate the QR code

    Encode the final tagged URL or a controlled redirect URL, then export the format required for the placement and production workflow.

  3. 3

    Verify analytics and scan quality

    Scan the final proof, confirm the landing page loads on mobile, and check that analytics records the expected UTM values.

Frequently asked questions

Do UTM parameters track QR scans?

They track website visits after a scan reaches your tagged URL. They do not count scans that never open the destination page.

Do I need a dynamic QR code for analytics?

Not always. UTM parameters are enough when you mainly need website campaign reporting instead of provider-level scan analytics.

Can I change UTM parameters after printing?

Not on a static QR code. Use a redirect URL you control if campaign tags may need to change later.

What source and medium should a QR campaign use?

Many teams use utm_source=qr and utm_medium=offline, then use utm_campaign for the campaign name and utm_content for the physical placement or creative variant.

Can UTM parameters include customer or order details?

Avoid personal, sensitive, or account-specific data in UTM parameters. URLs can appear in browser history, analytics tools, logs, exports, and shared screenshots.

Should every printed placement get a different QR code?

Use separate QR codes when placement-level reporting matters. If every poster, table tent, or package insert uses the same URL, analytics cannot separate their results later.