Analytics

How to Track QR Code Scans With Google Analytics, UTM Parameters, and Native Dashboards

Learn three proven methods to track QR code scans: Google Analytics 4 with UTM parameters, native analytics dashboards, and conversion pixel retargeting. Step-by-step setup with real examples.

QR Insights Team
March 19, 2026
14 min read

Track Every QR Code Scan Automatically

QR Insights gives you real-time scan analytics, location tracking, and device breakdowns without any setup. Create a trackable QR code in under 60 seconds.

Free tier available
No credit card required
GDPR compliant
Cancel anytime

Most QR Codes Are Flying Blind

You printed 5,000 flyers with a QR code. The campaign ran for three weeks. Your boss asks, "How did the QR codes perform?" And you have nothing. No scan counts. No location data. No idea whether people scanned at the conference or in the parking lot.

This is the default state of QR code marketing. The offline-to-online bridge that QR codes promise only works if you can see the traffic crossing it. Without tracking, a QR code is a black hole. Impressions go in, but no data comes out.

The good news is that QR code tracking is a solved problem. You have three methods available, each capturing different data and serving different purposes. This guide walks through all three, step by step, so you can build a tracking stack that gives you complete visibility into every scan.

How QR Code Scan Tracking Works

QR code scan tracking works by routing each scan through a redirect server that logs the interaction before forwarding users to the destination URL. This server captures the timestamp, geographic location (via IP), device type, browser, and operating system for every scan. To enable tracking, you need a dynamic QR code. Static QR codes encode the URL directly and cannot record scan data.

That last point is critical and trips up a lot of first-time QR marketers.

Only Dynamic QR Codes Are Trackable

A static QR code bakes the destination URL directly into the black and white pattern. When someone scans it, their phone reads the URL straight from the image. No server is involved. No data is recorded. You get zero analytics.

A dynamic QR code works differently. It encodes a short redirect URL instead of your final destination. When someone scans, the request hits a tracking server first. That server logs the scan, then forwards the user to your actual landing page. The entire redirect happens in milliseconds, so the user never notices.

This is why free QR code generators that only produce static codes leave you with no tracking capability. If you need analytics (and you do), you need dynamic codes.

The Redirect Server Records Everything

Every scan that passes through a redirect server generates a data record containing:

  • Timestamp of the scan (date and time, down to the second)
  • IP-based geographic location (country, state/province, city)
  • Device type (mobile, tablet, desktop)
  • Operating system (iOS, Android, Windows, macOS)
  • Browser (Safari, Chrome, Samsung Internet, etc.)
  • Referrer data (where available)

This data forms the foundation of QR code analytics. The three methods in this guide differ in where that data lives and how much additional context you can layer on top of it.

Method 1. Track QR Code Scans With Google Analytics 4

Google Analytics 4 is the most common analytics platform in the world. If your landing page already has a GA4 tag installed, you can track QR code scans as a traffic source with zero additional code. The key is UTM parameters.

What You Need Before Starting

Before you build your first tracked QR code URL, confirm three things:

  1. GA4 is installed on your destination page. If you're sending QR scans to yoursite.com/spring-sale, that page needs a working GA4 tag.
  2. You have GA4 access. You'll need at least Viewer access to check reports, or Editor access to set up explorations.
  3. You understand UTM parameters. If you don't, the next section covers them.

Step 1. Build Your Tracking URL With UTM Parameters

UTM parameters (Urchin Tracking Module, named after the pre-Google analytics company) are tags you append to any URL. When someone visits a URL with UTM parameters, GA4 automatically reads them and attributes the visit to that campaign.

There are five UTM parameters. Three are required, two are optional:

Parameter Required? Purpose Example Value
utm_source Yes Where the traffic comes from flyer, poster, packaging
utm_medium Yes The marketing medium qr_code
utm_campaign Yes The campaign name spring_sale_2026
utm_term No Paid keyword (rarely used for QR) downtown_location
utm_content No Differentiates variations blue_design_a

For QR code tracking, always set utm_medium to qr_code. This makes it trivially easy to filter all QR traffic in GA4 later.

