logo
Analytics

Clicks not showing or numbers that do not match

Why a click or scan is missing in CodeQR Analytics, why there are more than expected, and why numbers differ from Google Analytics: bots, cache, time zone.

Avatar for undefined
CodeQR Team
Content Team

By the end of this guide you will know why a click or a scan may not appear in Analytics, why you may see more events than you expected, and why CodeQR and Google Analytics never show the same number — with the rule behind each case, so you can decide whether something is wrong.

Availability

  • Plan: all plans. Some causes depend on the plan (retention window, tracked-clicks limit, locked cards) and are called out below.
  • Where: Analytics and Events.

Before you start

  • CodeQR counts at the redirect: the moment the short link sends the visitor to the destination. Anything that happens after — the page loading or not, scripts blocked, the visitor leaving — does not change the count. Tools that measure the destination page count later and count less.
  • Two rules shape most surprises: crawlers and previews are not counted (any user agent that identifies as a bot), and the same visitor counts once per 5 minutes on the same link (cookie cq_id on the short domain).
  • Numbers are cached: Data is cached for performance optimization. Updated analytics may take up to a few minutes to appear.

A click I made is not there yet

Wait two to three minutes and reload. Counters and the chart refresh within about two minutes; the cards below and long date ranges can take up to ten. Check that the date range covers now (24h) and that no filter chip is left from an earlier session.

Clicks or scans are missing

Go through the list; each item is a rule, not an error.

  • You opened the link with ?codeqr-no-track=1. Nothing is recorded — that parameter exists for your own tests.
  • Same phone, same link, less than 5 minutes apart. One event. Wait five minutes or use another device.
  • The request came from a bot or a link preview. WhatsApp, Facebook, Google, Bing, and any user agent containing bot are redirected but not counted. Sending a link in a chat does not create a click; someone tapping it does.
  • The link is expired, password-protected, banned, or does not exist. Expired and banned links never count. A password-protected link counts only when the correct password is submitted, not when the password page opens.
  • The QR code is static. Its content is inside the image; the scan never reaches CodeQR. Only dynamic codes are tracked — see QR code not scanning or opening the wrong page.
  • The link was deleted. Its events stay in the workspace totals but leave the Links card and the Events log.
  • The event is older than your plan keeps. Free shows 30 days, Starter 90, Pro 1 year. Older data comes back when you upgrade.
  • You passed the tracked-clicks limit of your plan (Free 1,000, Starter 6,000, Pro 30,000, Business 150,000 per cycle). Links keep redirecting; the pricing page states: Your links on CodeQR will work forever. However, you can only access analytics for these clicks up to your plan limit. Usage resets on your billing date.
  • You are reading the wrong tab or filter. The counters split Clicks, Scans, and Views; a Trigger filter narrows the cards. Clear filters and read Total.

More clicks or scans than I expected

  • Link checkers and monitors. A HEAD request or a plain fetch from a tool that does not call itself a bot is counted. Uptime monitors, corporate proxies, and some email security scanners fall here.
  • The same person after 5 minutes. Two visits an hour apart are two events; there is no "unique visitor" metric.
  • Your own tests. Every scan of the proof print, every click from the office counts unless you add ?codeqr-no-track=1.
  • Previews that do not identify themselves. Most messengers and social apps do (and are excluded); an unusual client may not.

The numbers differ from Google Analytics or from my site

  • CodeQR ≥ destination is normal. CodeQR counts the redirect; GA counts a page view after the page and its script load. Ad blockers, slow networks, in-app browsers, consent banners, and people who leave early all lower the destination's number.
  • Users are not clicks. GA "users" or "sessions" deduplicate; CodeQR counts events (with the 5-minute rule only).
  • UTM parameters. GA attributes by the parameters on the destination URL. If your short link's destination has no UTM, GA shows the visit as direct or as the referrer, and the CodeQR UTM report shows (not set). Put UTM parameters in the destination URL — see Measure UTM campaigns on links and QR codes.
  • Time zone. CodeQR groups by your browser's time zone; GA by the property's. A click at 11 pm can fall on different days.

The country or the city is wrong

Country comes from the visitor's network address and is reliable. City is approximate: mobile carriers, VPNs, and corporate networks resolve to their hub. Read city as a hint. See Find out where your clicks and scans come from.

Everything shows as (direct)

QR scans and links opened from apps and e-mail clients send no referrer. That is expected. Attribute those channels with UTM parameters or with one link per channel.

The cards show more than the Clicks counter

Cards add clicks, scans, and page views; the counters split them. Set FilterTriggerClick on link to see the cards for clicks only.

The chart and the counter differ by a few events

The chart aggregates per hour, day, or month and can differ from the counter by a small amount when many identical events land in the same second. Read the counter as the number of record.

Yesterday's clicks appear today

The dashboard uses your browser's time zone; the API and exports use UTC unless you pass timezone. Compare with the same time zone on both sides.

The link card says one number and Analytics another

The badge on the link card is the all-time total for that link. Analytics opens on the last 24 hours. Choose Todo o Tempo (Business and above) or the widest range your plan allows.

Old data disappeared

Analytics keeps 30 days on Free, 90 days on Starter, and 1 year on Pro. After a downgrade the window shrinks to the new plan's. Business and above keep the full history in the app.

Related articles