A campaign can generate a lot of scans and very little useful activity. Another might reach fewer people and lead to exactly the action you wanted. A single total won’t tell you the difference.

Before creating a dashboard, decide which question you want it to answer. “Did the new bottle label help customers find the refill page?” is a useful question. “Can we collect more numbers?” usually isn’t.

Separate scans, visits, and outcomes

A redirect request, a loaded destination, and a completed action are different events. If your QR points directly to a website, the QR artwork itself doesn’t report that it was scanned. Your website’s analytics may observe the resulting visit, depending on its setup and the visitor’s choices.

A dynamic redirect can record requests before sending someone onward. Those counts still need careful interpretation: repeated requests, bots, previews, and interrupted navigation can affect the totals. Define what your product calls a scan, and show the definition near the report.

Likewise, don’t label a session estimate “unique people.” A person can use several browsers or devices, and one device can be shared. An estimate can be useful without pretending to be a verified identity.

If the same untagged destination appears on the bottle, shelf sign, and printed leaflet, it becomes harder to distinguish their contribution. Start with a simple naming plan before generating the codes.

For a summer product launch, you might use:

Field Example What it distinguishes
Source packaging Where the link appeared
Medium qr The channel
Campaign summer_launch The shared initiative
Content bottle_label This particular placement

Use a different content value for the shelf sign. Keep the campaign name consistent. The free UTM builder handles encoding and preserves unrelated URL parameters.

UTM tags are labels in a URL; they don’t collect analytics by themselves. Your destination needs an analytics setup that understands them. Parameter values are case-sensitive, so agree on naming conventions rather than mixing styles. See Google’s campaign URL guidance for supported fields and reporting behavior.

Choose a meaningful next step

The right outcome depends on the promise. A restaurant menu scan could lead to a menu view. A product insert might lead to a care guide, account registration, or refill interest. A retail campaign could connect to a purchase event when the commerce integration supports it.

Write down how each event is triggered. “Engaged” needs a definition: an interaction, an amount of active time, or a meaningful page action. A chart becomes misleading when a label sounds precise but its implementation is vague.

Conversion reporting requires events on an instrumented destination or a connected system. A redirect alone cannot tell you whether a purchase happened later on an unrelated website.

Use audience context to improve the experience

Approximate geography, device category, browser family, and language can reveal practical problems. A campaign may work well on mobile but send visitors to a page that is awkward on a small screen. A regional audience might need clearer local information.

These signals have limits. IP-derived geography is approximate. Browser information may be reduced or absent. Screen size describes a browsing context, not a person. JavaScript only runs where you can install it, and collection should respect the relevant consent choices.

Build the report around decisions you can actually make. Avoid turning a long list of signals into a claim that you know everything about the visitor.

Compare like with like

Compare similar periods and account for where the code was distributed. A longer-running campaign will often accumulate more scans simply because it has been available longer. Differences in placement, audience, and promotion can matter more than the design change you’re trying to assess.

Use the interactive analytics preview to explore date and campaign filters. It uses synthetic data to demonstrate the planned workspace. The free static QR tool does not add tracking, and the production analytics backend is not live yet.

A useful report ends with a next move: change the destination, improve a page, test another placement, or keep doing something that works. That’s the story worth knowing.