GA4 Integration

QR code analytics
with Google Analytics

Track every QR code scan in Google Analytics 4 using UTM parameters. Measure print campaign ROI, compare placements, and connect scans to real conversions — no extra tools required.

UTM builder built-in · GA4 compatible · Works with any QR type

⚠️

Without UTM parameters, GA4 can't distinguish QR scans from direct traffic

When someone scans a plain QR code URL, Google Analytics records it as a "direct" session — the same bucket as people who type your URL manually. Adding UTM parameters is the only reliable way to identify and measure your QR code traffic in Google Analytics.

UTM parameters

The 5 UTM parameters for QR codes

UTM parameters are query string tags appended to your URL. GA4 reads them automatically and attributes traffic accordingly.

utm_source

Identifies which channel generated the scan

utm_source=flyer
utm_medium

The type of marketing medium

utm_medium=print
utm_campaign

The specific campaign or promotion name

utm_campaign=summer_sale
utm_content

Differentiates placements within a campaign

utm_content=store_window
utm_term

Identifies a specific keyword or variation

utm_term=menu_v2
Examples

UTM URL examples by scenario

📌 Restaurant table tent

https://yoursite.com/menu?utm_source=table_tent&utm_medium=print&utm_campaign=q4_launch
utm_source=table_tentutm_medium=printutm_campaign=q4_launch

📌 Trade show banner

https://yoursite.com/demo?utm_source=trade_show&utm_medium=banner&utm_campaign=ces_2025&utm_content=booth_42
utm_source=trade_showutm_medium=bannerutm_campaign=ces_2025utm_content=booth_42

📌 Product packaging

https://yoursite.com/register?utm_source=packaging&utm_medium=qr_code&utm_campaign=product_launch
utm_source=packagingutm_medium=qr_codeutm_campaign=product_launch
GA4 reports

4 GA4 reports to monitor QR performance

Once UTM parameters are in place, these are the GA4 reports that give you the clearest picture of QR campaign performance.

Campaign report

Reports → Acquisition → Traffic Acquisition

Filter by Session campaign to compare scan volumes across all your UTM-tagged QR campaigns side-by-side.

Source / medium report

Explore → Blank → Add dimension: Session source/medium

See total users, sessions, engagement rate, and conversions grouped by utm_source and utm_medium.

Content comparison

Reports → Acquisition → Traffic Acquisition → Session content

Compare utm_content values to rank placements within a single campaign — which store location scanned the most?

Conversion tracking

Conversions → Goals → Filter by campaign

Combine scan attribution with your GA4 conversion goals to measure the full ROI of each QR placement.

Setup guide

Track QR scans in Google Analytics in 5 steps

1

Build your UTM URL

Use Google's Campaign URL Builder or QR Maker's built-in UTM tool to append utm_source, utm_medium, and utm_campaign to your destination URL.

2

Create a QR code for the UTM URL

Paste the UTM-tagged URL into QR Maker. The full URL — including all parameters — is encoded into the QR code.

3

Deploy and scan

Print and place your QR code. When someone scans it, they land on your UTM URL and GA4 records the session with all campaign parameters.

4

Open GA4 Traffic Acquisition report

Go to Reports → Acquisition → Traffic Acquisition. Filter by Session source, medium, or campaign to see QR scan data.

5

Build a custom Exploration

Create a free-form Exploration in GA4 with QR campaign dimensions, engagement rate, and conversion metrics for a dedicated QR analytics view.

Comparison

QR Maker analytics vs. Google Analytics

Use both together for the full picture.

CapabilityQR MakerGoogle Analytics 4
Total scan count
Unique scan count
Device & OS breakdown
Country & city location
Pre-landing scan data
Post-landing behavior
Conversion tracking
Session engagement rate
UTM campaign attribution
Requires no code change
Custom dashboards
FAQ

QR code + Google Analytics questions

Does Google Analytics automatically track QR code scans?
Not automatically. When someone scans a QR code that links to a plain URL (without UTM parameters), Google Analytics records the session as direct traffic — indistinguishable from someone typing the URL manually. Adding UTM parameters to your QR destination URL is the only way to correctly attribute scans in GA4.
What is the correct utm_medium for QR codes?
The most common convention is utm_medium=qr_code or utm_medium=print. Use print if your QR codes appear on physical materials (flyers, packaging, signage). Use qr_code if you want to filter across all QR traffic specifically. Choose one convention and apply it consistently across all your QR campaigns.
Can I use both QR Maker analytics and Google Analytics?
Yes, and it is recommended. QR Maker analytics captures device type, location, and scan counts at the QR level — even before the user lands on your page. GA4 captures everything after the landing, including page engagement, scroll depth, and conversions. Together they give you the full funnel from scan to conversion.
Do UTM parameters break the QR code?
No. UTM parameters are standard URL query strings — they are valid, encodable URL characters. The resulting URL is longer, which slightly increases QR code density, but has no effect on scan reliability at normal print sizes.
Should I use a URL shortener with UTM parameters?
When using QR Maker dynamic QR codes, you do not need a separate URL shortener — the redirect is already handled. If you are using static QR codes with very long UTM URLs, running them through a shortener reduces the QR code complexity and makes it easier to print at smaller sizes.
Can I track QR code conversions in Google Analytics?
Yes. Once scans are attributed via UTM parameters, any GA4 conversion event (form submission, purchase, sign-up) recorded in that session will be attributed to the QR campaign. Go to Conversions in GA4, filter by Session campaign, and you will see which QR placements drove real business outcomes.

The complete guide to QR code analytics with Google Analytics 4

Print marketing has always suffered from a measurement gap — you spend on flyers, signage, and packaging, but you have no clear way to know what drove someone to your website or store. QR codes close this gap entirely when combined with UTM parameters and GA4.

Why "direct" traffic in GA4 hides QR scans

When a user scans a QR code and lands on your website, their browser does not send an HTTP Referrer header — because there is no previous web page that referred them. GA4 categorises this as "direct / none". Depending on your overall traffic mix, QR scans can inflate your direct traffic by 10–40% without you knowing, masking the true performance of your other channels.

Setting up a QR-only GA4 exploration

In GA4, go to Explore → Blank → add the dimension "Session medium" and filter for "print" or "qr_code" (whichever utm_medium you use). Add metrics: Sessions, Active Users, Engagement Rate, and Conversions. Save this as a named exploration and bookmark it — this becomes your QR campaign dashboard, updated in real time as scans come in.

Naming conventions that scale

Establish a naming convention before your first campaign and stick to it. Inconsistent tagging (flyer vs. Flyer vs. print-flyer) splits your data across multiple rows in GA4 and makes comparison impossible. A simple convention: utm_source=[placement], utm_medium=print, utm_campaign=[campaign_name_underscored].