How we tested 7 trackable QR generators
In May 2026 we generated the same dynamic QR code on 7 generators paired with the same 60-character destination URL, scanned each code 50 times across 4 devices in 3 geographic locations over 7 days, and audited what each generator's analytics dashboard actually reported.
The variables we measured: scan-event data fidelity (raw timestamp / device / IP-location per scan, or rolled-up daily totals only), historical retention window (how many days/months back you can access scan history), CSV export availability, REST API for programmatic data pull, UTM-tag preservation in the redirect, white-label custom-domain support, cancellation policy (do codes stay alive after subscription cancel), and billing model (monthly vs annual lock-in).
We scanned from an iPhone 15 Pro on iOS 18, a Pixel 8 on Android 14, a Galaxy S24 Ultra on Android 14, and an older iPhone 11 on iOS 18. Each device scanned from three different IP locations (home WiFi, mobile data, coffee shop WiFi) to test the geographic accuracy of the IP-derived location data.
The results below reflect what each generator's dashboard exposed against what they advertise. Three vendors that advertise "comprehensive scan analytics" only delivered daily scan counts — no per-scan event detail. They are not on the recommended list. The 7 below produce the data depth that actually supports campaign attribution.
Quick comparison: 7 trackable QR generators side by side
Headline trade-offs. Per-generator detail follows.
| Generator | Per-scan event data | CSV / API export | Codes survive cancel | Billing | Free tier |
|---|---|---|---|---|---|
| EZQR Lite / Pro / Max | Yes (timestamp, IP, device, referrer) | CSV + API (Max) | Yes (indefinitely) | Monthly only | 3 dynamic codes |
| QR Tiger Premium | Yes | CSV + API | Yes | Annual default | 3-code trial |
| Uniqode Pro | Yes | CSV + API | Yes (per ToS) | Annual required | Trial only |
| QR Code Generator (Bitly) | Limited (daily aggregates) | CSV | Retention policy | Monthly available | Free trial |
| Beaconstac (legacy) | Yes (same as Uniqode) | CSV + API | Yes (per ToS) | Annual required | Trial only |
| QR Code Chimp | Daily aggregates | CSV | Yes | Annual default | 10 dynamic free |
| ME-QR | Daily aggregates + ads | Limited | Retention period | Monthly available | Free w/ ads |
1. EZQR — Best monthly-billed trackable QR with codes that survive cancellation
EZQR takes the strongest position on trackable QR codes for one specific reason: the codes survive cancellation indefinitely. For any QR printed at scale where you need long-term tracking continuity, this single policy difference outweighs the feature gap with enterprise competitors.
Free tier: 3 dynamic codes with full per-scan analytics — same data fidelity as the paid tiers. Lite at $5/mo (monthly billing) adds 25 dynamic codes; Pro at $10/mo adds 100 plus geographic data (country + city); Max at $20/mo unlocks unlimited dynamic codes plus REST API access. All plans monthly only — no annual lock-in.
What works: per-scan event data with timestamp, IP-derived location, device, browser, and referrer. CSV export from the dashboard for any time range. REST API on the Max plan for programmatic pull into your analytics stack. Custom redirect domain (white-label) on Max for client-facing agency work. Codes keep redirecting after cancellation — covered in our permanent QR code guide.
What doesn't: the dashboard UI is less polished than QR Tiger or Uniqode. Historical scan data retention is currently 18 months on standard plans (longer retention is on the enterprise tier). No native integrations with Salesforce or HubSpot — you connect via webhook or API.
Best for: agencies, brands, and SMBs running campaigns where the print-to-track cycle is longer than the typical subscription window. Monthly billing means you can pause subscriptions between campaigns without losing the tracking on already-printed assets. The marketing agencies QR workflow guide covers the per-client setup.
2. QR Tiger — Best enterprise tracking with mature API
QR Tiger Premium at $37/mo annual ($444/year) is the enterprise default for trackable QR codes when API depth and SOC 2 compliance matter. The scan-data fidelity matches EZQR; the differentiator is the maturity of the API and the enterprise compliance surface.
What works: REST API with detailed per-scan event data, webhook support for real-time scan notifications, mature SDK with examples for Python, Node, Go, Ruby. SOC 2 Type II compliance documented for enterprise procurement. Codes remain active after subscription cancellation per published ToS. The EZQR vs QR Tiger comparison covers the full feature-by-feature breakdown.
What doesn't: $444/year annual commitment is the entry. The 3-code free trial is not a true free tier — it expires. Pricing scales steeply for higher dynamic-code volumes ($69/mo, $99/mo enterprise tiers). For agencies running 1–5 client campaigns, the entry price is high relative to EZQR Max's $240/year.
Best for: enterprises with API-driven QR generation workflows, agencies serving Fortune-1000 clients where SOC 2 documentation is required for procurement, brands with sophisticated internal analytics teams who want the cleanest API documentation in the category.
3. Uniqode (Beaconstac) — Best team-managed tracking workflows
Uniqode (formerly Beaconstac) Pro at $49/mo annual ($588/year) is the right tool for marketing organizations of 10+ where multi-user tracking workflows matter. Each user has their own dashboard; campaigns are scoped to workspaces; audit logs track who created or modified which trackable codes.
What works: team workspaces, role-based access control, brand-locked code templates so junior team members cannot generate off-brand codes. Mature CRM integrations (Salesforce, HubSpot, Marketo) for routing scan events directly into the marketing automation flow. SOC 2 compliance plus GDPR-compliance documentation.
What doesn't: $588/year is the highest sticker price in the test. Annual billing required on all tiers. The Beaconstac → Uniqode rebrand in 2024 broke pricing grandfathering for many customers — re-verify the current cancellation policy in writing before committing. The EZQR vs Uniqode comparison covers the team-features-vs-cost trade-off.
Best for: enterprise marketing teams with 10+ users managing tracking across dozens of brands or product lines. The team-permissions overhead pays off at scale and is overkill below it.
4. QR Code Generator by Bitly — Limited tracking on a familiar brand
QR Code Generator by Bitly (Bitly's acquired QR product) supports dynamic trackable codes on the Plus plan at $35/mo monthly. Scan-data fidelity is the weakest of the paid tools — daily aggregate counts, not per-scan event data. Geographic data is country-level; device data is broad categories.
What works: monthly billing (uncommon for the Bitly product family). Integration with Bitly's link-shortening means a single dashboard for short URLs and QR-driven tracking. Established brand trust for procurement teams already comfortable with Bitly.
What doesn't: scan-data fidelity is materially weaker than EZQR, QR Tiger, or Uniqode. For real attribution work, the daily aggregate model breaks down — you cannot see scan-by-scan timing, per-scan device, or referrer. Code retention is subject to Bitly's broader link-retention policy, which has historically deactivated free-tier links and has differential retention windows for paid plans. The EZQR vs Bitly comparison covers the retention-policy risk.
Best for: existing Bitly customers who already use the short-link product and want QR codes attached to the same tracked links. Avoid for greenfield deployments where the tracking-data fidelity matters.
5. Beaconstac (legacy URL) — Same product as Uniqode
Worth flagging: many trackable-QR searches still land on the older Beaconstac brand URLs. The product is now Uniqode. The legacy URLs still resolve and redirect; pricing and feature set are identical to Uniqode Pro.
No separate evaluation needed — see the Uniqode entry above. Mentioned only because procurement workflows sometimes have "Beaconstac" pre-approved as a vendor and discover after onboarding that the platform rebranded. Update the approved-vendor list to Uniqode.
6. QR Code Chimp — Budget option with daily-aggregate analytics
QR Code Chimp Starter at $6.99/mo annual ($83.88/year) is the budget option for trackable QR codes when the analytics depth is acceptable.
What works: low entry price, 10 free dynamic codes (more than EZQR free's 3-code allowance), straightforward dashboard for non-technical users.
What doesn't: scan data is daily aggregates only — no per-scan event detail, no per-scan device data, no per-scan referrer. For attribution work beyond "how many scans did this campaign get," the data is too rolled-up. Annual billing required on all paid plans. No public API for programmatic data pull.
Best for: small brands and individual users who need 10–50 trackable codes for basic campaign monitoring but don't need scan-by-scan attribution. Skip if you need to tie scan events into Google Analytics or a CRM at scan-by-scan granularity.
7. ME-QR — Free trackable codes with the ad-injection trap
ME-QR offers a free tier with dynamic trackable codes — the only free tier of any size in this comparison. The trap: the free tier injects an interstitial ad page between the scan and the destination URL.
What works: 50 free dynamic codes per month is the largest free dynamic allowance in the category. Daily-aggregate scan counts and basic geographic data.
What doesn't: the ad interstitial appears on every free-tier scan. Customers scanning your QR see a third-party ad page before reaching your content. For any client-facing or brand-facing print, this is a non-starter. Paid plans remove the ads ($19/mo annual base tier) but the scan-data fidelity is still daily aggregates, not per-scan events. Retention policy in the ToS does not commit to indefinite code retention. The EZQR vs ME-QR comparison covers the freemium-trap pattern in detail.
Best for: personal experimentation only. Avoid for any client work, any brand-facing print, or any campaign where the post-scan experience must be controlled.
Scan-data fidelity: what real tracking actually looks like
The phrase "QR code tracking" hides a huge fidelity range. Two generators can both advertise tracking and deliver completely different data depth.
Tier 1 — Per-scan event data. Every scan creates a row in the database with: scan timestamp (server-side, not client-clock), IP address (and IP-derived location at country / region / city), user-agent string (parsed into device family, OS version, browser), referrer (where applicable), redirect destination URL at time of scan, and the QR code's unique ID. This is real tracking — the data depth that supports attribution into Google Analytics or a CRM. EZQR, QR Tiger, and Uniqode deliver this.
Tier 2 — Daily / hourly aggregates. The dashboard shows total scans per day, broken down by country, device family ("mobile" / "desktop" / "tablet"), and sometimes browser. Useful for high-level campaign monitoring but breaks down when you need to ask "which specific scan converted to a purchase" or "which device profile correlates with the highest scan-to-signup rate." Bitly QR Generator, QR Code Chimp, and ME-QR deliver this level.
Tier 3 — Total scan counter. A single number per QR. Tells you the code is being scanned but nothing about who, when, where, or what happened next. Some "free QR tracking" services market this and call it analytics. Avoid for any serious campaign work.
The right fidelity depends on the use case. For a one-time event-signage QR where you just want to know if anyone scanned it, a counter is fine. For a multi-channel campaign across direct mail, OOH, and retail signage where you need to attribute conversions back to placement, you need tier 1.
UTM tags: where QR tracking meets your broader analytics stack
QR vendor analytics tells you about the scan. Your analytics platform tells you what happens after the scan. UTM parameters are the bridge.
Every QR destination URL should carry UTM tags identifying the campaign context. The standard set: utm_source=qr (always; identifies the traffic source as a QR scan), utm_medium (the placement type: print, ooh, packaging, signage), utm_campaign (the campaign identifier), utm_content (the specific placement: "billboard-times-square" or "product-box-sku-1234"), and utm_term (variant: "variant-a" / "variant-b" for A/B tests).
Google Analytics, Adobe Analytics, Heap, Mixpanel, Amplitude — all of them parse UTM parameters automatically and segment the resulting traffic by the tagged dimensions. You can see "QR-driven traffic from product packaging on SKU 1234 converted at 6.2%" without any custom setup.
The QR vendor's scan data sits parallel to this. The vendor logs every scan; your analytics platform logs every resulting session and conversion. Tie them together via the UTM tags and you have full attribution.
For agencies, the UTM hygiene is the deliverable. Clients increasingly demand attribution data; sloppy UTM tagging breaks it. Build a per-client UTM-tag convention into the campaign-setup workflow so every QR generated for that client carries a predictable tag set. Detail in the marketing agencies QR workflow guide.
The cancellation-policy trap that kills tracking continuity
A trackable QR is only useful as long as the code is alive. The single biggest failure mode in trackable QR deployments is the vendor deactivating codes when the subscription stops.
Flowcode's published policy: dynamic codes are deactivated 30 days after subscription cancellation. The deactivation is silent — your printed codes stop redirecting, your tracking stops collecting data, and the scanner sees a dead URL. For any campaign printed at scale, the 30-day deactivation is a substantial risk.
QR Code Generator (qr-code-generator.com) policy: deactivation on cancellation per ToS. The exact wording gives the company discretion to disable codes upon "termination of the subscription" — functionally meaning your codes die when you stop paying.
Bitly QR Generator policy: "subject to retention policy" with differential retention windows for paid plans. The ambiguity is the problem; the policy can change and the published terms do not commit to indefinite retention.
EZQR policy: codes remain active and trackable indefinitely after cancellation. The redirect infrastructure is funded by active-subscriber base, not by deactivating past customers' codes.
QR Tiger policy: codes remain active after cancellation per published ToS.
Uniqode policy: codes remain active per current ToS — but verify in writing because the Beaconstac → Uniqode rebrand broke other policies for legacy customers.
The practical recommendation: for any QR printed at scale, get the cancellation policy in writing from vendor support before generating the code. Save the support response. Test the cancellation flow on a trial account before the production print run — generate one code, cancel the subscription, scan the code 35 days later, confirm the redirect still works. The full vendor-by-vendor breakdown is in our permanent QR code guide.
API access: when programmatic generation earns its tier
For campaigns generating QR codes one-at-a-time in a dashboard, the manual workflow is fine. For campaigns at scale — 5,000 product variants, 1,500 event tickets, 50 location-specific signage codes — the API earns its higher subscription tier.
The API pattern: your campaign management system (or a Zapier-style automation) calls the vendor's REST endpoint with the destination URL and UTM tags. The vendor returns a QR PNG/SVG and a unique code ID. Scan data flows back to your system via webhook or scheduled API pull.
Use cases that benefit:
Per-SKU packaging QRs. A retail brand with 500 SKUs auto-generates one trackable QR per SKU when the SKU is added to the PIM (Product Information Management) system. New SKU → new QR → new tracking line item, all automated.
Per-attendee event tickets. An event with 1,500 attendees generates 1,500 unique QRs at registration time, each linked to that attendee's check-in URL. Scan data tells you who arrived when.
Per-location signage. A QSR chain with 200 locations generates 200 location-tagged QRs for shelf signage. Per-location scan data feeds into shopper-marketing dashboards.
Per-client agency workflow. An agency with 10 active client campaigns generates QRs programmatically with client-specific UTM tag conventions. Manual dashboard generation does not scale to 10× brand-kit-locked code generation.
API is on EZQR Max ($20/mo monthly), QR Tiger Premium ($37/mo annual), and Uniqode Pro ($49/mo annual). For greenfield API workflows, the monthly billing on EZQR Max is the lower-risk entry — you can pause without forfeiting annual cost.
The bottom line
For trackable QR codes at scale with codes that survive cancellation on monthly billing: [EZQR](/) — free tier covers 3 codes with full per-scan analytics, Max at $20/mo monthly handles unlimited dynamic codes plus API. The single biggest differentiator is the permanent-after-cancel policy, which removes the time bomb every other vendor's cancellation policy creates.
For enterprise tracking with mature API and SOC 2 compliance: [QR Tiger Premium](https://www.qrcode-tiger.com/) at $37/mo annual or [Uniqode Pro](https://www.uniqode.com/) at $49/mo annual depending on whether API depth or team-permissions matter more. Both keep codes alive after cancel; both require annual billing.
Avoid: Flowcode (30-day deactivation on cancel kills printed-asset tracking), ME-QR free tier (interstitial ads in the scan flow), and any "free QR tracker" that watermarks codes or limits historical retention to under 12 months.
For the broader "how to use QR codes in marketing campaigns" workflow including per-client agency setups, see our marketing agencies industry page. For the cancellation-policy detail across every major vendor, see the permanent QR code guide. For the underlying dynamic-vs-static decision, see the dynamic QR generator comparison.
Test the cancellation policy on a trial code before printing at scale. The five minutes of testing saves the cost of a reprint.