{"id":46030,"date":"2025-09-10T02:46:06","date_gmt":"2025-09-10T02:46:06","guid":{"rendered":"https:\/\/staging.pageloot.com\/uncategorized\/utm-parameters-for-qr-codes-google-analytics-tips\/"},"modified":"2026-09-29T06:18:21","modified_gmt":"2026-09-29T06:18:21","slug":"utm-parameters-for-qr-codes-google-analytics-tips","status":"publish","type":"post","link":"https:\/\/pageloot.com\/vi\/blog\/utm-parameters-for-qr-codes-google-analytics-tips\/","title":{"rendered":"C\u00e1ch th\u00eam Th\u00f4ng s\u1ed1 UTM v\u00e0o M\u00e3 QR \u0111\u1ec3 theo d\u00f5i"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Are your offline marketing campaigns disappearing into generic direct traffic in Google Analytics? Without campaign tags, smartphone scans cannot pass referral headers, making it impossible to measure physical promotion performance. Adding UTM parameters to your destination URLs solves this issue by attributing every scan to its exact campaign, medium, and source.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why QR Codes Require UTM Parameters<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">When someone scans a printed QR code with a smartphone camera, the operating system launches the default mobile browser directly. Because this interaction does not originate from a hyperlinked web page, the browser does not pass an HTTP referrer header. Web analytics platforms like Google Analytics 4 (GA4) cannot identify where the visitor originated, so they automatically categorize the session as Direct traffic.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This reporting gap makes it difficult to evaluate marketing spend across print ads, event signage, product packaging, and direct mail. Urchin Tracking Module (UTM) parameters solve this by attaching campaign tracking tags to the end of your web address.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When the destination page loads, GA4 extracts these tags and assigns the session to the designated channel. Using UTM parameters allows you to accurately <a href=\"https:\/\/pageloot.com\/vi\/how-to\/track-offline-marketing-roi-with-qr-codes\/\">track offline marketing ROI with QR codes<\/a> across individual print materials and distribution channels.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Selecting the Correct UTM Tags for Offline Campaigns<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Consistent naming conventions are critical for clean reporting. Google Analytics is case-sensitive, meaning that `Flyer`, `flyer`, and `Flyers` appear as three separate entries in your reports. Standardizing your tagging structure prevents fragmented data and simplifies your campaign analysis.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Google strongly recommends setting `utm<em>source`, `utm<\/em>medium`, and `utm_campaign` at a minimum to avoid `(not set)` values in your traffic acquisition reports.<\/p>\n\n\n\n<figure>\n<table>\n<thead>\n<tr>\n<th>Tham s\u1ed1<\/th>\n<th>M\u1ee5c \u0111\u00edch<\/th>\n<th>Recommended Convention<\/th>\n<th>Example Value<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>`utm_source`<\/td>\n<td>Identifies the specific placement, venue, or physical asset<\/td>\n<td>Placement name or material type<\/td>\n<td>`store<em>window`, `mailer<\/em>q3`<\/td>\n<\/tr>\n<tr>\n<td>`utm_medium`<\/td>\n<td>Identifies the marketing vehicle or delivery mechanism<\/td>\n<td>Standardized channel tag<\/td>\n<td>`qr` or `qr_code`<\/td>\n<\/tr>\n<tr>\n<td>`utm_campaign`<\/td>\n<td>Identifies the broader marketing initiative or product launch<\/td>\n<td>Overall campaign title<\/td>\n<td>`spring<em>launch<\/em>2026`<\/td>\n<\/tr>\n<tr>\n<td>`utm_content`<\/td>\n<td>Differentiates creative variants, sizes, or calls to action<\/td>\n<td>Creative or layout identifier<\/td>\n<td>`sidebar<em>banner`, `front<\/em>cover`<\/td>\n<\/tr>\n<tr>\n<td>`utm_term`<\/td>\n<td>Tracks specific audience segments or paid keywords<\/td>\n<td>Keyword or audience identifier<\/td>\n<td>`retargeting_event`<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">To maintain data integrity across all offline assets, follow these best practices:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Always write parameter values in lowercase letters to prevent split channel groupings.<\/li>\n<li>Replace spaces with hyphens or underscores, as spaces create encoded characters that complicate reporting.<\/li>\n<li>Standardize your medium tag across the entire organization so all scans roll up into a single channel.<\/li>\n<li>Maintain a central tracking spreadsheet or URL documentation log to avoid duplicate parameter values across team members.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">How to Build and Convert Your Trackable QR Link<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Building a trackable URL follows a strict technical syntax. The parameters sit at the end of the base URL, separated from the path by a question mark (`?`). Each parameter connects to its value with an equals sign (`=`), and multiple parameters connect with an ampersand (`&amp;`).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A properly structured campaign URL appears in this format:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">`https:\/\/example.com\/promo?utm<em>source=downtown<\/em>billboard&amp;utm<em>medium=qr&amp;utm<\/em>campaign=summer<em>sale&amp;utm<\/em>content=blue_creative`<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can assemble this link manually or use Google&#8217;s Campaign URL Builder to generate the string. Once your URL is ready, follow these steps to turn it into a production-ready marketing asset:<\/p>\n\n\n\n<figure><img decoding=\"async\" src=\"https:\/\/pageloot.com\/wp-content\/uploads\/2026\/09\/qr-workflow-10a3df-5eb4e84838ac.webp\" alt=\"UTM QR tracking workflow\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Enter your complete UTM-tagged URL into a reliable <a href=\"https:\/\/pageloot.com\/vi\/link-qr-code-generator\/\">tr\u00ecnh t\u1ea1o m\u00e3 QR li\u00ean k\u1ebft<\/a> to encode the destination.<\/li>\n<li>Ensure the base webpage is mobile-responsive and functions properly on small screens before finalizing the graphic.<\/li>\n<li>Follow established technical guidelines to <a href=\"https:\/\/pageloot.com\/vi\/how-to\/convert-link-to-qr-code\/\">chuy\u1ec3n \u0111\u1ed5i li\u00ean k\u1ebft th\u00e0nh m\u00e3 QR<\/a> graphics that maintain sufficient size and contrast for rapid mobile scanning.<\/li>\n<li>Open the generated URL on a mobile device to verify that your analytics platform captures the session in real-time.<\/li>\n<li>Check the GA4 Realtime report or DebugView to confirm that `source`, `medium`, and `campaign` parameters populate as expected before sending materials to print.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Why Dynamic QR Codes Are Essential for Analytics<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">While static codes can technically encode UTM parameters, they introduce severe physical limitations for print marketing. A static QR code stores the entire text string directly within its black-and-white module pattern. Because UTM parameters add significant length to web addresses, the resulting static code becomes extremely dense.<\/p>\n\n\n\n<figure><img decoding=\"async\" src=\"https:\/\/pageloot.com\/wp-content\/uploads\/2026\/09\/square-simple-illustration-on-white-background-with-blue-and-light-grey-accents-7246-5b39ff295427-bcd6b38cdd06.webp\" alt=\"Ph\u00e2n t\u00edch QR \u0111\u1ed9ng\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">A high-density static pattern contains thousands of tiny blocks that require high visual clarity to scan. If you print a complex static code on small assets like business cards, or if the code appears in low-light environments, smartphone cameras frequently fail to decode it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Comparing <a href=\"https:\/\/pageloot.com\/vi\/qr-code-marketing\/static-vs-dynamic-qr-codes\/\">m\u00e3 QR t\u0129nh v\u00e0 \u0111\u1ed9ng<\/a> reveals why dynamic technology is the industry standard for tracked campaigns:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Preserved Scannability: Dynamic QR codes encode a short redirect link rather than your full, tag-heavy URL. This keeps the visual pattern clean and easily readable at any print size.<\/li>\n<li>Post-Print Editing: If you spot a typo in a UTM parameter or need to change the destination landing page after printing thousands of flyers, dynamic codes allow you to edit the target URL instantly from your dashboard.<\/li>\n<li>Dual-Layer Analytics: Combining dynamic redirection with UTM tags allows you to measure both top-of-funnel scan metrics and deeper on-site web conversions.<\/li>\n<\/ul>\n\n\n\n<blockquote class=\"is-layout-flow wp-block-quote-is-layout-flow\">\n<p><strong>Theo d\u00f5i chi\u1ebfn d\u1ecbch c\u1ee7a b\u1ea1n trong th\u1eddi gian th\u1ef1c<\/strong> B\u1ea1n mu\u1ed1n bi\u1ebft ch\u00ednh x\u00e1c kh\u00e1ch h\u00e0ng c\u1ee7a m\u00ecnh \u0111ang qu\u00e9t t\u00e0i li\u1ec7u c\u1ee7a b\u1ea1n \u1edf \u0111\u00e2u v\u00e0 khi n\u00e0o? H\u00e3y s\u1eed d\u1ee5ng <a href=\"https:\/\/pageloot.com\/vi\/dynamic-qr-code-generator\/\">Tr\u00ecnh t\u1ea1o m\u00e3 QR \u0111\u1ed9ng c\u1ee7a ch\u00fang t\u00f4i<\/a> \u0111\u1ec3 t\u1ea1o m\u00e3 c\u00f3 th\u1ec3 theo d\u00f5i v\u00e0 truy c\u1eadp b\u1ea3ng \u0111i\u1ec1u khi\u1ec3n hi\u1ec7u su\u1ea5t \u0111\u1ea7y \u0111\u1ee7 ngay h\u00f4m nay.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Using dynamic routing also provides environmental insights that Google Analytics cannot capture on its own, illustrating <a href=\"https:\/\/pageloot.com\/vi\/blog\/how-qr-codes-track-print-ad-engagement\/\">c\u00e1ch m\u00e3 QR theo d\u00f5i m\u1ee9c \u0111\u1ed9 t\u01b0\u01a1ng t\u00e1c c\u1ee7a qu\u1ea3ng c\u00e1o in<\/a> at the physical point of contact.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Viewing QR Scan Data in Google Analytics 4<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Once your physical assets are distributed and users begin scanning, GA4 captures the embedded UTM parameters to populate manual campaign and traffic-source dimensions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To review incoming scan traffic in the standard acquisition reports:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Navigate to Reports in the left sidebar, expand the Acquisition folder, and select Traffic acquisition.<\/li>\n<li>Locate the primary dimension dropdown menu above the data table and switch it to Session source \/ medium.<\/li>\n<li>Type `qr` or `qr_code` into the table search bar to filter the view exclusively to your offline scan traffic.<\/li>\n<li>Add a secondary dimension by clicking the plus icon (`+`) next to the search bar and selecting Session campaign to see performance by individual initiative.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">To view manual campaign dimensions in a consolidated report:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Navigate to Reports, expand Acquisition, and select Overview.<\/li>\n<li>Scroll down to the Sessions by Session manual source card and click View manual campaigns.<\/li>\n<li>Review campaign volume, engagement rates, average session duration, and goal completions tied directly to your offline collateral.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Combining web analytics with specialized software for <a href=\"https:\/\/pageloot.com\/vi\/qr-code-marketing\/tracking-qr-codes\/\">theo d\u00f5i m\u00e3 QR<\/a> gives you a complete view of campaign performance. While GA4 records post-scan behavior like pageviews, time on site, and e-commerce purchases, your QR dashboard captures raw scan counts, device operating systems, and scan timestamps directly at the physical touchpoint.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Connecting Scan Data to Campaign Conversions<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Tracking scan volume shows customer curiosity, but measuring campaign return on investment requires connecting top-of-funnel scans to concrete bottom-of-funnel actions. When you configure key events in GA4 \u2013 such as lead form submissions, account registrations, or completed checkouts \u2013 the platform attributes those digital conversions back to your original offline UTM tags.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">By pairing structured UTM tagging with dynamic QR code technology, you transform static print assets into measurable digital acquisition channels. Establishing clear naming standards, validating URLs before printing, and monitoring traffic through GA4 reports ensures every dollar invested in physical marketing is fully accountable.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">C\u00e1c c\u00e2u h\u1ecfi th\u01b0\u1eddng g\u1eb7p<\/h2>\n\n\n\n<div class=\"schema-faq\"><div class=\"schema-faq-section\" id=\"faq-question-bfc3126346b6\"><strong class=\"schema-faq-question\">Will long UTM parameters make my QR code hard to scan?<\/strong> <p class=\"schema-faq-answer\">Long URLs create dense patterns when encoded into static QR codes, which can cause scanning delays or failures on smaller print items. Using a dynamic QR code solves this by storing a short redirect link in the code matrix, keeping the pattern clean and scannable while routing visitors through your complete UTM URL.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-055c9c506ede\"><strong class=\"schema-faq-question\">Why does QR code traffic appear as Unassigned or Direct in GA4?<\/strong> <p class=\"schema-faq-answer\">Scans appear as Direct when the destination URL lacks UTM parameters, because mobile camera apps do not pass referral headers to web browsers. Traffic appears as Unassigned if you use non-standard medium values that do not match default channel grouping rules in GA4, which you can resolve by using a consistent medium such as `qr` or `qr_code`.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-fcfeb961e58e\"><strong class=\"schema-faq-question\">Can I change the UTM parameters after printing my QR code?<\/strong> <p class=\"schema-faq-answer\">You can only change UTM parameters after printing if you use a dynamic QR code. Dynamic codes point to a backend redirect that you can edit anytime in your dashboard, whereas static QR codes hardcode the URL permanently into the visual pattern and require a full reprint to update.<\/p> <\/div> <\/div>","protected":false},"excerpt":{"rendered":"<p>Learn how to add UTM parameters to QR codes to track offline marketing campaigns in Google Analytics 4 and accurately measure scan performance and ROI.<\/p>","protected":false},"author":17,"featured_media":56350,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[2635],"tags":[],"class_list":["post-46030","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.7 (Yoast SEO v28.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>How to Add UTM Parameters to QR Codes for Tracking<\/title>\n<meta name=\"description\" content=\"Learn how to add UTM parameters to QR codes to track offline marketing in Google Analytics. Improve attribution, use dynamic QR codes, and monitor data in GA4.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/pageloot.com\/vi\/blog\/utm-parameters-for-qr-codes-google-analytics-tips\/\" \/>\n<meta property=\"og:locale\" content=\"vi_VN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Add UTM Parameters to QR Codes for Tracking\" \/>\n<meta property=\"og:description\" content=\"Learn how to add UTM parameters to QR codes to track offline marketing in Google Analytics. Improve attribution, use dynamic QR codes, and monitor data in GA4.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/pageloot.com\/vi\/blog\/utm-parameters-for-qr-codes-google-analytics-tips\/\" \/>\n<meta property=\"og:site_name\" content=\"Pageloot\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/pageloot\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-10T02:46:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-29T06:18:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/pageloot.com\/wp-content\/uploads\/2026\/03\/photorealistic-lifestyle-marketing-scene-a-modern-marketer-in-a-bright-office-r-9446-5b437ca359f1.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1408\" \/>\n\t<meta property=\"og:image:height\" content=\"768\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Siim T\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@getpageloot\" \/>\n<meta name=\"twitter:site\" content=\"@getpageloot\" \/>\n<meta name=\"twitter:label1\" content=\"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi\" \/>\n\t<meta name=\"twitter:data1\" content=\"Siim T\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 ph\u00fat\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/pageloot.com\\\/blog\\\/utm-parameters-for-qr-codes-google-analytics-tips\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/pageloot.com\\\/blog\\\/utm-parameters-for-qr-codes-google-analytics-tips\\\/\"},\"author\":{\"name\":\"Siim T\",\"@id\":\"https:\\\/\\\/pageloot.com\\\/es\\\/#\\\/schema\\\/person\\\/fa28992c2e52546f0812833bac852dfe\"},\"headline\":\"How to Add UTM Parameters to QR Codes for Tracking\",\"datePublished\":\"2025-09-10T02:46:06+00:00\",\"dateModified\":\"2026-09-29T06:18:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/pageloot.com\\\/blog\\\/utm-parameters-for-qr-codes-google-analytics-tips\\\/\"},\"wordCount\":1415,\"publisher\":{\"@id\":\"https:\\\/\\\/pageloot.com\\\/es\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/pageloot.com\\\/blog\\\/utm-parameters-for-qr-codes-google-analytics-tips\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/pageloot.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/marketer-scanning-qr-44c08f-df5cd47a6f93.webp\",\"articleSection\":[\"Blog\"],\"inLanguage\":\"vi\"},{\"@type\":[\"WebPage\",\"FAQPage\"],\"@id\":\"https:\\\/\\\/pageloot.com\\\/blog\\\/utm-parameters-for-qr-codes-google-analytics-tips\\\/\",\"url\":\"https:\\\/\\\/pageloot.com\\\/blog\\\/utm-parameters-for-qr-codes-google-analytics-tips\\\/\",\"name\":\"How to Add UTM Parameters to QR Codes for Tracking\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/pageloot.com\\\/es\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/pageloot.com\\\/blog\\\/utm-parameters-for-qr-codes-google-analytics-tips\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/pageloot.com\\\/blog\\\/utm-parameters-for-qr-codes-google-analytics-tips\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/pageloot.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/marketer-scanning-qr-44c08f-df5cd47a6f93.webp\",\"datePublished\":\"2025-09-10T02:46:06+00:00\",\"dateModified\":\"2026-09-29T06:18:21+00:00\",\"description\":\"Learn how to add UTM parameters to QR codes to track offline marketing in Google Analytics. Improve attribution, use dynamic QR codes, and monitor data in GA4.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/pageloot.com\\\/blog\\\/utm-parameters-for-qr-codes-google-analytics-tips\\\/#breadcrumb\"},\"mainEntity\":[{\"@id\":\"https:\\\/\\\/pageloot.com\\\/blog\\\/utm-parameters-for-qr-codes-google-analytics-tips\\\/#faq-question-bfc3126346b6\"},{\"@id\":\"https:\\\/\\\/pageloot.com\\\/blog\\\/utm-parameters-for-qr-codes-google-analytics-tips\\\/#faq-question-055c9c506ede\"},{\"@id\":\"https:\\\/\\\/pageloot.com\\\/blog\\\/utm-parameters-for-qr-codes-google-analytics-tips\\\/#faq-question-fcfeb961e58e\"}],\"inLanguage\":\"vi\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/pageloot.com\\\/blog\\\/utm-parameters-for-qr-codes-google-analytics-tips\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\\\/\\\/pageloot.com\\\/blog\\\/utm-parameters-for-qr-codes-google-analytics-tips\\\/#primaryimage\",\"url\":\"https:\\\/\\\/pageloot.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/marketer-scanning-qr-44c08f-df5cd47a6f93.webp\",\"contentUrl\":\"https:\\\/\\\/pageloot.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/marketer-scanning-qr-44c08f-df5cd47a6f93.webp\",\"width\":1024,\"height\":1024,\"caption\":\"Marketer scanning campaign poster\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/pageloot.com\\\/blog\\\/utm-parameters-for-qr-codes-google-analytics-tips\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/pageloot.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Blog\",\"item\":\"https:\\\/\\\/pageloot.com\\\/c\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"How to Add UTM Parameters to QR Codes for Tracking\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/pageloot.com\\\/es\\\/#website\",\"url\":\"https:\\\/\\\/pageloot.com\\\/es\\\/\",\"name\":\"Pageloot\",\"description\":\"Create Free QR Codes Online\",\"publisher\":{\"@id\":\"https:\\\/\\\/pageloot.com\\\/es\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/pageloot.com\\\/es\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"vi\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/pageloot.com\\\/es\\\/#organization\",\"name\":\"Pageloot\",\"url\":\"https:\\\/\\\/pageloot.com\\\/es\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\\\/\\\/pageloot.com\\\/es\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/pageloot.com\\\/wp-content\\\/uploads\\\/2020\\\/03\\\/Pageloot-QR-Code-Generator-Scanner-Tools-Online.svg\",\"contentUrl\":\"https:\\\/\\\/pageloot.com\\\/wp-content\\\/uploads\\\/2020\\\/03\\\/Pageloot-QR-Code-Generator-Scanner-Tools-Online.svg\",\"width\":1,\"height\":1,\"caption\":\"Pageloot\"},\"image\":{\"@id\":\"https:\\\/\\\/pageloot.com\\\/es\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/pageloot\\\/\",\"https:\\\/\\\/x.com\\\/getpageloot\",\"https:\\\/\\\/www.instagram.com\\\/getpageloot\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/pageloot\\\/\",\"http:\\\/\\\/pinterest.com\\\/pageloot\",\"https:\\\/\\\/www.youtube.com\\\/pageloot\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/pageloot.com\\\/es\\\/#\\\/schema\\\/person\\\/fa28992c2e52546f0812833bac852dfe\",\"name\":\"Siim T\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\\\/\\\/pageloot.com\\\/wp-content\\\/litespeed\\\/avatar\\\/b08b5ea4331bae7b2040ada99100c9df.jpg?ver=1790711964\",\"url\":\"https:\\\/\\\/pageloot.com\\\/wp-content\\\/litespeed\\\/avatar\\\/b08b5ea4331bae7b2040ada99100c9df.jpg?ver=1790711964\",\"contentUrl\":\"https:\\\/\\\/pageloot.com\\\/wp-content\\\/litespeed\\\/avatar\\\/b08b5ea4331bae7b2040ada99100c9df.jpg?ver=1790711964\",\"caption\":\"Siim T\"},\"description\":\"Siim Tiigim\u00e4gi is a part of the innovative QR code generator services at Pageloot. With a profound expertise spanning over 5 years solely on QR codes, Siim has become a subject matter expert in the field. He makes significant strides in leveraging QR technology to simplify and augment digital interactions. His journey didn\u2019t just start here. Siim has an extensive digital background with over 10 years of robust experience in the Software as a Service (SaaS) sector, a testament to his deep-seated knowledge in digital solutions.\",\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/siim-tiigimagi\\\/\"]},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/pageloot.com\\\/blog\\\/utm-parameters-for-qr-codes-google-analytics-tips\\\/#faq-question-bfc3126346b6\",\"position\":1,\"url\":\"https:\\\/\\\/pageloot.com\\\/blog\\\/utm-parameters-for-qr-codes-google-analytics-tips\\\/#faq-question-bfc3126346b6\",\"name\":\"Will long UTM parameters make my QR code hard to scan?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Long URLs create dense patterns when encoded into static QR codes, which can cause scanning delays or failures on smaller print items. Using a dynamic QR code solves this by storing a short redirect link in the code matrix, keeping the pattern clean and scannable while routing visitors through your complete UTM URL.\",\"inLanguage\":\"vi\"},\"inLanguage\":\"vi\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/pageloot.com\\\/blog\\\/utm-parameters-for-qr-codes-google-analytics-tips\\\/#faq-question-055c9c506ede\",\"position\":2,\"url\":\"https:\\\/\\\/pageloot.com\\\/blog\\\/utm-parameters-for-qr-codes-google-analytics-tips\\\/#faq-question-055c9c506ede\",\"name\":\"Why does QR code traffic appear as Unassigned or Direct in GA4?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Scans appear as Direct when the destination URL lacks UTM parameters, because mobile camera apps do not pass referral headers to web browsers. Traffic appears as Unassigned if you use non-standard medium values that do not match default channel grouping rules in GA4, which you can resolve by using a consistent medium such as `qr` or `qr_code`.\",\"inLanguage\":\"vi\"},\"inLanguage\":\"vi\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/pageloot.com\\\/blog\\\/utm-parameters-for-qr-codes-google-analytics-tips\\\/#faq-question-fcfeb961e58e\",\"position\":3,\"url\":\"https:\\\/\\\/pageloot.com\\\/blog\\\/utm-parameters-for-qr-codes-google-analytics-tips\\\/#faq-question-fcfeb961e58e\",\"name\":\"Can I change the UTM parameters after printing my QR code?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"You can only change UTM parameters after printing if you use a dynamic QR code. Dynamic codes point to a backend redirect that you can edit anytime in your dashboard, whereas static QR codes hardcode the URL permanently into the visual pattern and require a full reprint to update.\",\"inLanguage\":\"vi\"},\"inLanguage\":\"vi\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"C\u00e1ch th\u00eam Th\u00f4ng s\u1ed1 UTM v\u00e0o M\u00e3 QR \u0111\u1ec3 theo d\u00f5i","description":"H\u1ecdc c\u00e1ch th\u00eam th\u00f4ng s\u1ed1 UTM v\u00e0o m\u00e3 QR \u0111\u1ec3 theo d\u00f5i ti\u1ebfp th\u1ecb ngo\u1ea1i tuy\u1ebfn trong Google Analytics. C\u1ea3i thi\u1ec7n ph\u00e2n b\u1ed5, s\u1eed d\u1ee5ng m\u00e3 QR \u0111\u1ed9ng v\u00e0 theo d\u00f5i d\u1eef li\u1ec7u trong GA4.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/pageloot.com\/vi\/blog\/utm-parameters-for-qr-codes-google-analytics-tips\/","og_locale":"vi_VN","og_type":"article","og_title":"How to Add UTM Parameters to QR Codes for Tracking","og_description":"Learn how to add UTM parameters to QR codes to track offline marketing in Google Analytics. Improve attribution, use dynamic QR codes, and monitor data in GA4.","og_url":"https:\/\/pageloot.com\/vi\/blog\/utm-parameters-for-qr-codes-google-analytics-tips\/","og_site_name":"Pageloot","article_publisher":"https:\/\/www.facebook.com\/pageloot\/","article_published_time":"2025-09-10T02:46:06+00:00","article_modified_time":"2026-09-29T06:18:21+00:00","og_image":[{"width":1408,"height":768,"url":"https:\/\/pageloot.com\/wp-content\/uploads\/2026\/03\/photorealistic-lifestyle-marketing-scene-a-modern-marketer-in-a-bright-office-r-9446-5b437ca359f1.webp","type":"image\/webp"}],"author":"Siim T","twitter_card":"summary_large_image","twitter_creator":"@getpageloot","twitter_site":"@getpageloot","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Siim T","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"5 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/pageloot.com\/blog\/utm-parameters-for-qr-codes-google-analytics-tips\/#article","isPartOf":{"@id":"https:\/\/pageloot.com\/blog\/utm-parameters-for-qr-codes-google-analytics-tips\/"},"author":{"name":"Siim T","@id":"https:\/\/pageloot.com\/es\/#\/schema\/person\/fa28992c2e52546f0812833bac852dfe"},"headline":"How to Add UTM Parameters to QR Codes for Tracking","datePublished":"2025-09-10T02:46:06+00:00","dateModified":"2026-09-29T06:18:21+00:00","mainEntityOfPage":{"@id":"https:\/\/pageloot.com\/blog\/utm-parameters-for-qr-codes-google-analytics-tips\/"},"wordCount":1415,"publisher":{"@id":"https:\/\/pageloot.com\/es\/#organization"},"image":{"@id":"https:\/\/pageloot.com\/blog\/utm-parameters-for-qr-codes-google-analytics-tips\/#primaryimage"},"thumbnailUrl":"https:\/\/pageloot.com\/wp-content\/uploads\/2026\/09\/marketer-scanning-qr-44c08f-df5cd47a6f93.webp","articleSection":["Blog"],"inLanguage":"vi"},{"@type":["WebPage","FAQPage"],"@id":"https:\/\/pageloot.com\/blog\/utm-parameters-for-qr-codes-google-analytics-tips\/","url":"https:\/\/pageloot.com\/blog\/utm-parameters-for-qr-codes-google-analytics-tips\/","name":"C\u00e1ch th\u00eam Th\u00f4ng s\u1ed1 UTM v\u00e0o M\u00e3 QR \u0111\u1ec3 theo d\u00f5i","isPartOf":{"@id":"https:\/\/pageloot.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/pageloot.com\/blog\/utm-parameters-for-qr-codes-google-analytics-tips\/#primaryimage"},"image":{"@id":"https:\/\/pageloot.com\/blog\/utm-parameters-for-qr-codes-google-analytics-tips\/#primaryimage"},"thumbnailUrl":"https:\/\/pageloot.com\/wp-content\/uploads\/2026\/09\/marketer-scanning-qr-44c08f-df5cd47a6f93.webp","datePublished":"2025-09-10T02:46:06+00:00","dateModified":"2026-09-29T06:18:21+00:00","description":"H\u1ecdc c\u00e1ch th\u00eam th\u00f4ng s\u1ed1 UTM v\u00e0o m\u00e3 QR \u0111\u1ec3 theo d\u00f5i ti\u1ebfp th\u1ecb ngo\u1ea1i tuy\u1ebfn trong Google Analytics. C\u1ea3i thi\u1ec7n ph\u00e2n b\u1ed5, s\u1eed d\u1ee5ng m\u00e3 QR \u0111\u1ed9ng v\u00e0 theo d\u00f5i d\u1eef li\u1ec7u trong GA4.","breadcrumb":{"@id":"https:\/\/pageloot.com\/blog\/utm-parameters-for-qr-codes-google-analytics-tips\/#breadcrumb"},"mainEntity":[{"@id":"https:\/\/pageloot.com\/blog\/utm-parameters-for-qr-codes-google-analytics-tips\/#faq-question-bfc3126346b6"},{"@id":"https:\/\/pageloot.com\/blog\/utm-parameters-for-qr-codes-google-analytics-tips\/#faq-question-055c9c506ede"},{"@id":"https:\/\/pageloot.com\/blog\/utm-parameters-for-qr-codes-google-analytics-tips\/#faq-question-fcfeb961e58e"}],"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/pageloot.com\/blog\/utm-parameters-for-qr-codes-google-analytics-tips\/"]}]},{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/pageloot.com\/blog\/utm-parameters-for-qr-codes-google-analytics-tips\/#primaryimage","url":"https:\/\/pageloot.com\/wp-content\/uploads\/2026\/09\/marketer-scanning-qr-44c08f-df5cd47a6f93.webp","contentUrl":"https:\/\/pageloot.com\/wp-content\/uploads\/2026\/09\/marketer-scanning-qr-44c08f-df5cd47a6f93.webp","width":1024,"height":1024,"caption":"Marketer scanning campaign poster"},{"@type":"BreadcrumbList","@id":"https:\/\/pageloot.com\/blog\/utm-parameters-for-qr-codes-google-analytics-tips\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/pageloot.com\/"},{"@type":"ListItem","position":2,"name":"Blog","item":"https:\/\/pageloot.com\/c\/blog\/"},{"@type":"ListItem","position":3,"name":"How to Add UTM Parameters to QR Codes for Tracking"}]},{"@type":"WebSite","@id":"https:\/\/pageloot.com\/es\/#website","url":"https:\/\/pageloot.com\/es\/","name":"Pageloot","description":"T\u1ea1o m\u00e3 QR mi\u1ec5n ph\u00ed tr\u1ef1c tuy\u1ebfn","publisher":{"@id":"https:\/\/pageloot.com\/es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/pageloot.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"vi"},{"@type":"Organization","@id":"https:\/\/pageloot.com\/es\/#organization","name":"Pageloot","url":"https:\/\/pageloot.com\/es\/","logo":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/pageloot.com\/es\/#\/schema\/logo\/image\/","url":"https:\/\/pageloot.com\/wp-content\/uploads\/2020\/03\/Pageloot-QR-Code-Generator-Scanner-Tools-Online.svg","contentUrl":"https:\/\/pageloot.com\/wp-content\/uploads\/2020\/03\/Pageloot-QR-Code-Generator-Scanner-Tools-Online.svg","width":1,"height":1,"caption":"Pageloot"},"image":{"@id":"https:\/\/pageloot.com\/es\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/pageloot\/","https:\/\/x.com\/getpageloot","https:\/\/www.instagram.com\/getpageloot\/","https:\/\/www.linkedin.com\/company\/pageloot\/","http:\/\/pinterest.com\/pageloot","https:\/\/www.youtube.com\/pageloot"]},{"@type":"Person","@id":"https:\/\/pageloot.com\/es\/#\/schema\/person\/fa28992c2e52546f0812833bac852dfe","name":"Siim T","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/pageloot.com\/wp-content\/litespeed\/avatar\/b08b5ea4331bae7b2040ada99100c9df.jpg?ver=1790711964","url":"https:\/\/pageloot.com\/wp-content\/litespeed\/avatar\/b08b5ea4331bae7b2040ada99100c9df.jpg?ver=1790711964","contentUrl":"https:\/\/pageloot.com\/wp-content\/litespeed\/avatar\/b08b5ea4331bae7b2040ada99100c9df.jpg?ver=1790711964","caption":"Siim T"},"description":"Siim Tiigim\u00e4gi l\u00e0 m\u1ed9t ph\u1ea7n c\u1ee7a d\u1ecbch v\u1ee5 t\u1ea1o m\u00e3 QR s\u00e1ng t\u1ea1o t\u1ea1i Pageloot. V\u1edbi chuy\u00ean m\u00f4n s\u00e2u s\u1eafc k\u00e9o d\u00e0i h\u01a1n 5 n\u0103m ch\u1ec9 v\u1ec1 m\u00e3 QR, Siim \u0111\u00e3 tr\u1edf th\u00e0nh m\u1ed9t chuy\u00ean gia v\u1ec1 ch\u1ee7 \u0111\u1ec1 n\u00e0y trong l\u0129nh v\u1ef1c n\u00e0y. Anh \u1ea5y \u0111\u00e3 c\u00f3 nh\u1eefng b\u01b0\u1edbc ti\u1ebfn \u0111\u00e1ng k\u1ec3 trong vi\u1ec7c t\u1eadn d\u1ee5ng c\u00f4ng ngh\u1ec7 QR \u0111\u1ec3 \u0111\u01a1n gi\u1ea3n h\u00f3a v\u00e0 t\u0103ng c\u01b0\u1eddng c\u00e1c t\u01b0\u01a1ng t\u00e1c k\u1ef9 thu\u1eadt s\u1ed1. Cu\u1ed9c h\u00e0nh tr\u00ecnh c\u1ee7a anh kh\u00f4ng ch\u1ec9 b\u1eaft \u0111\u1ea7u \u1edf \u0111\u00e2y. Siim c\u00f3 n\u1ec1n t\u1ea3ng k\u1ef9 thu\u1eadt s\u1ed1 s\u00e2u r\u1ed9ng v\u1edbi h\u01a1n 10 n\u0103m kinh nghi\u1ec7m v\u1eefng ch\u1eafc trong l\u0129nh v\u1ef1c Ph\u1ea7n m\u1ec1m d\u01b0\u1edbi d\u1ea1ng d\u1ecbch v\u1ee5 (SaaS), m\u1ed9t minh ch\u1ee9ng cho ki\u1ebfn th\u1ee9c s\u00e2u r\u1ed9ng c\u1ee7a \u00f4ng v\u1ec1 c\u00e1c gi\u1ea3i ph\u00e1p k\u1ef9 thu\u1eadt s\u1ed1.","sameAs":["https:\/\/www.linkedin.com\/in\/siim-tiigimagi\/"]},{"@type":"Question","@id":"https:\/\/pageloot.com\/blog\/utm-parameters-for-qr-codes-google-analytics-tips\/#faq-question-bfc3126346b6","position":1,"url":"https:\/\/pageloot.com\/blog\/utm-parameters-for-qr-codes-google-analytics-tips\/#faq-question-bfc3126346b6","name":"Will long UTM parameters make my QR code hard to scan?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Long URLs create dense patterns when encoded into static QR codes, which can cause scanning delays or failures on smaller print items. Using a dynamic QR code solves this by storing a short redirect link in the code matrix, keeping the pattern clean and scannable while routing visitors through your complete UTM URL.","inLanguage":"vi"},"inLanguage":"vi"},{"@type":"Question","@id":"https:\/\/pageloot.com\/blog\/utm-parameters-for-qr-codes-google-analytics-tips\/#faq-question-055c9c506ede","position":2,"url":"https:\/\/pageloot.com\/blog\/utm-parameters-for-qr-codes-google-analytics-tips\/#faq-question-055c9c506ede","name":"Why does QR code traffic appear as Unassigned or Direct in GA4?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Scans appear as Direct when the destination URL lacks UTM parameters, because mobile camera apps do not pass referral headers to web browsers. Traffic appears as Unassigned if you use non-standard medium values that do not match default channel grouping rules in GA4, which you can resolve by using a consistent medium such as `qr` or `qr_code`.","inLanguage":"vi"},"inLanguage":"vi"},{"@type":"Question","@id":"https:\/\/pageloot.com\/blog\/utm-parameters-for-qr-codes-google-analytics-tips\/#faq-question-fcfeb961e58e","position":3,"url":"https:\/\/pageloot.com\/blog\/utm-parameters-for-qr-codes-google-analytics-tips\/#faq-question-fcfeb961e58e","name":"Can I change the UTM parameters after printing my QR code?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"You can only change UTM parameters after printing if you use a dynamic QR code. Dynamic codes point to a backend redirect that you can edit anytime in your dashboard, whereas static QR codes hardcode the URL permanently into the visual pattern and require a full reprint to update.","inLanguage":"vi"},"inLanguage":"vi"}]}},"_links":{"self":[{"href":"https:\/\/pageloot.com\/vi\/wp-json\/wp\/v2\/posts\/46030","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pageloot.com\/vi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pageloot.com\/vi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pageloot.com\/vi\/wp-json\/wp\/v2\/users\/17"}],"replies":[{"embeddable":true,"href":"https:\/\/pageloot.com\/vi\/wp-json\/wp\/v2\/comments?post=46030"}],"version-history":[{"count":10,"href":"https:\/\/pageloot.com\/vi\/wp-json\/wp\/v2\/posts\/46030\/revisions"}],"predecessor-version":[{"id":56707,"href":"https:\/\/pageloot.com\/vi\/wp-json\/wp\/v2\/posts\/46030\/revisions\/56707"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/pageloot.com\/vi\/wp-json\/wp\/v2\/media\/56350"}],"wp:attachment":[{"href":"https:\/\/pageloot.com\/vi\/wp-json\/wp\/v2\/media?parent=46030"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pageloot.com\/vi\/wp-json\/wp\/v2\/categories?post=46030"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pageloot.com\/vi\/wp-json\/wp\/v2\/tags?post=46030"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}