Skip to content

Plan a QR code tracking dashboard without provider lock-in

Use UTM links and website analytics to compare campaign visits by placement. A static QR code does not count scans on its own.

QR analytics

Start by deciding what you need to compare: website visits, conversions, or requests made to a QR provider. Posters, menus, packages, receipts, and event materials can each use a different placement label.

A static QR code stores its destination directly. Add UTM tags to the URL to group visits in your website analytics, but this will not count scans that never reach the page. Analytics settings and blockers can also affect what is recorded.

A dynamic QR service routes scans through its redirect. Some services report requests that reach that redirect and let you change the destination; reporting, filters, and extra data vary by provider. This adds a service dependency, so use it when those features are worth it for your workflow.

Build the tracked QR URL

Use the UTM QR generator to create a campaign-ready static QR code that your analytics platform can report on.

Create UTM QR code

Key decisions

Track campaigns with UTM links

Use utm_source, utm_medium, utm_campaign, and utm_content so analytics tools can group QR traffic by campaign and placement.

Report by placement

Generate distinct QR URLs for posters, table tents, invoices, packaging, badges, and ads when placement-level reporting matters.

Know when dynamic analytics are required

Consider a dynamic QR service if you need requests counted before the page loads or want to change destinations after printing. Check how it defines and filters counts.

Tracking choices for QR campaigns

NeedStatic QR plus UTM dashboardDynamic QR provider dashboard
Website sessions and conversionsWorks well when the tagged URL lands on a site with analytics goals or events.Can add scan counts before handing traffic to the destination.
Scan count before landing page loadsNot available because the static QR code does not call a tracking server.Some providers count requests that reach their redirect before forwarding; definitions and filters vary.
Placement-level reportingUse a unique utm_content or placement ID for each printed or digital placement.Use provider campaign groups, tags, folders, or QR-level analytics.
Changing a destination after printUse a stable redirect URL that you control before printing.Edit the destination inside the provider dashboard.
Privacy and vendor dependencyNo required QR redirect provider; normal destination analytics still apply.Requests route through the provider, adding a service dependency and another data-handling party.

Dashboard structure

Build the dashboard around decisions the campaign team can act on, not just raw scan or session totals.

Campaign overview

Show sessions, conversions, conversion rate, revenue or leads, and trend lines by campaign name.

Placement table

Break results down by utm_content or placement ID so teams can compare posters, packaging, menus, invoices, and events.

Landing page quality

Track load speed, bounce rate, mobile engagement, and form completion so weak landing pages do not hide QR performance.

Conversion events

Define the business outcome first: booking, purchase, review, signup, download, payment start, or support contact.

UTM naming plan

Consistent naming is what makes QR reporting usable after campaigns expand across locations and formats.

Source and medium

Use a stable source such as qr and a medium such as offline, print, packaging, event, or retail depending on your reporting model.

Campaign names

Keep campaign names lowercase, predictable, and shared with other channels when QR is part of a wider launch.

Placement IDs

Use utm_content values such as table_tent, front_window, receipt_footer, poster_a, or booth_banner to compare placements.

Sensitive data

Do not encode names, emails, customer IDs, health information, or private account details inside UTM parameters.

QR tracking dashboard checklist

  • Create one QR URL per placement when placement-level reporting is required.
  • Reserve UTM names before print assets are approved.
  • Connect the destination page to first-party analytics goals or conversion events.
  • Keep personal data and customer identifiers out of UTM parameters.
  • Choose dynamic QR analytics only when scan counts before page load, device/location reports, or dashboard editing are genuinely required.

Build the reporting workflow

  1. 1

    Define the reporting question

    Decide whether the dashboard needs to compare campaigns, placements, locations, formats, landing pages, or conversions.

  2. 2

    Build tagged URLs

    Create UTM-tagged destinations for each campaign and placement, then verify the final URLs before generating QR assets.

  3. 3

    Generate and test QR assets

    Download SVG, PDF, EPS, PNG, JPG, or WebP files, then scan the final artwork from the actual viewing distance.

  4. 4

    Publish the dashboard

    Group results by campaign and placement, flag low-performing assets, and document when a dynamic QR provider is required.

Frequently asked questions

Can QR Code Crafter track scans?

QR Code Crafter does not provide hosted scan analytics for static QR codes. The downloaded code works without a provider redirect. Use UTM links for website visit reporting, or consider a dynamic service if you need requests counted before the destination loads. Check how that provider defines scan counts.

Do I need dynamic QR codes for analytics?

Not always. UTM-tagged static QR links can report website visits and conversions when analytics is enabled. A dynamic service may add request counts before page load or editable destinations; features and counting methods vary.

What should a QR tracking dashboard include?

Include campaigns, placements, sessions, conversions, conversion rate, landing page status, mobile performance, and optional provider scan counts if a dynamic QR platform is used.

How do I compare poster, menu, and packaging placements?

Generate a separate QR URL for each placement and use a consistent utm_content or placement ID such as poster_a, menu_table, or package_insert.

Can I count scans that do not load the landing page?

Not with a direct static QR code and UTM parameters. Some dynamic providers count requests that reach their redirect before forwarding, but check what their reported count represents.