The scan-to-report journey
Here is what happens from the moment a user scans your QR Code to the moment that event appears in your reports.The scan session
Thescnv query parameter is the key to attribution. It contains a scan session ID — a UUID that uniquely identifies a single scan of a single QR Code by a single user at a specific moment in time.
- Reads the
scnvvalue from the URL - Saves it to
localStoragewith a 60-day expiry - Attaches it as
scan_session_idto every event sent from that browser
Attribution across pages and sessions
The scan session ID persists across page navigations within the same domain. If a user:- Scans a QR Code → lands on
/landing - Clicks through to
/pricing - Signs up on
/signup
Browser events vs server events
There are two types of events:
Both event types accept a
scan_session_id, which links them to the QR scan. For server events, your backend needs to receive the scan_session_id from the browser — typically by passing it in a form field, session cookie, or API call.
How events are processed
Once the Tracking API receives an event, it goes through a processing pipeline:- Validation — checks required fields, payload size, and site/domain authorization
- Deduplication — marks repeated
event_idvalues as duplicates (they are still stored, not dropped) - Device enrichment — parses user-agent to extract device type, browser, and OS
- Location enrichment — resolves IP address to country and city using GeoIP
- Identity linking — resolves
scan_session_idto QR Code ID and user ID from the Scanova database - Fraud detection — heuristic scoring to flag bot-like behaviour
- Privacy / GDPR — strips PII fields if
consentisdeniedorpending
Identity and sessions
Each event the SDK sends carries three separate identity values. Understanding the difference helps when reading reports:
A single visitor may have many web sessions. A single web session may have many events. All events within 60 days of a scan share the same
scan_session_id.
Data availability
- Events are ingested and queued immediately on receipt
- Processed events appear in reports within seconds under normal load
- Short delays (up to a few minutes) can occur during high-traffic spikes