Set Up QR Codes for a Campaign

Beginner 10 min 3 steps

The problem

You need scannable QR codes for your campaign materials — but a QR code that just points to your homepage is untracked and unmeasurable. This workflow creates fully attributed, print-ready QR codes and confirms your landing page looks correct in search and social sharing previews before anything goes to print.

What you'll accomplish

A UTM-tagged URL that attributes every QR scan to the right campaign in analytics
A print-ready SVG and digital PNG QR code tested across multiple scanner apps
A verified SERP snippet confirming your title and description aren't truncated

Tools in this workflow

Follow this workflow in sequence to move from question to decision without losing context.

Step-by-step

1

Build a UTM-tagged campaign URL for the landing page

Every QR code scan should be attributable in your analytics — the scan is a traffic event just like a click, and without UTM parameters it appears as 'direct' traffic with no source information. Use the UTM Builder to create a URL with utm_source (e.g., qr-code, print-flyer, event-poster), utm_medium (e.g., offline, print, event), and utm_campaign (your campaign name). Add utm_content to differentiate between QR codes used on different materials — for example, utm_content=business-card vs utm_content=banner lets you see which physical placement drove more scans. Keep the campaign name consistent across all your assets so reports aggregate correctly.

Tip: Use lowercase with hyphens in all UTM values (utm_source=print-flyer not Print Flyer) — inconsistent capitalisation splits what should be one traffic source into multiple rows in GA4.

2

Generate a high-resolution QR code embedding your tracked URL

Paste the complete UTM-tagged URL from Step 1 into the QR Code Generator and export in two formats. SVG (Scalable Vector Graphics) for print: SVG scales to any size without pixelation — it will be crisp at 5cm on a business card or 50cm on a banner. PNG for digital use: screens render PNG well and most social media platforms and email clients accept PNG. Set adequate error correction (Level Q or H) so the QR code remains scannable if up to 25–30% of it is covered by a logo or design element. Test the QR code with at least three different scanner apps — iOS native camera, Google Lens, and a third-party QR app — on both iOS and Android before sending files to the printer. Minimum recommended size for reliable scanning: 2cm × 2cm.

Tip: Add a short human-readable URL below the QR code (e.g., your-site.com/promo) so people can type it if scanning fails — but encode the full UTM URL inside the code itself.

3

Preview how your landing page appears in Google search results

Before launching, use the Google SERP Simulator to preview how your landing page's title and meta description appear in Google search results. This matters even for a campaign page that's primarily driven by paid traffic or QR scans, because: (a) Google may index it, (b) people who scan the QR and then search for the brand will see this snippet, and (c) the meta description is what shows up in link previews when people share the URL on WhatsApp and social media. Check that your title is under 60 characters so it doesn't get truncated, and that your meta description is under 155 characters and clearly communicates your campaign offer. If you see truncation in the preview, shorten the title or description in your page's metadata before publishing.

Tip: The og:title and og:description tags control social sharing previews (WhatsApp, Twitter, LinkedIn) — they're separate from your SEO title and description. Make sure both are set correctly for a campaign page.

Why this workflow works

The UTM step must come before QR generation because the QR code encodes the final URL — if you change the UTM parameters after generating the code, you need to regenerate the code and reprint all materials. The SERP preview step is last because it's a quality check on the destination page, not the QR code itself — but it's important to do before launch because a broken or truncated snippet on social sharing previews undermines the campaign even if the page content is great. Campaigns that skip this step often have QR codes pointing to pages with missing meta descriptions, which shows as blank previews when the URL is shared on WhatsApp.

Frequently asked questions

Do QR codes expire?

Static QR codes (which directly encode a URL) do not expire as long as the destination URL remains live. The QR code itself is just an encoded URL — it's permanent. However, if the URL it points to changes or the page is taken down, the scan will 404. Dynamic QR codes (offered by paid QR services) encode a redirect URL that you can update — these do technically expire if you stop paying for the service. For campaign landing pages, static QR codes with direct UTM URLs are simpler and more reliable.

How do I track who scanned my QR code?

UTM parameters in the embedded URL are the standard method. When someone scans the QR code and their browser opens the URL, Google Analytics (or any other analytics platform) reads the utm_source, utm_medium, and utm_campaign parameters and records the session under those labels. In GA4, go to Acquisition > Traffic Acquisition and filter by your campaign name to see scan-driven sessions, conversions, and revenue. You can also differentiate between multiple QR codes on different physical materials by using unique utm_content values per code.

What size should a QR code be on print materials?

Minimum 2cm × 2cm (about 0.75 × 0.75 inches) for materials viewed at arm's length (business cards, pamphlets). For materials viewed at greater distances (posters, banners, event signage), scale proportionally: at 1 metre viewing distance, 3–4cm; at 2 metres, 6–8cm; at 5 metres, 15cm+. A useful rule of thumb: the QR code size should be at least 1/10 of the viewing distance. High error correction (Level H) allows the code to include a logo overlay while remaining scannable.

What is a SERP snippet and why should I preview it before a campaign launch?

A SERP (Search Engine Results Page) snippet is the title and description text that Google shows for your page in search results. Even for campaign pages primarily driven by paid traffic or offline QR codes, the snippet matters because: people often search for the brand or product after seeing the campaign, Google may show the page in related searches, and the meta description text is also used in social sharing link previews on WhatsApp, Twitter, and LinkedIn. A truncated or irrelevant snippet reduces click-through rate from organic search and looks unprofessional when shared on social.

Can I use the same QR code for a digital and print campaign simultaneously?

Yes — a single QR code encodes one URL and works identically across digital and print placements. But if you want to measure performance separately by placement, create distinct QR codes with different utm_content values (utm_content=digital-banner vs utm_content=print-flyer). This way GA4 can show you which placement drove more scans. The QR codes will look visually identical but encode different URLs. Never use one QR code to serve two different destinations — use separate codes with the same utm_campaign but different utm_source or utm_content.

More workflows