Free tier, no card requiredDynamic QR codes that update after printGDPR-compliant scan analyticsBuilt for agencies, freelancers & in-house teamsFree tier, no card requiredDynamic QR codes that update after printGDPR-compliant scan analyticsBuilt for agencies, freelancers & in-house teamsFree tier, no card requiredDynamic QR codes that update after printGDPR-compliant scan analyticsBuilt for agencies, freelancers & in-house teamsFree tier, no card requiredDynamic QR codes that update after printGDPR-compliant scan analyticsBuilt for agencies, freelancers & in-house teams
All posts
A QR code connected to a small circular icon showing a mini bar chart, which forks toward two destination cards: an app-style tile with a play icon, and a browser window tile with a resolved, green-checked URL bar.
How-to

QR codes for Instagram and TikTok followers: why the platform's own code can't be tracked

Instagram and TikTok both hand you a ready-made profile QR code, but neither one reports a single scan back to you. Here's why that breaks a print or event campaign, and how to build a follow code that logs scans, supports A/B tests, and can be redirected after printing.

ScanKit

ScanKit · Organization

· 14 min read

The QR code on the poster is doing more work than it looks like

An agency gets asked to grow a client's Instagram or TikTok following, and somewhere in the brief there is a physical touchpoint: a poster, a table tent, an event badge, a flyer, a vehicle wrap. The easy move is to open the platform's own share screen, grab the QR code sitting right there next to the profile, and drop it on the artwork. It looks finished. It scans. Nobody in the design review asks a follow-up question.

Then the campaign runs, the client asks how many people scanned it, and there is no answer. Not a rough answer, not an estimate: nothing. The platform's own QR code was never built to report back to the account holder, and by the time anyone notices, the print run is already in a warehouse or the banner is already hanging at the trade show.

This is a narrower problem than most QR mistakes covered elsewhere on this blog. It is not about the code failing to scan, or about contrast and quiet zone, or about picking the wrong destination. The code works perfectly. It just cannot be measured, changed, or tested, because it was never designed as a campaign asset in the first place. It was designed as a convenience feature for two people standing near each other.

What Instagram's and TikTok's built-in QR codes actually are

Instagram generates a profile QR code from the share sheet: open a profile, tap Share Profile, and a scannable code appears, customisable with a solid colour, an emoji background or a selfie sticker. This replaced an older feature called Nametag, which used a proprietary pattern of colours, emoji and a face photo that only Instagram's own in-app scanner could read. The current version is a standard QR code that any phone's camera app can decode, which is a genuine improvement: it means the code works outside Instagram's walled garden, on a poster or a name badge, without asking the scanner to have the app open already.

TikTok's equivalent lives under the profile menu (the three lines or three dots, depending on platform), labelled simply "QR Code." It is a standard square QR code with a small set of preset background colours, also readable by any camera. Neither Meta nor TikTok publishes a print specification for these codes the way a packaging or signage vendor would, because neither company expects them to be printed at billboard scale: they are built for screen-to-screen or screen-to-camera exchanges at close range, not for a banner viewed from six metres away.

Other platforms have versions of the same idea. Snapchat's Snapcodes are the most mature implementation: a custom, camera-detectable code format with its own published usage guidelines, and (unlike Instagram's or TikTok's) a documented way to encode any URL, not only a profile link. Spotify Codes work similarly for artist and playlist pages. LinkedIn has a QR feature too, but it is scoped to an in-app "Find Nearby" proximity connect between two members already standing together, not a portable code meant for a flyer. None of these were built with a marketing team's measurement needs in mind, and that is the point worth sitting with before the artwork goes to print.

The part that actually breaks: there is no scan count anywhere

Here is the specific gap. Instagram's own analytics for a professional account (its Insights or Professional Dashboard) report profile visits, external link taps, follows and reach, all broken down by source in various ways. TikTok Analytics reports a comparable set of profile and content metrics. Neither one exposes a distinct "QR code scans" figure anywhere in that dashboard. A scan of the profile QR code, once it lands the visitor on the profile, is indistinguishable in the platform's own numbers from someone who typed the handle in from memory or tapped through from a comment.