Here's what a fully tagged URL looks like:

https://yoursite.com/spring-sale?utm_source=store_flyer&utm_medium=qr_code&utm_campaign=spring_sale_2026&utm_content=front_counter

Step 2. Use Google's Campaign URL Builder

You don't need to construct UTM URLs by hand. Google provides a free Campaign URL Builder tool that does it for you.

  1. Go to Google's Campaign URL Builder
  2. Enter your destination URL in the "Website URL" field
  3. Fill in utm_source (e.g., conference_booth)
  4. Set utm_medium to qr_code
  5. Add your utm_campaign name (e.g., trade_show_march_2026)
  6. Optionally fill in utm_content to differentiate QR code placements
  7. Copy the generated URL

The tool outputs a clean tagged URL ready to use as your QR code destination.

Step 3. Generate Your QR Code With the Tagged URL

Take the UTM-tagged URL and paste it as the destination when creating your QR code. If you're using QR Insights, paste the full tagged URL into the destination field when creating a new Dynamic URL code. The QR code will point to your tagged URL, and GA4 will attribute every scan correctly.

Important. Never shorten a UTM-tagged URL with a generic URL shortener before creating the QR code. Many shorteners strip or overwrite UTM parameters. Dynamic QR codes already use a short redirect URL internally, so shortening is unnecessary.

Step 4. Test With GA4 Realtime Reports

Before you print anything, test your tracking setup:

  1. Scan your QR code with your phone
  2. Open GA4 and navigate to Reports > Realtime
  3. Look for your visit in the active users list
  4. Check that the source/medium shows your UTM values (e.g., store_flyer / qr_code)

If you see the visit attributed correctly, your tracking is working. If the source shows as (direct) / (none), your UTM parameters aren't being passed correctly. Double-check the URL encoding and make sure the ? separator is present before the first parameter.

Step 5. View Results in Traffic Acquisition Reports

After your campaign has been running for 24-48 hours (GA4 has a processing delay), you can analyze the data:

  1. Open GA4 and go to Reports > Acquisition > Traffic Acquisition
  2. Use the search bar to filter by qr_code in the session medium column
  3. You'll see sessions, engaged sessions, engagement rate, and conversions broken down by your UTM source values

This report tells you how many people scanned each QR code placement, how long they stayed, and whether they converted. If you used different utm_source values for different placements (e.g., store_flyer vs. bus_stop_ad), you can compare performance across locations.

UTM Naming Conventions That Save You From Chaos

UTM tracking falls apart when naming is inconsistent. These rules prevent the most common problems:

  • Use lowercase for everything. GA4 treats Store_Flyer and store_flyer as separate sources. Pick lowercase and enforce it.
  • Use underscores instead of spaces. Spaces get encoded as %20 in URLs, which is ugly and error-prone. Use spring_sale, not spring sale.
  • Be specific but concise. conference_booth_march_2026 is better than campaign1 or the_big_trade_show_conference_in_las_vegas.
  • Document your naming conventions. Create a shared spreadsheet that maps UTM values to physical placements. Six months from now, you won't remember what src_a3 meant.
  • One QR code per physical placement. Don't reuse the same QR code (and UTM parameters) across a flyer and a poster. Give each placement its own code with its own utm_source or utm_content value.

Method 2. Track Scans With a Native QR Code Analytics Dashboard

GA4 with UTM parameters tells you what happens after someone lands on your page. A native QR code analytics dashboard tells you what happens at the moment of the scan itself. These are complementary data sets, not competing ones.

What a Native Dashboard Captures That GA4 Cannot

GA4 is powerful, but it has blind spots when it comes to QR code tracking:

  • GA4 can't track scans that don't reach your page. If someone scans your QR code but their phone fails to load the page (bad signal, slow connection), GA4 records nothing. A native dashboard records the scan at the redirect server before the page loads.
  • GA4 has a 24-48 hour processing delay. Native dashboards show scans in real time. If you're at a trade show and want to know how your booth is performing right now, you need real-time data.
  • GA4 requires UTM setup per URL. Native dashboards track every scan automatically, with no URL tagging required.
  • GA4 lumps QR scans with all web traffic. Even with UTM filtering, QR data lives alongside email clicks, social traffic, and paid ads. A native dashboard is purpose-built for QR analytics.

