Contextual Routing for QR Codes and Links
One code, the right page for every visitor. Contextual routing picks the destination by device, operating system, country and time — try it in the simulator below.
Destination rules (first match wins)
- 1
- 2
- 3
Pretend visitor
This visitor goes to
https://example.com/de
Matched rule 2
Overview
What is contextual routing?
Contextual routing means a single QR code or short link can lead to different destinations depending on who opens it and when. You write rules such as “iPhone users go to the App Store”, “visitors from Germany see the German page” or “between 5 and 8 pm show the happy-hour menu”, and every scan is checked against them in order.
Rules are evaluated top to bottom and the first match wins; if nothing matches, the default destination is used. The simulator above uses exactly the same engine as our redirect server, so what you see there is what a real scan will get. Once the rules look right, add them to any dynamic code or Smart Link.
Without contextual routing you would need a separate code for every audience, or a landing page that asks people to choose. Both cost scans. With contextual routing, the printed code stays simple and every visitor still reaches the most relevant page — in their language, for their phone, at the right time of day.
Use cases
Examples of contextual routing
Common rules people set up in minutes.
App stores by OS
Send iOS to the App Store and Android to Google Play from one printed code.
Language by country
Show visitors from each country the right language or currency.
Menus by time
Breakfast, lunch and dinner menus from one table code.
Desktop vs mobile
Send phones to a mobile page and computers to the full site.
Event phases
Combine with start and end dates to switch content before, during and after an event.
Regional offers
Run promotions only in the markets where they apply, with a fallback elsewhere.
How it works
How to set up routing rules
Rules live on any dynamic QR code or Smart Link.
- 1
Create a dynamic code or Smart Link
Set the default destination people get when no rule matches.
- 2
Add destination rules
Open the Destinations option and add up to ten rules with device, OS, country and hour conditions.
- 3
Test, then share
Check the rules in the simulator here, save, and share the code. Edit rules any time without reprinting.
Best practices
Tips for reliable rules
A few habits keep your rules predictable.
Put specific rules first
The first match wins, so place narrow rules (iOS in Germany) above broad ones (all of Germany).
Hours use UTC
Time conditions are evaluated in UTC. Convert your local opening hours before adding them.
Always set a good default
Visitors who match no rule land on the default destination, so make it a page that works for everyone.
Simulate before you print
Try a few pretend visitors in the simulator — an iPhone in the US, an Android phone in Germany, a laptop at night — and check every rule fires as planned.
Keep country lists short
Group countries that share a language or offer, such as DE, AT and CH, rather than writing one rule per country. Fewer rules are easier to read and maintain over time.
Review rules after campaigns
Remove time or country rules when a promotion ends, so contextual routing does not keep sending visitors to an expired offer.
FAQ
Frequently asked questions
What is contextual routing?
- Contextual routing sends visitors of the same QR code or link to different pages depending on their device, operating system, country or the time of day.
How are rules evaluated?
- Top to bottom. The first rule whose conditions all match decides the destination; if none match, the default destination is used.
How is the country detected?
- From the network the visitor connects through, at country level only. We never use GPS or ask for location permission.
Can I combine conditions in one rule?
- Yes. A rule can require an OS, a device type, a list of countries and an hour range at the same time; all must match.
What time zone do hour rules use?
- UTC. For example, 17–20 UTC is 18:00–21:00 in Berlin in winter.
How many rules can I add?
- Up to ten per code or link, which covers most setups. Keep the list short so it stays easy to reason about.
Does routing work with A/B tests?
- Rules are checked first. Visitors who match no rule are split between your A/B variants if you set them up.
Does contextual routing work on static QR codes?
- No. Routing needs a redirect, so it is available on dynamic codes and Smart Links only.
Is the simulator accurate?
- Yes. It runs the same rule engine as our redirect server; only the visitor details are pretend.
What happens if two rules overlap?
- Only the first matching rule counts. If an iPhone visitor from Germany matches both an iOS rule and a Germany rule, the one higher in the list wins, so order your rules from most to least specific.
Do rules slow down scans?
- No. Rules are evaluated in memory in well under a millisecond before the redirect.
Can I see which rule sent each visitor?
- Scan statistics show the device, OS and country breakdown, which reflects how your rules split traffic.
Can I change rules after printing?
- Yes. Edit them in My QR codes at any time; the printed code stays the same.
Is contextual routing included in the free plan?
- Yes. Contextual routing is available on dynamic codes and Smart Links, including the free ones, within the plan’s code limit.
What is the difference between contextual routing and an A/B test?
- Contextual routing chooses a page based on who the visitor is. An A/B test splits similar visitors randomly to compare two pages. You can use both on the same code.