How do marketing agencies track print campaign performance with QR codes? It starts with recognising that print is still a meaningful channel for agency clients, one that genuinely shifts behaviour and drives decisions. Point-of-sale materials, direct mail, magazine placements, venue signage: these formats move audiences. The problem has always been the same one. The moment the job leaves the printer, it vanishes from the analytics dashboard. No impression data, no session data, no conversion path. You are left presenting a client with a print run number and a gut feeling.
Dynamic QR codes changed that equation, but only when the setup is deliberate. Placing a code on a flyer is not a tracking strategy. A tracking strategy is a system: structured URLs, consistent naming conventions, a centralised platform, and a reporting workflow that connects a physical scan to a business outcome. This guide walks through that entire system, from the redirect layer that makes analytics possible to the client report that proves the investment worked.
Agencies running multiple client print campaigns commonly benefit from a dedicated QR management platform built for that context. That is where xcan.it fits in. xcan.it is a centralised QR management dashboard for managing dynamic codes across multiple client campaigns, with real-time scan analytics and the ability to update destinations without reprinting a single asset.
Why dynamic QR codes are the foundation of print tracking
Static QR codes encode the destination URL directly into the code matrix at the point of generation. Once printed, that URL is fixed and the code produces zero scan data. There is no server to intercept the scan, no log to write to, no analytics to pull. For any campaign where performance measurement matters, static codes are a dead end.
Dynamic QR codes work differently. Instead of encoding the final destination, they encode a short redirect URL. Every scan passes through a tracking layer before the user reaches the landing page. That moment, the redirect, is where the platform logs the timestamp, device type, approximate location, and scan count. The redirect layer is not a technical footnote; it is the engine that makes print analytics possible.
For agencies, the practical implications go further than measurement. Campaigns change mid-flight. A client updates their landing page URL, a seasonal offer expires, or a split-test requires sending traffic to a new variant. With a static code, any of those changes requires a reprint. With a dynamic code, you update the destination in the platform dashboard and the live printed material immediately reflects the change. No reprinting, no wasted stock, no broken scans in a client’s live campaign.
Dynamic codes are non-negotiable for any campaign with URLs that may change, any multi-client environment where codes need to track and report separately, and any placement where the client expects ROI data at the end of the campaign period. Attempting to manage these scenarios with static codes simply removes the possibility of meaningful attribution.
How agencies track print campaign performance with QR codes: configuring clean attribution
The UTM parameters go into the destination URL before the QR code is generated, not after. This is the most common setup error agencies make, and it produces sessions in Google Analytics 4 that arrive with no source or medium, which means the print channel gets zero credit for the traffic it drove. Build the UTM-tagged URL first, then generate the code from that full string.
UTM-tagged QR links: the naming convention that makes data usable
A well-structured destination URL for a print placement looks like this: https://client-site.com/landing?utm_source=poster_oxford_street&utm_medium=qr&utm_campaign=spring-sale-2026. The utm_source describes the specific physical placement, utm_medium stays fixed as qr across the entire campaign, and utm_campaign groups all placements under the same campaign name. Three formatting rules keep the data clean:
- Use lowercase throughout
- Avoid spaces in any parameter value
- Keep naming consistent across every campaign in the account
Inconsistency in UTM naming is what fragments otherwise clean data into unrecognisable source labels, and once a campaign is live, it cannot be retrofitted.
One code per placement is the discipline that makes reporting meaningful. A single QR code deployed across a high street poster, a magazine insert, and a direct mail piece produces blended scan data that cannot tell you which placement performed. Three placements, three codes, three distinct source values. This creates a larger code inventory to manage, which is precisely why a centralised platform pays for itself quickly on any multi-placement campaign.
Deferred deep linking for app attribution
For clients with mobile apps, deferred deep linking extends attribution through the install step. When a user scans the code and does not have the app installed, a standard redirect sends them to the App Store or Google Play and loses the campaign context entirely. A deferred deep link preserves the original scan parameters. After install and first app open, the SDK retrieves the stored payload and routes the user to the correct in-app destination, whilst attributing the install and any subsequent conversion back to the print source. The print asset gets credit for the customer, not just the scan.
The scan metrics that tell the real story
Total scans and unique scans are different numbers that answer different questions. Total scans count every interaction, including repeat scans from the same device. Unique scans count distinct devices, which is the closer proxy for individual people who engaged with the print placement. For client reporting, unique scans are the primary engagement metric because they indicate audience reach, not scan frequency.
Time-of-day and day-of-week breakdowns reveal behavioural patterns with direct implications for media planning. If a poster campaign in a commuter corridor shows the majority of scans occurring between 07:30 and 09:00 on weekdays, that tells you when the audience is most receptive, feeding directly into scheduling decisions for future campaigns. Device breakdown, iOS versus Android, mobile versus tablet, informs landing page optimisation priorities. Location data validates whether a geographically targeted campaign is reaching the intended audience or generating unexpected reach from outside the target area.
Scan data alone is not conversion data. The connection between a scan and a completed goal, a form submission, a booking, a purchase, happens on the destination page. UTM parameters carry the session through to a goal completion in GA4, which is what allows the report to show not just how many people scanned but how many of those scans produced a business outcome. Google Tag Manager can be used to configure event-based conversion tracking without developer involvement in many cases, particularly where GTM is already installed on the client’s site, though more complex event triggers may still require developer support. This makes offline-to-online attribution accessible for agencies working with clients who have limited technical resource.
Realistic benchmarks for UK print channels
Direct mail is the strongest performing print channel for QR scan rates, typically achieving 4 to 10 percent because recipients are stationary, the format is personal, and the content can be tailored to the audience. Magazine and newspaper placements generally see 1 to 4 percent, reflecting a browsing context where scanning requires interrupting the reading experience. Posters and flyers sit in a comparable 1 to 5 percent range, with performance heavily dependent on call-to-action clarity, placement environment, and the relevance of the offer to the passing audience.
Conversion rate after the scan, meaning the proportion of unique scans that complete a defined goal, benchmarks at roughly 15 to 20 percent for well-configured campaigns where the landing page is tightly matched to the offer and the conversion action is low-friction. That means a campaign with a 5 percent scan rate and a 15 percent conversion rate produces approximately 0.75 percent of the print run as direct conversions. At scale, that is a significant and attributable business result.
These benchmarks matter because clients read scan numbers without context. A flyer campaign with a print run of 5,000 that generates 200 scans is performing at exactly 4 percent, on target for the channel. Without a benchmark in the brief, that same number might prompt concern from a client who expected more. Setting expectations before the campaign launches is part of the agency’s responsibility. The benchmark should appear in the campaign brief and be revisited in the debrief.
Managing multiple client campaigns from one dashboard
Most agencies begin managing QR codes reactively: one free generator here, a different tool there, no login history, no consolidated view. It works until a client asks for a mid-campaign scan report and there is no single place to pull it from. As the agency’s print workload grows, this fragmentation becomes a genuine operational liability.
A purpose-built QR management platform resolves this by centralising every code, every campaign, and every analytics view in one place. The capabilities that matter most for agency use include separate workspaces or folders per client, real-time scan dashboards filterable by campaign and date range, the ability to update destination URLs across live campaigns without reprinting, and exportable scan-level data for client reporting. These are not optional features for an agency managing volume; they are the infrastructure that makes the work scalable.
xcan.it was built for exactly this workflow. The platform lets agencies manage dynamic QR codes across multiple client campaigns from a single centralised dashboard, with QR code analytics covering scan count, unique scans, device type, approximate location, and timing. Destination URLs can be updated mid-campaign, campaigns can be segmented by client, and the data needed for client reporting is available without switching between tools or chasing exports from multiple sources. Getting started requires no credit card, which means onboarding a first client campaign is straightforward from day one.
Building a client report that proves ROI
The core KPIs for a print campaign report are total scans, unique scans, scan rate (unique scans divided by print run), top-performing placements, device breakdown, and conversion rate from unique scan to goal completion. Together they answer the three questions every client is actually asking: how many people saw it, how many engaged, and what did that produce. Each metric should be framed against the benchmark set at the start of the campaign, not presented as an isolated number.
On UK GDPR compliance: truly anonymous, aggregated scan counts without IP addresses or other identifiers attached may fall outside the scope of personal data processing. However, city-level location data and IP-linked records can constitute personal data under UK GDPR when they relate to an identifiable individual, even indirectly. Agencies should confirm that their QR management platform anonymises or truncates IP data by default, ensure a data processing agreement is in place with the platform provider, and include a brief compliance note in any client data-sharing arrangement. It is worth verifying this before the campaign goes live rather than retrospectively.
Monthly scan reports or campaign-end summaries should be treated as a standard agency deliverable, not an optional extra. Consistent reporting builds client trust, demonstrates accountability for print spend, and creates a longitudinal dataset that improves benchmark accuracy and campaign forecasting over time. The agency that can show a client their print performance improving year on year, backed by scan data, has a considerably stronger case for retaining that budget than one that relies on qualitative feedback alone.
The framework, pulled together
Tracking print campaign performance with QR codes comes down to three connected layers. Dynamic QR codes are the starting point, the redirect layer is what makes analytics possible, and choosing static codes for any campaign where performance measurement is expected is a fundamental setup error. UTM configuration is the attribution layer: structured, consistent, one code per placement, destination URL tagged before the code is generated. QR code analytics are the evidence: unique scans, device data, time patterns, and conversion rate connected through UTM parameters to goal completions in GA4.
A centralised platform is what makes all of this manageable at scale. Running this workflow across ten client campaigns using ad hoc tools and spreadsheets is unsustainable. The agencies that build a reliable print tracking practice are the ones that treat QR management as infrastructure rather than a one-off technical task, a single platform, a consistent naming convention, and a reporting cadence that keeps clients informed from campaign launch through to debrief.
Proving print ROI is no longer a guessing game. Every scan is a data point. Accumulate enough of them and you have a compelling case for continued print spend, and a considerably stronger position when the next brief lands. If you are ready to build that system, xcan.it is where to start.