Key Metrics in a Native QR Code Dashboard

A good QR code analytics dashboard shows you:

  • Total scans over any time period, from today to all-time
  • Unique scans vs. total scans. Unique scans filter out repeat scanners. If someone scans twice, total scans says 2, unique scans says 1.
  • Geographic breakdown by country, state/province, and city. This tells you where your audience is physically located when they scan.
  • Device and browser data. Knowing that 80% of scans come from iPhones changes how you design landing pages.
  • Time-of-day and day-of-week patterns. A restaurant QR code might peak at 11:30 AM. A real estate sign might peak on Saturday afternoons. This data informs placement timing and staffing.

Setting Up a Tracking Dashboard in QR Insights

QR Insights provides a native analytics dashboard for every dynamic QR code you create. No additional setup is required. Here's what happens automatically:

  1. Create a dynamic QR code from the dashboard. Choose any QR type (Dynamic URL, Restaurant Menu, Property Listing, Event, etc.).
  2. Deploy your QR code. Print it, display it, embed it.
  3. Check the analytics dashboard. Every scan is logged in real time with location, device, browser, and timestamp data.

There's no UTM tagging, no GA4 configuration, and no 48-hour wait. The first scan shows up in your dashboard instantly.

Real-Time Data vs. Delayed Analytics

This is a meaningful difference for campaigns with short time windows. If you're running a one-day pop-up event or a weekend open house, waiting 48 hours for GA4 to process data means you can't optimize in real time.

With a native dashboard, you can:

  • Monitor scan velocity during an event and adjust staffing
  • Compare morning vs. afternoon scan rates at a trade show booth
  • See which of two poster placements gets more scans on day one and double down

GA4 gives you the same data eventually, but "eventually" isn't always useful.

Method 3. Advanced Tracking With Conversion Pixels and Retargeting

Methods 1 and 2 tell you who scanned your QR code and what they did on your site. Method 3 lets you follow up with those people after they leave.

This is the tracking method that most QR code guides skip entirely, and it's the one that directly drives revenue.

Adding a Facebook/Meta Pixel to Your QR Landing Pages

If you run Facebook or Instagram ads, you already have a Meta Pixel. Adding it to your QR code landing pages lets you:

  • Build custom audiences of people who scanned your QR codes. These are people who interacted with your brand in the physical world, which makes them high-intent prospects.
  • Create lookalike audiences based on your QR code scanners. Facebook will find other users who resemble the people who scan your codes.
  • Track conversions from QR scan to purchase across devices, even if the purchase happens days later on a different device.

