No subscription. One payment. Your QR code works forever.

How to track QR code scans step by step

ON THIS PAGE
  1. Choose the measurement you need
  2. Free path: tag the page address, then make a static QR code
  3. Managed path: create a dynamic QR code for each placement
  4. Compare use, then check bookings separately
  5. Total scans vs estimated scanners
  6. Reading scans over time
  7. A quiet QR code is not a broken one
  8. Which numbers matter for a decision
  9. If the count or report looks wrong
  10. Common questions
Illustrative appointment counter with a QR sign and a separate takeaway card held by a customer.
Illustration of two QR placements. The artwork is not a scannable proof or a real campaign.

Suppose you put one QR code beside the counter and another on a takeaway card. Both open the same booking page. You want to know which placement gets used and whether anyone finishes a booking. One shared QR code would make the page easy to open, but its single count would not tell you which printed copy someone used.

Give each placement its own label before you print. Then choose what you need to measure: visits to a page you already track, or requests to each QR code. Your booking system supplies the answer to the final question.

Choose the measurement you need

What you want to see Setup Where to check
Measured visits and actions on a page you control Free static QR code with a tagged URL and existing site analytics Your site analytics and booking system
A count for each QR code, plus a destination you can change after printing Graklink dynamic QR code Scan performance on each owned QR code
Scan history by period, preceding-period comparisons and export Optional Track for owned QR codes Scan performance with Track

A static QR code contains its destination address. The image has no Graklink scan counter, and you cannot change the address encoded in a printed copy. It can still send someone to a measured website. A dynamic QR code opens a managed redirect, which can count requests before the destination page loads. Its destination can be edited later.

Neither method automatically records a booking. If the booking page has no working analytics or booking records you can inspect, adding a QR code does not create them.

Free path: tag the page address, then make a static QR code

Use this path when the booking page is stable and you already measure it with GA4 or another site analytics tool. Make a different tagged address for each placement, even though both addresses lead to the same booking page. For example:

https://example.com/book?utm_source=print&utm_medium=qr&utm_campaign=appointments&utm_content=counter_sign

For the takeaway card, change only the last value to utm_content=takeaway_card. These are example values, not a live booking page. Keep a record of which value goes on which print file.

Open Graklink’s free QR builder, select Static, and paste the entire tagged address as the destination. Download a PNG or SVG for each placement. No account is required for a static QR code. Print a small proof of each placement and scan it with a phone. Check that the booking page opens, the tags survive in the page address, and the intended booking action works. A QR code saves someone from typing the address while they are standing at the counter or holding the card.

In GA4, open Reports > Acquisition > Traffic acquisition. Use Session source/medium or Session campaign to find tagged traffic. To compare the utm_content values, use GA4’s Manual report and Session manual ad content, or add that dimension to a configured report or Exploration. The default campaign view does not show your two placement values. Google’s campaign URL guidance and Manual report guidance explain those fields.

This path tells you about measured site sessions and configured actions. It cannot tell you how many people pointed a camera at the printed QR code. A phone may preview a URL without opening the page, and analytics may be blocked. Someone may also share the tagged address with a person who never saw the print.

Managed path: create a dynamic QR code for each placement

Use separate dynamic QR codes for the counter sign and takeaway card if you want a separate QR scan count for each placement. In the Graklink dashboard, open QR Codes, then Build a QR code. Leave Dynamic selected. Enter the booking page as the destination, name the QR code for its placement, and record where it will be printed. If you also want to attribute bookings by placement, use the full tagged address pattern above as each destination: set utm_content=counter_sign for one and utm_content=takeaway_card for the other. Keep the other campaign tags consistent. Repeat for the other placement.

A new purchase goes through the cart and checkout before you can use the owned QR code. Copies of the counter sign use the same counter-sign QR code and do not need additional purchases.

Once each QR code appears under QR Codes, open its detail page and download the saved artwork as a PNG or SVG. If artwork is unavailable, save the design in customization first. Before ordering prints, scan a proof of each QR code on a phone. Confirm that both reach the right booking page and that the booking action works. On each QR code’s detail page, open Scan performance to inspect the all-time count and last recorded scan. Record the count and test date before distribution so you can recognize your own test activity later. Allow for reporting delay; a missing immediate update is not evidence that nobody scanned.

Every purchased QR code includes that basic count. Track is optional when you need selectable date ranges, dated history, a comparison with the preceding period or export for each QR code. Two printed copies of one QR code still share one count, regardless of plan.

Compare use, then check bookings separately

Keep a short record for each placement: QR code name, print location, date placed, starting count and date checked. Compare the increase over matching periods. If the takeaway cards were available for two weeks but the counter sign was up for one, raw totals do not describe the same exposure. The counts show QR requests; they do not tell you how many cards people took or how many people saw the sign.

