QR code campaign management — run the campaign, not 30 separate codes
Group codes into a campaign, set when they switch on and off, split traffic between destinations to see which creative wins, and report on the whole thing rather than reading 30 dashboards.
7-day free trial, no credit card required.
A campaign is several codes that have to behave as one
A single poster needs one code. A campaign needs thirty: one per store, one per region, one per creative, one per channel — because that is the only way to find out afterwards which of those things worked.
The moment there are thirty, the per-code view stops being useful. You need them grouped, you need them to start and stop together, and you need the report to roll them up. Managing that by opening codes one at a time is how campaigns end up unmeasured.
Tagging is what holds it together: tag every code in the campaign, and the filter, the report and the export all follow the tag rather than the individual code.
Time controls
Activation date
A code can be printed weeks early and simply not resolve until the campaign opens.
Expiry date
Set the end and the code stops pointing at a live offer instead of quietly running past it.
Scan limits
Cap the number of scans — useful for a limited redemption or a capped giveaway.
Routing and testing
Two ways to send the same printed code to different places.
| Feature | What it does | Plan |
|---|---|---|
| A/B split | Split scans between two destinations to compare landing pages or offers | Trial and Business |
| Country and region routing | Send scanners to the right market's page from one printed code | Pro and Business |
| Device and platform routing | App Store, Play Store or AppGallery from a single code | Pro and Business |
| Deep links | Open the app directly rather than the web page when it is installed | Business |
Routing rules apply to short links as well, so a campaign that runs across print and digital behaves consistently.
Reading the result
The report that matters at the end of a campaign is not the total. It is the comparison: which region, which creative, which channel, which day. Because each variant is its own code carrying the campaign's tag, that comparison is the default view rather than something you assemble by hand.
Scans forward to GA4 as events on every plan, so the offline half of a campaign lands in the same report as the online half, and retargeting pixels fire on scan so the audience you reached in print can be reached again online. Pixels are Pro and Business.
Scan alerts will email you when a code fires, which is the low-tech way to know a campaign has actually gone live. Full detail on QR code analytics.
Frequently Asked Questions
Can I change a campaign's destination mid-flight?
Yes. Every code is dynamic, so repointing it updates every printed copy immediately without resetting the scan history.
What does a scanner see after a campaign expires?
An expired code shows a plain end-of-campaign page rather than a broken link or an error. You can also repoint it at an evergreen page instead of expiring it.
How do I compare two creatives fairly?
Either print a different code per creative and compare their scan counts, or use one code with an A/B split so the same printed asset sends half the traffic to each destination.
Can I create a whole campaign's codes at once?
Yes. Bulk CSV generation creates them in one pass with per-row destinations and names, on Pro and Business.
Do campaign codes count against my plan limit?
Yes, each dynamic code counts: 10 on Starter, 50 on Pro, 600 on Business. Static codes are unlimited on every paid plan but cannot be tracked or edited.
Run the next one as a campaign
Seven days free, no card. Enough to schedule, split and read the result.
Start Free TrialNo credit card required. No ads on your scan pages, ever.