ProductsLinkQR codes
Read a QR code's funnel
See scans, visits, clicks, subscriptions, and revenue for one printed piece.
Every code's stats are computed live from the same attribution tables the rest of your reporting reads — nothing is pre-aggregated or stored on the code itself, so the numbers are always current as of the request.
curl https://app.tease.link/api/admin/qr/links.creator.com \
-H "Authorization: Bearer $TEASE_API_KEY"Returns every code on the domain, each with a stats object:
| Stat | Meaning |
|---|---|
scans | Scan events for this code specifically (recorded with button_id: __angel_qr__) — how many times the printed carrier was actually scanned. |
visits | Landing-page visits carrying this code's source label — the scan's redirect landing. |
clicks | Human button clicks on those visits (the scan event itself isn't counted here — this is what happened after the visitor landed). |
subs / revenue_cents | Subscriptions and gross revenue attributed to those clicks, via the click id joining to conversions — the same join the rest of Link's dashboards use. |
How to read it
scans and visits should track closely — a big gap usually means bot/preview traffic hitting
the scan path without a real visitor behind it (link-preview crawlers redirect but don't render a
page). clicks, subs, and revenue_cents tell you whether the traffic a carrier drives
actually converts, comparable code-to-code and against your other traffic sources since they run
through the same pipeline.
If a number looks wrong
scansis 0 but you know it's been scanned — confirm the code isactiveand that you're reading the right domain; a scan of a disabled code still redirects the visitor but is never labelled, so it won't show up here at all (see Rename or disable a QR code).- A renamed code's history looks split — it shouldn't be: the
sourcelabel is stamped once at creation and never changes when you rename the slug, so stats before and after a rename stay on the same code. If you're comparing against an old export keyed by slug rather than by code id, that's the mismatch. subs/revenue_centslagclicks— conversions can post after the click; re-check after the usual attribution window has passed rather than assuming the code under-converts.
What's next
- Rename or disable a QR code — once you know which carriers are working, act on it without losing this history.