Check the booking system for completed bookings during those dates. If you need to connect a booking to a placement, first confirm that your booking flow retains the utm_content placement value through confirmation and records it with each booking. Otherwise, you can report each QR code’s scans and the period’s total bookings, but you cannot assign particular bookings to the counter sign or card. A scan, a measured site session and a booking are separate records. One person can scan twice, and a person can open the page without booking.

The UTM tracking guide covers tag setup in more depth. Reading the counts is covered below.

Total scans vs estimated scanners

Four hundred scans does not mean four hundred people. A customer can open the menu when seated and scan again to check dessert. Those are two uses, not necessarily two people. Several people can share a network that contributes one measurement identity. A total and an audience estimate answer different questions, and neither identifies the people involved.

Total scans describe qualifying recorded activity through QR codes. Short links use clicks. Known automation, source coverage and processing affect what qualifies for a displayed measure; the camera merely seeing a QR pattern is not itself a recorded redirect.

Estimated scanners estimate how many distinct scanners the available signals represent. They are not verified individual people. Graklink labels the method and limitations instead of treating the estimate as an exact headcount.

Shared Wi-Fi can group different visitors. Mobile networks, VPNs or network changes can make one visitor appear differently. Optional browser-based experiment measurement has eligibility and consent requirements; clearing storage or changing devices affects it too. Do not add estimates from different periods or incompatible identity methods. A monthly estimate is not necessarily the sum of its daily values.

A repeat measure can help you form a question: are visitors returning, are staff testing the item, or has its use changed? It cannot establish intent. A high repeat share is not automatically loyalty, and a low share is not automatically failure. Compare the same product, item scope and reporting periods. Read unavailable or partial values as evidence limitations, not zeros. A QR code on a one-time invitation has a different expected use from a menu checked repeatedly.

Open Performance to compare items and Audience to review audience estimates and their method. What Graklink measures lists the signals behind them.

Reading scans over time

The QR code on last year’s brochure and the one on this month’s mailing might both show 400 scans. You need the dates to see what is being used now. A time chart shows when the activity occurred. Choose the period relevant to the item and compare equivalent dates before deciding whether to change a placement or destination. A campaign that launched recently and a sign deployed for two years are not directly comparable from their totals.

Put the chart beside your deployment record. Note when a mailer arrived, a video was published, a sign was removed or opening hours changed. These details help explain possible reasons for a change; the chart alone cannot prove them. If an older brochure is still getting used, check that its service details are current. Someone has kept it because they may still need your help.

A rise after an edit suggests something worth investigating. It does not prove the edit caused the rise. Weather, placement, traffic, seasonality and promotion can change at the same time. Allow for a day still in progress and any incomplete source data.

Three scans becoming nine is mathematically a 200% increase, but six additional scans may not justify a reprint. Consider exposure, ordinary variation and the cost of the proposed change. There is no universal sample size that makes every marketing decision reliable.

Charts use the retained source data and access available to the account. Scheduled reports begin within supported launch and subscription periods; they do not automatically backfill reports for time before access began. An account returning to Track should not interpret a gap in scheduled reports as a failed delivery for an unsubscribed period.

A quiet QR code is not a broken one

Whether an item is working and whether it is being used are separate questions. The last-recorded-activity date tells you when the item last received qualifying activity. It is not the time the system last checked its destination, and an old date does not establish an error. A QR code taken out of circulation, a new item or an old promotion may correctly record no activity.

Check the item status, saved destination and a test visit when you need to confirm operation. Follow an actionable safety or processing alert when present. A scan counter alone does not prove the destination loaded correctly or that a visitor completed a task. An unavailable source is different from a confirmed zero: check the displayed coverage and any actionable status before interpreting the chart, and compare complete periods.

Which numbers matter for a decision

Start with the decision. You have enough budget for another print run, but want to know whether to order more counter cards or window decals. That decision needs separate activity counts for each placement and a record of where they were displayed. Each question needs different evidence. The dashboard should help you choose the next useful action, not make every changing number look urgent.

Use totals for activity volume, estimates for approximate reach and the time chart for when activity changed. Check placement and exposure before comparing items. A busy location may generate more scans simply because more people pass it. Use the placement comparison guide for setup. Supported experiments can compare configured destinations with explicit measurement requirements; they do not turn an uncontrolled table-versus-window comparison into a randomized test.

A scan, a website visit and a sale are different measures. Your register or destination platform may be the authoritative source for the outcome. Track can show supported results from a selected GA4 property through a configured read-only connection. QR activity and other Track tools work without one. Use a conversion rate only when the visits and outcomes belong to the same measured group. If the evidence is missing, improve the setup before treating a campaign as successful or failed.

