One QR code, different destinations
Smart routing lets one printed QR code send people to different places depending on the scan. CirculateQR checks your rules on every scan, from the top, and the first rule whose conditions all match decides where the person goes. If none match, they get your default link.
Rules can look at the device (iPhone, Android or desktop), the scanner’s local time and day of the week, the phone’s language, whether the scan comes from inside an area you draw, the current weather where the scanner is, and how many times the code has been scanned. A rule can redirect, split traffic for an A/B test, ask for a password or email first, fire a Meta Pixel or GA4 tag, or notify a webhook.
Rules checked on every scan, first match wins
Make a link code
Routing decides where link-type codes go: link, social, event, form and order codes. Hosted menus, portals and product pages always open their own page.Add rules
Use quick blocks in Studio (iPhone and Android links, a language, a time window, an area, an A/B split) or build full rules on the Workflows page.Put them in order
Rules are checked from the top and the first match wins, so put the most specific rules first.Publish and check
Scan from different phones or at different times. Each scan in your analytics records which rule matched.
Scan arrives → rules checked in order
- 1If phone language is Spanish → Spanish landing page
- 2If time is between 11:00 and 15:00 → Lunch specials page
- 3If weather is rainy → Delivery offer
- 4If device is iPhone → App Store listing
- Nothing matched → your main website
Conditions and actions
Device
iPhone, Android, desktop, or any mobile, read from the browser.
Time and day
Before, after or between times in the scanner’s local time zone, and days of the week. Overnight windows work.
Phone language
Sends people to a link you made for their language. It doesn’t translate your pages.
Location
Inside or outside a radius around a point. Uses approximate location from the IP address (about city level), not GPS.
Weather
Clear, cloudy, foggy, rainy, snowy or stormy at the scanner’s approximate location, from Open-Meteo.
Scan count and returning visitors
Change the destination after a set number of scans, for example after the first 100, or send returning visitors somewhere different from first-timers.
A/B split
Send a set percentage of scans to one link and the rest to another, then compare results.
Gates
Ask for a password, an email address or an age confirmation before revealing the destination.
Pixels and webhooks
Fire a Meta Pixel or GA4 tag before the redirect (skipped for visitors who opt out of tracking), or notify your own webhook.
What each plan includes
Plan inclusions as listed on the pricing page. Routing applies to link-type codes.
Device and language rules
- StandardFree
- ✓
- Studio$12/mo
- ✓
- Artisan$39/mo
- ✓
- Stealth$149/mo
- ✓
Time and location rules
- StandardFree
- —
- Studio$12/mo
- ✓
- Artisan$39/mo
- ✓
- Stealth$149/mo
- ✓
Scan-count and returning-visitor rules
- StandardFree
- —
- Studio$12/mo
- ✓
- Artisan$39/mo
- ✓
- Stealth$149/mo
- ✓
A/B split
- StandardFree
- —
- Studio$12/mo
- ✓
- Artisan$39/mo
- ✓
- Stealth$149/mo
- ✓
One-time codes
- StandardFree
- —
- Studio$12/mo
- ✓
- Artisan$39/mo
- ✓
- Stealth$149/mo
- ✓
Weather rules
- StandardFree
- —
- Studio$12/mo
- —
- Artisan$39/mo
- ✓
- Stealth$149/mo
- ✓
Pixel setups (Meta, GA4, TikTok)
- StandardFree
- 2
- Studio$12/mo
- 5
- Artisan$39/mo
- 10
- Stealth$149/mo
- 50
Webhook endpoints
- StandardFree
- 1
- Studio$12/mo
- 5
- Artisan$39/mo
- 25
- Stealth$149/mo
- 100
Password, email and age gates, end dates, UTM tags
- StandardFree
- ✓
- Studio$12/mo
- ✓
- Artisan$39/mo
- ✓
- Stealth$149/mo
- ✓
| StandardFree | Studio$12/mo | Artisan$39/mo | Stealth$149/mo | |
|---|---|---|---|---|
| Device and language rules | ✓ | ✓ | ✓ | ✓ |
| Time and location rules | — | ✓ | ✓ | ✓ |
| Scan-count and returning-visitor rules | — | ✓ | ✓ | ✓ |
| A/B split | — | ✓ | ✓ | ✓ |
| One-time codes | — | ✓ | ✓ | ✓ |
| Weather rules | — | — | ✓ | ✓ |
| Pixel setups (Meta, GA4, TikTok) | 2 | 5 | 10 | 50 |
| Webhook endpoints | 1 | 5 | 25 | 100 |
| Password, email and age gates, end dates, UTM tags | ✓ | ✓ | ✓ | ✓ |
Annual billing saves about 20%. Full plan comparison
Where it's useful
Music and apps →
Send iPhones to Apple Music or the App Store and Android phones to their own link.
Restaurants →
A link code that opens the lunch menu page at midday and the dinner page in the evening.
Visitors from abroad →
Send phones set to Spanish, French or Japanese to the page you made in that language.
Weather-driven offers →
Show a rainy-day promotion when it’s raining where the scanner is.
Print campaigns →
Split scans between two landing pages and keep the one that converts better.
Limited offers →
Give the first scanners an early offer, then switch everyone else to the regular page.
Frequently asked questions
What is a smart QR code?
A smart QR code is a dynamic code with rules: it sends each scan to a destination chosen at the moment of the scan, based on things like the device, time, language or location, instead of always opening the same link.
Can one QR code open different links on iPhone and Android?
Yes. Add a device rule, or use the iPhone and Android links block in Studio. iPhones go to one link, Android phones to another, and everyone else to your default link.
Does language routing translate my page?
No. It sends people whose phone is set to a language to a page you’ve made in that language. Nothing is translated automatically.
How accurate is location routing?
It uses the approximate location of the scanner’s internet connection, which is usually right to the city. It’s good for “inside this city or region”, not for a single building, and it doesn’t ask for GPS permission.
What happens if no rule matches?
The scan goes to the code’s default destination. Every code has one, so there is always somewhere to land.
Can I see which rule sent each scan?
Yes. Each scan in your analytics records the rule that matched, so you can check your routing is doing what you expect.
Related
Guides
Other features
Route your first code
Make a link code, add a device or time rule, and send each scan where it should go.