The setup is straightforward:

  1. Install your Meta Pixel on the landing page your QR code points to (if it's not already there)
  2. Set up a Custom Conversion event for the key action you want to track (form submission, purchase, signup)
  3. Create a Custom Audience in Meta Ads Manager filtered to people who visited your QR landing page URL
  4. Use that audience for retargeting campaigns

A person who scanned your QR code at a physical location has already expressed interest. Retargeting them with a relevant ad within 48 hours is one of the highest-ROI ad strategies available.

Google Ads Conversion Tracking for QR Campaigns

The same principle applies to Google Ads. If your QR code landing page has a Google Ads conversion tag:

  1. Add the Google Ads global site tag and conversion snippet to your landing page
  2. Define the conversion action (purchase, lead form submission, etc.)
  3. Use UTM parameters on your QR code URL so you can attribute conversions back to specific QR placements
  4. View QR-attributed conversions in Google Ads reporting by filtering for your QR UTM values

This closes the full loop. You can calculate exact cost-per-acquisition for your QR code campaigns and compare them directly against your digital ad campaigns.

Building Retargeting Audiences From QR Scans

The most underutilized QR code tracking strategy is audience building. Every person who scans a QR code is telling you something about themselves. They're interested, they're physically near your business, and they're willing to take action.

Capture that signal by:

  • Creating a dedicated landing page URL for each QR code campaign
  • Installing both Meta and Google pixels on those pages
  • Building segmented audiences based on which QR codes people scanned
  • Running targeted follow-up campaigns within 72 hours of the scan

A restaurant that puts a QR code on its takeout bags can build an audience of recent customers and retarget them with a weekend brunch promotion. A real estate agent who puts QR codes on property signs can retarget scanners with new listings in the same neighborhood.

QR Code Tracking Best Practices

Use Consistent UTM Naming Conventions

This was covered in Method 1, but it bears repeating. Inconsistent UTM naming is the number one reason QR tracking data becomes unusable. Create a naming convention document, share it with your team, and enforce it on every campaign.

Create a Unique QR Code for Every Placement

If you put the same QR code on a flyer, a poster, and a business card, you'll see one aggregated scan count. You won't know which placement drove results. Create a separate QR code (or at minimum, a separate UTM-tagged URL) for each physical placement. The marginal cost is zero. The data clarity is enormous.

Always Test-Scan Before Printing

Scan your QR code from multiple devices before you approve the print run. Check that:

  • The code scans reliably from your intended distance
  • The destination URL loads correctly with all UTM parameters intact
  • GA4 Realtime report shows the visit with correct attribution
  • The landing page renders well on mobile (since 90%+ of QR scans come from phones)

One broken QR code on 10,000 printed pieces is an expensive mistake. Five minutes of testing prevents it.

A/B Test Designs and Destinations

Don't guess which QR code design or landing page works best. Test it. Create two versions of a QR code pointing to different landing pages (or the same page with different utm_content values). Deploy them in similar locations. Compare scan rates and conversion rates after a meaningful sample size.

Monitor Privacy Compliance

QR code tracking collects anonymized data. IP addresses determine approximate location, but they don't identify individuals by name. Standard QR tracking is privacy-compliant under most frameworks, but you should still:

  • Include QR code tracking in your website's privacy policy
  • Avoid collecting personally identifiable information through the redirect process
  • If operating in the EU, ensure your tracking disclosures comply with GDPR requirements
  • Consider adding a brief transparency note near QR codes on printed materials (e.g., "Scanning tracks anonymous usage data")

The Metrics That Matter and What They Mean

Not all QR code metrics are equally useful. Here's how to interpret the data you'll collect across all three tracking methods.

Total Scans vs. Unique Scans

Total scans count every scan event, including the same person scanning five times. Unique scans count individual devices, filtering out repeats. For campaign reach, unique scans matter more. For engagement depth (like a restaurant menu that gets scanned repeatedly by regulars), total scans tell a richer story.

Geographic Data

Country and city-level data tells you where your audience is physically located when they scan. This is especially valuable for businesses with multiple locations or regional campaigns. If your San Francisco QR codes are getting scanned in Oakland, your distribution strategy is working differently than you expected.

Device and Browser Breakdown

If 85% of your scans come from iPhones, your landing page better be flawless on Safari. Device data directly informs design and development priorities. It also reveals your audience profile, since device choice correlates with demographics.

Time-of-Day and Day-of-Week Patterns

This data tells you when people engage with your physical materials. A QR code on a bus shelter ad might peak during the morning commute. A code on a product package might peak on evenings and weekends. Use this data to time social media posts, email campaigns, and ad spend to align with your audience's real-world behavior.

Scan-to-Conversion Rate

This is the metric that justifies your QR code investment. Of the people who scanned, how many completed your desired action? If 500 people scanned and 25 signed up, your scan-to-conversion rate is 5%. Compare this against other channels to measure QR code ROI and allocate budget accordingly.

Combining All Three Methods for Complete Tracking

Each method captures different data. Used together, they give you a complete picture of QR code performance from scan to sale.

What You Learn Native Dashboard GA4 + UTM Conversion Pixels
Total and unique scan count Yes Partial (missed if page doesn't load) No
Real-time scan data Yes No (24-48hr delay) No
Scanner location Yes Yes No
Scanner device/browser Yes Yes Yes
On-page behavior (scroll, time) No Yes Partial
Conversion tracking No Yes Yes
Retargeting capability No No Yes
Cross-device attribution No Limited Yes
Setup complexity None Medium (UTM tagging) High (pixel installation)

Example Campaign Setup

Here's what a fully-tracked QR code campaign looks like in practice:

Scenario. You're a retailer launching a spring sale with QR codes on in-store posters and a mailed flyer.

  1. Create two dynamic QR codes in QR Insights. One for the in-store poster, one for the mailed flyer. Native dashboard tracking starts automatically.

  2. Build UTM-tagged URLs for each placement.

    • Poster: yoursite.com/spring-sale?utm_source=store_poster&utm_medium=qr_code&utm_campaign=spring_2026
    • Flyer: yoursite.com/spring-sale?utm_source=mailer_flyer&utm_medium=qr_code&utm_campaign=spring_2026
  3. Ensure your landing page has GA4, Meta Pixel, and Google Ads tags installed.

  4. Create custom audiences in Meta Ads Manager and Google Ads for visitors to /spring-sale.

  5. Launch the campaign. Monitor real-time scans on your QR Insights dashboard during the first few days.

  6. After 48 hours, check GA4 Traffic Acquisition reports filtered to qr_code medium. Compare poster vs. flyer performance.

  7. Within 72 hours, launch retargeting ads to people who scanned but didn't purchase.

  8. After the campaign, calculate ROI by comparing total ad spend (print + retargeting) against attributed conversions.

This three-layer approach means no scan goes untracked, no visitor goes unfollowed, and every dollar spent can be attributed to results.

FAQ

Can you track how many times a QR code has been scanned?

Yes, but only with dynamic QR codes. Dynamic QR codes route scans through a tracking server that logs every interaction. Static QR codes encode the destination directly and cannot track scan counts. Most QR code platforms with tracking show both total scans and unique scans on a real-time dashboard.

How do I track QR codes in Google Analytics 4?

Add UTM parameters to your destination URL (set utm_source to your placement name, utm_medium to qr_code, and utm_campaign to your campaign name), generate your QR code using that tagged URL, then view the data in GA4 under Reports > Acquisition > Traffic Acquisition. Allow 24-48 hours for data to appear in standard reports. Realtime reports show visits immediately.

Do QR codes track your location?

Dynamic QR codes determine the approximate geographic location of the scanner based on their IP address. This typically provides country, state/province, and city-level data. Exact GPS coordinates are not tracked. Users on VPNs will show the VPN server's location instead of their actual location.

What is the difference between total scans and unique scans?

Total scans count every scan event, including repeat scans by the same person. Unique scans count individual devices, filtering out repeat interactions. If one person scans your QR code three times, total scans shows 3 and unique scans shows 1. Unique scans better represent the number of distinct people who engaged with your QR code.

Can static QR codes be tracked?

No. Static QR codes embed the destination URL directly into the image with no redirect server involved. Since there is no intermediary to log the scan, there is no way to record analytics data. You can still use UTM parameters on a static QR code's URL to track page visits in GA4, but you won't get scan-level data like location, device, or timestamp from the QR code itself.

Is QR code tracking GDPR compliant?

Standard QR code tracking collects anonymized data (IP-based location, device type, browser) and does not identify individual users by name or email. Most platforms store IP addresses as hashed values. For full GDPR compliance, ensure your privacy policy discloses that QR code scans are tracked for analytics purposes, and provide a way for users to request data deletion if needed. Standard scan tracking does not require explicit consent under most interpretations, since it falls under legitimate interest, but consult with a legal professional for your specific situation.

See Your QR Code Analytics Dashboard

Real-time scan counts, geographic heatmaps, device breakdowns, and time-of-day patterns. No UTM setup required.

Free tier available
No credit card required
GDPR compliant
Cancel anytime

Ready to Create Your Own QR Codes?

Start tracking and analyzing your QR code performance with QR Insights