For an instructions QR code, the useful question is whether someone found the help they needed. Read the support questions alongside the scan counts.

Check more often during a launch or an active incident; use a steadier interval for long-running print. There is no need to make a new decision whenever a small count moves.

If the count or report looks wrong

First scan the printed proof yourself and check the exact destination. If it does not open, fix the print or destination before interpreting the report. If it opens but the dynamic QR code shows no new activity, verify that you are viewing the correct owned QR code and period, then check again after reporting has had time to update. Keep your test scans in the record.

If GA4 shows no tagged traffic, confirm that the loaded address includes the expected tags and that GA4 measures the booking page. Check Session manual ad content for placement labels. Do not treat an empty report as proof of zero scans. If scans exceed site sessions, remember that the redirect and page analytics record different steps. Check matching dates and account for tests, repeat scans and analytics blocking. If site sessions exceed scans, inspect direct visits and shared tagged links.

Start with one proof for each placement and write down the starting count. That small record makes your first comparison usable when the printed material is out in the business.

Common questions

Can I track a free static QR code?

A static QR code has no scan counter of its own. If its destination is a page you measure, encode a tagged URL and use your site analytics to inspect measured sessions and actions. Those figures are not physical scan counts.

Where do I see scans for a Graklink QR code?

In the dashboard, open QR Codes, choose your owned dynamic QR code, then open Scan performance on its detail page. Every purchased QR code includes an all-time scan count and last recorded scan. Track adds selectable periods, history, comparisons and export.

Do I need a separate QR code for every printed copy?

No. Copies of one QR code share a count. Use separate QR codes when you need to compare distinct placements, such as a counter sign and a takeaway card.

Does one scan mean one customer visited or booked?

No. A scan is activity at the QR redirect. It does not identify a unique person, prove a measured website session or confirm a booking. Check site analytics and your booking system for those later actions.

Why does my QR scan count differ from my website sessions?

The QR redirect and website analytics measure different steps. Test scans, repeated requests, page load failures, analytics blocking and visits from a shared URL can change the totals. Compare matching dates and check each measurement setup.

What is the difference between total scans and estimated scanners?

Total scans count qualifying recorded activity. Estimated scanners approximate distinct measurement identities using the available method; they are not a headcount of people.

Why can audience estimates be inaccurate?

People can share a network or change networks. Browser-based measurement also depends on consent, storage and compatible periods. The displayed method and coverage determine how to interpret an estimate.

Does repeat share prove people came back on purpose?

No. Repeat activity can reflect interest, testing, repeated opens or measurement limitations. Interpret it with the item context rather than assuming a motive.

Which QR code metrics matter most?

Start with activity in the relevant period, the trend, comparable placements and evidence of the outcome you intended. Item health is separate from scan activity.

Does an old last-scan date mean a QR code is broken?

No. It describes recorded activity, not the last system check. The item may be new, no longer deployed or simply unused. Check the saved destination, item status and an actual visit before diagnosing a fault.

How many scans prove a placement is better?

There is no universal threshold. Exposure, time, seasonality and the decision matter. A formal experiment needs its own planned sample and outcome; an observational comparison does not become causal proof after a fixed number of scans.

Does a rise in scans prove my campaign worked?

It shows more recorded activity. Exposure, promotion and other changes can affect the count. Sales and other outcomes require separate evidence.

Will Track generate reports for time before I subscribed?

Scheduled reports start within the supported feature-launch and entitlement period. Subscribing does not create reports for periods when you were not entitled. Available historical charts depend on retained source data and access.

Sources and verification dates

Source links, check dates and available archived copies are listed below.

  1. Google Analytics Help: Collect campaign data with custom URLs
    utm_source

    Checked October 12, 2026.

    Documents manual campaign tags and their use in Traffic acquisition.

    Google may change report navigation; tagged site traffic is not a physical scan count.

  2. Google Analytics Help: Traffic acquisition report
    Traffic acquisition

    Checked October 12, 2026.

    Describes session-based source, medium and campaign reporting.

    Requires analytics on the destination and sufficient processed data.

  3. Google Analytics Help: Manual report
    Session manual ad content

    Checked October 12, 2026.

    Session manual ad content is the session dimension for utm_content.

    Report availability and navigation can change.

  4. Graklink dashboard and QR detail
    Scan performance

    Checked October 12, 2026.

    Production Link builder labels and demo Scan performance controls were checked; owned staging detail rendered an all-time zero.

    Demo data is fictional. Live count increments, checkout and Track export were not tested end to end.

Make your QR code in a minute

$7.99 once. Unlimited scans. 30-day money-back guarantee.

Create your QR code

Quick security check

Verifying your browser before continuing. Your entered information stays in place.

Contact support

Search Graklink