That is not a bug the platforms are likely to fix, because the QR code was never treated as its own channel internally: it is a rendering of the existing profile URL, generated client-side, with no tracking parameter attached and no server in between to log the event. The scan itself happens entirely on the visitor's phone, in their camera app, before anything ever touches Instagram's or TikTok's servers. There is nothing for the platform to count, because the platform is never told a scan happened, only that a profile URL was opened.

This is not an argument that QR codes are a poor way to grow a following. Consumer willingness to scan a QR code in a physical setting is well documented: 1WorldSync's 2024 consumer survey found that 64% of shoppers had scanned an in-store product QR code, up from 46% the year before, to check reviews, pricing or extra product detail. People scan. The problem for a follower campaign specifically is not getting the scan; it is that the platform then absorbs it into an undifferentiated pile of "profile visits" with no way to separate the poster from the trade show badge from the flyer left on café tables across town.

Why that gap actually costs an agency money

Three concrete things become impossible the moment the QR code points straight at a native profile link, and all three matter more to an agency than to the brand doing this alone.

Proving the physical placement worked. A client who paid for print, a stand, or wrap media will ask what it returned. The scan metrics that actually matter for a campaign are total scans, scans over time and scan location, none of which exist for a bare platform QR code. Without them, the honest answer to "did the poster work" is "the follower count went up during the campaign, along with everything else that was happening that month," which is not a report an agency wants to hand over at the next renewal conversation.

Testing which version pulls harder. Running the same code with two different CTAs, two different placements, or two different creative treatments is standard practice, and A/B testing a QR code campaign depends entirely on being able to see which variant produced which scan count. A platform QR code cannot be split-tested this way, because there is no scan count to split.

Changing the destination without a reprint. Campaigns move. The client wants the code to land on a specific reel this week and the main profile next month, or the whole push shifts from TikTok to Instagram halfway through a print run that has already shipped. A QR code that can change destination without reprinting is one of the main reasons agencies use dynamic codes in the first place, and a native platform QR code cannot do it: the destination is baked into the code the moment it is generated, and a new destination means a new code, new artwork and a new print run.

The fix: put a redirect in front of the platform, not the platform in the code

The structural answer is straightforward. Instead of encoding the platform's profile URL directly into the printed QR code, encode a short, dynamic redirect link (the kind a dynamic QR platform generates) and have that link forward to the Instagram or TikTok profile, a specific post, or a bio-link page. The physical code never changes. What sits behind it can.

This single change restores everything the native code was missing. Every scan is logged with a timestamp, so total scans and scans over time exist again. The destination can be swapped from the dashboard at any point in the campaign without touching the artwork, which matters most exactly when it is least convenient: after the posters are printed, after the wrap is installed, after the trade show has started. And because the redirect is a normal web link rather than a platform-native share feature, it can carry a UTM-tagged forwarding URL, which means scans can show up correctly in Google Analytics 4 instead of folding invisibly into "direct" traffic, and a consistent UTM naming convention keeps that reporting comparable across every client and every campaign an agency runs.

The three steps stay the same regardless of which platform sits at the end.

A three-step diagram: a printed QR code, then a circular node that logs the scan, then a fork toward either an app tile or a browser tile.
The redirect in three steps: the printed code points at a redirect link, the redirect logs the scan, then it forwards the visitor into the app or the browser, whichever is installed and trusted.
  1. The printed code encodes the redirect link, not the profile link. Nothing about the physical artwork ever needs to change again.
  2. The redirect logs the scan, with a timestamp and, depending on setup, a rough location, before it does anything else. This is the step a native platform QR code skips entirely, because there is no server in between to do the logging.
  3. The redirect forwards the visitor on, either into the app or the mobile browser depending on what is installed and trusted, and the destination it forwards to can be changed at any point without reprinting the code that started the chain.

There is one technical wrinkle worth understanding before setting this up, because it decides whether the redirect opens the app or a browser. A link to a profile URL such as instagram.com/username or tiktok.com/@username is handled through Universal Links on iOS and App Links on Android: if the relevant app is installed and the operating system trusts the association, tapping the link opens the app directly; if not, it falls back to the mobile browser. Whether a QR code can open an app directly is a broader question than social profiles alone, but the mechanism is the same one at work here, and it behaves correctly for a code that gets scanned with a phone's camera.

