Skip to content
Guide

How to Track QR Code Scans and Measure Your Campaigns

You track QR code scans with a dynamic QR code: the code holds a short link that records each scan and then forwards the visitor to your page. That shows you when codes are scanned, on which operating systems and roughly where. Add UTM parameters to the destination to see what visitors do on your website afterwards.

Why a static QR code can't be tracked

A static QR code stores its content directly – for example the full address of your web page. When someone scans it, the phone goes straight to that address. Nothing in between knows that a scan happened, so there is nothing to count.

The only trace a static code leaves is on the destination itself. If the link points to your own website, your web analytics can show the visit – but only if you tagged the link, and only for people whose page actually loaded.

To count scans reliably, you need a code that passes through a service you control. That is what a dynamic QR code does. Our guide to static vs dynamic QR codes covers the other differences.

How QR code scan tracking works

Behind every tracked scan is a quick redirect that takes a fraction of a second. The visitor barely notices it.

  1. The code holds a short link

    Instead of your final page, the dynamic QR code contains a short link that belongs to the tracking service or to your own domain.

  2. The phone opens the short link

    When someone scans the code and taps the preview, the phone's browser requests that short link, just like any other web address.

  3. The service records the scan

    The server logs the moment of the scan along with technical details the browser sends anyway, such as the operating system and a network address used to estimate location.

  4. The visitor is forwarded

    The server then redirects the browser to your destination. Because the redirect is under your control, you can change the destination later without changing the printed code.

What you can measure with QR code tracking

Scan data answers four practical questions: when, on what, where and which code.

In Qdestera, QR code analytics show scans over time (daily, by weekday and monthly), operating systems, countries and cities, top QR codes and links, recent scans and a 30-day chart for each code. The figures count every scan, so one person scanning twice counts as two scans – read them as total scans, not unique people.

When people scan

Scans per day, per weekday and per month show whether a campaign is picking up or fading, and which days drive the most interest. A poster that gets most scans at weekends tells you something about your audience.

Which operating systems they use

The split between iOS and Android helps you decide which app store to promote, or which phone to test your landing page on first.

Where they are, approximately

Country and city are estimated from the network address. That is accurate enough to compare regions or spot scans far from where the code hangs, but it is not an exact position.

Which codes perform best

When each placement has its own code, a ranking of top codes shows which window, flyer or product label earns the most scans.

What scan data can't tell you

A scan shows interest, not results. It doesn't reveal who scanned, whether they read the page or whether they bought something. For that, you need data from the destination itself – which is where UTM parameters come in.

Combine scans with UTM parameters and Google Analytics

Scan tracking ends at the redirect. To see what visitors do on your website, tag the destination link with UTM parameters.

What UTM parameters are

UTMs are short tags added to the end of a URL. Web analytics tools such as Google Analytics read them and attribute the visit to a source, medium and campaign – no extra code needed on your site.

A typical QR link

yourbrand.com/offer?utm_source=flyer&utm_medium=qr&utm_campaign=autumn-sale&utm_content=city-centre. Use lower case consistently, because analytics tools treat “QR” and “qr” as different values. The free UTM builder assembles the link without typos.

What you see on your site

In your analytics reports, the campaign shows up with its sessions, engagement and any conversions you have set up, such as sign-ups or purchases. That tells you not only how many people scanned, but how many did what you hoped.

Why the numbers differ

Scan counts are usually higher than analytics sessions. Some visitors close the page before it loads, block analytics cookies or scan twice. Compare trends between the two, not exact totals.

How to measure an offline campaign with QR codes

Posters, flyers, packaging and shop windows used to be hard to measure. With a little planning, each one reports back.

  1. Decide what success means

    Pick one goal before printing: visits, sign-ups, coupon redemptions or orders. Otherwise you will end up with numbers but no answer.

  2. Give every placement its own code

    One code for the window, one for the counter, one for the flyer. Separate dynamic codes are what make a fair comparison possible.

  3. Tag each destination

    Use the same campaign name for all codes and a different utm_content value per placement, so both your scan data and web analytics line up.

  4. Compare, then adjust

    After a week or two, compare placements. Move or resize weak codes, sharpen the call to action, and update the destination without reprinting.

Reading your scan data correctly

  • Exclude your own tests

    Your team scans codes while setting them up. Note the date you went live and read results from then on.

  • Treat location as a hint

    Mobile networks, VPNs and company networks can place a scan in a different city. Look at patterns, not single scans.

  • Count scans, not people

    Repeat scans by the same person are included. A code on a product people keep at home may be scanned many times by one owner.

  • Compare like with like

    A window code and a flyer reach different numbers of people. Compare scans relative to how many were printed or how busy the spot is.

  • Give it time

    A few days of data can mislead. Let a campaign run through at least one full week before drawing conclusions.

Privacy considerations for QR code tracking

Scan tracking is based on technical data every browser sends when it opens a web address. It does not reveal names, phone numbers or contacts. Location is approximate: it comes from the network address, not from the phone's GPS.

Even so, a network address can count as personal data under laws such as the GDPR in the EU or KVKK in Turkey. Be transparent: mention in your privacy notice that you measure visits to your QR codes and links, and what you use the figures for.

Collect only what you need. If your goal is to compare two posters, you don't need to ask visitors for their email. When you do ask for personal data on the landing page, explain why and link to your privacy notice. This guide is general information, not legal advice.

Reacting to scans in real time

Reports are useful after the fact. Sometimes you want to know about a scan as it happens – for example when a code on a high-value product or a service request is scanned.

Qdestera's scan automations can send an email or call a webhook on every scan, for the whole workspace, a folder or a single code. Webhooks are signed, retried and logged, so they can feed your CRM or internal tools. For deeper integrations, the QR code API lets you manage codes and short links from your own systems.

See your scans in one dashboard

Create dynamic QR codes and follow scans over time, by operating system and by country and city.

Explore QR code analytics
FAQ

Frequently asked questions

Still have a question? Read our guides or contact us .

Can you track how many times a QR code is scanned?

Yes, if it is a dynamic QR code. The code opens a short link that records each scan before forwarding the visitor, so you see scan counts over time.

Can I track a static QR code?

Not directly, because a static code goes straight to its content. If it links to your website, UTM parameters let your web analytics count the visits it brings.

What information does a QR code scan reveal?

The time of the scan, the operating system and an approximate location based on the network address. It does not reveal the person's name, phone number or exact position.

How do I track QR code scans in Google Analytics?

Add UTM parameters to the destination link, for example utm_medium=qr and a campaign name. Google Analytics then shows those visits under that source, medium and campaign.

Why do my scan numbers differ from Google Analytics?

Scans are counted at the redirect, analytics sessions on your page. Visitors who close the page early, block cookies or scan twice cause differences, so compare trends rather than totals.

Can I see how many unique people scanned my code?

Qdestera counts total scans, so repeat scans by the same person are included. For visitor-level figures, use the users metric in your web analytics tool together with UTM parameters.

Is QR code tracking legal under privacy rules?

Measuring scans is common practice, but network addresses can be personal data under laws such as the GDPR or KVKK. Inform visitors in your privacy notice and collect only what you need.

How do I compare two QR code placements?

Give each placement its own dynamic code and its own utm_content value. After a week or two, compare scans and on-site results for each.

Qdestera

Know which QR codes actually work.

Create dynamic QR codes, track scans over time and change the destination whenever your campaign changes.

Start free