The one place this breaks is worth flagging rather than discovering the hard way: if a redirect link is ever opened from inside another app's built-in browser, such as a link tapped from within Instagram's or TikTok's own in-app browsing view, that in-app browser frequently suppresses the operating system's usual app-handoff behaviour and keeps the visitor trapped in the WebView, never reaching the native app even when it is installed. For a QR code scanned with a phone's camera app, printed on a poster or a badge, this scenario never arises. It only matters if the same redirect link is ever shared as a tappable link inside another platform's app, which is a different distribution channel with its own considerations, not the QR code use case this guide is about.

Where a native platform QR code is still the right call

None of this is an argument to redirect every QR code an account ever generates. When two people are standing next to each other and one wants to follow the other on the spot, the platform's own QR code is faster to reach (already on the share screen, no other app or dashboard involved) and there is nothing to measure in that moment anyway: it is a handshake, not a campaign. The same goes for a QR code on a personal business card, where the entire relationship is already a one-to-one exchange and the value is the convenience, not the attribution.

The redirect approach earns its keep specifically where a QR code is doing marketing work at a distance from the account holder: printed collateral, an unstaffed table, signage at a booth, or an event and trade show setup where hundreds of people scan a badge or a banner over several days and nobody from the brand is standing there to notice who did. That is exactly the setting where an agency's reporting obligations kick in, and exactly the setting where the platform's own QR code quietly stops being a marketing tool and starts being a black box.

Frequently asked questions

Does Instagram track QR code scans?

No. Instagram's Insights and Professional Dashboard report profile visits, external link taps and follows, but there is no separate metric for scans of the profile's own QR code. A scan that lands on the profile is counted the same as any other profile visit, with no way to isolate it.

Can I see how many people scanned my TikTok QR code?

Not through TikTok's own analytics. TikTok Analytics reports profile and content-level metrics but does not break out QR code scans as their own figure, for the same structural reason as Instagram: the code is a client-side rendering of the profile link, generated with nothing on TikTok's servers logging the scan event itself.

What is the difference between a platform's QR code and a dynamic QR code?

A platform-generated QR code (Instagram's, TikTok's, or similar) encodes the destination URL directly and permanently at the moment it is created. A dynamic QR code encodes a short redirect link instead, so the destination, and the analytics attached to it, can be changed at any point after the code has already been printed and distributed.

Will a QR code that redirects to a social profile open the app or a browser?

It depends on whether the app is installed and whether the operating system trusts the app-to-website association for that platform, using Universal Links on iOS and App Links on Android. If both conditions hold, it opens the app directly; otherwise it opens in the mobile browser. Either way, the redirect step itself still gets logged before the handoff happens.

Yes, but only if the printed code encodes a dynamic redirect link rather than the final destination directly. A code that encodes a platform profile URL, or any other URL, permanently at generation time cannot be repointed later without reprinting it.

What happened to Instagram's Nametag feature?

Nametag was Instagram's earlier profile-sharing feature, using a proprietary pattern of colour, emoji and a selfie photo that only Instagram's own in-app scanner could read. It has been phased out in favour of a standard QR code that any phone camera can scan, which is why current guidance and screenshots referencing Nametag are out of date.

Is it still worth using QR codes to grow a following in 2026?

The scanning behaviour supports it: surveyed shoppers already scan QR codes routinely for far less compelling reasons than following a brand they already like, and a code on a poster, badge or table tent removes every step between seeing the offer and following the account. The part worth fixing is not whether to use a QR code, but which one: a redirect-based code reports back and can be changed later, a native platform code cannot do either.

Yes, and it is one of the main reasons to route the QR code through a redirect in the first place. A UTM-tagged forwarding link lets scans show up correctly in Google Analytics 4 instead of disappearing into direct traffic, and a consistent naming convention across campaigns and clients keeps that reporting comparable months or years later.

The short version

Instagram's and TikTok's own QR codes work fine as codes: they scan, they are readable by any camera, and they land the visitor on the right profile. What they cannot do is report a single scan back to the account holder, be split-tested, or be repointed once they are printed, because none of that was ever part of the feature's job. For a personal, in-person exchange, that is fine. For any QR code doing marketing work at a distance, print a redirect link instead of the platform's raw profile URL, and everything the native code was missing (scan counts, A/B tests, and the ability to change the destination without a reprint) comes back.

Share

Keep reading

QR codes for Instagram and TikTok followers: why the platform's own code can't be tracked | ScanKit