How do I send scanners to different destinations by country or device?
Updated September 14, 2026 · 3 min read · Pro and Business
Edit a URL code, expand Rules & Limits on the Content step, switch on Dynamic Routing and add rules in the form If Country is India → Then go to …. Rules are checked in order and the first match wins; anyone who matches nothing gets the code's normal destination. It is a Pro and Business feature, and it is offered on the URL type only — other types keep their single destination.
Setting up routing rules
- Open a URL code from My QR Codes and click Edit, or create one with Create New → Create QR Code.
- Fill in the main Website URL first. That becomes the default destination — the box at the bottom of the routing editor, labelled Default destination (used when no routing conditions are met), mirrors it.
- Expand Rules & Limits and switch on Dynamic Routing. An empty rule appears.
- Build the condition: pick Country, Region, Device or Platform, choose is or is not, and select the values. Use Add condition for a second or third condition in the same rule — all of them must match.
- Type the target in Then go to.
- Add more rules with Add rule, then drag the handle to put them in the order you want. Click Update ✓.
What you can route on
| Field | Values | Notes |
|---|---|---|
| Country | Pick from a searchable country list | Determined from the scan itself, not from the phone's language setting. |
| Region | State or province names, comma-separated — for example Karnataka, California | Match the spelling used locally; matching ignores case. |
| Device | Mobile, Tablet, Desktop | Read from the browser that opens the scan. |
| Platform | iOS, Android | Any other operating system counts as unknown and falls through to the default. |
Limits: up to 10 rules per code, up to 3 conditions per rule, and up to 30 values in a single condition.
How a scan is matched
- Rules run top to bottom and the first rule whose conditions all match wins. The editor says so: Rules apply in order — the first match wins. Drag to reorder.
- Put the most specific rule first. A broad rule at the top will swallow the narrower ones below it.
- If nothing matches, the visitor goes to the default destination — your main Website URL.
- If a value cannot be determined — no country from the scan, a desktop with no mobile platform — the rule does not match, not even an is not rule. That traffic goes to the default.
- Rules with an empty destination or no values are ignored when you save.
Routing is evaluated on every scan, so you can change the rules at any time and the printed code keeps working. The destination the visitor lands on is recorded like any other scan, so analytics still show country, device and platform.
For app downloads, use the Apps type instead
Sending iPhone users to the App Store and Android users to Google Play does not need routing rules. The Apps type takes an App Store URL, a Google Play URL and an AppGallery URL, and picks the right one from the visitor's device — on every plan, with no rules to maintain.
See how to create an app store QR code. Keep dynamic routing for cases the Apps type does not cover: regional landing pages, country-specific shops, a desktop page that differs from the mobile one.
Common problems
Dynamic Routing is not in Rules & Limits
The code is not a URL code. The section is only offered on that type. It also needs a dynamic code, a signed-in session, and a Pro or Business plan — otherwise it is badged PRO.
Everyone lands on the default destination
Check that Dynamic Routing is switched on, that each rule has both values and a Then go to URL, and that the traffic really matches — desktop visitors have no iOS/Android platform, so a platform rule never catches them.
My region rule never fires
Region matching compares the name of the state or province returned for the scan. Try the local spelling, and add a country condition to the same rule so it cannot match a same-named region elsewhere.
Routing stopped working after a plan change
Routing is applied only while the account's plan includes it. On a plan without it, every scan goes to the default destination — the rules are kept and start working again after an upgrade.
I want to split traffic randomly instead
Routing is deterministic. For a percentage split, use A/B testing on a short link — see link routing and A/B testing.
Frequently asked questions
How many destinations can one QR code have?
Up to 10 routed destinations plus the default, so 11 in total.
Can I route by language?
Not on QR codes. The fields are country, region, device and platform.
Does routing work on a printed code I already distributed?
Yes. The rules live on our side, so the printed pattern never changes.
Can I route a vCard, PDF or menu code?
No. Dynamic routing is offered on the URL type only.
What happens if a routed URL is wrong or dead?
The visitor is sent to it anyway — a typo in a rule is not detected. Test every rule on a real phone before you print.
Related articles
How do I create an app download QR code?
Choose Apps, paste your iOS and Android store links, then Download. One code sends each phone to the store listing that matches it.
How do routing rules, A/B tests and link previews work?
Routing rules send visitors to different URLs by device, OS, country, region, city or language. A/B splits traffic by weight. Previews control the share card.
What happens when someone scans my QR code?
The camera opens qrcodestack.com/qr/…, we run a short list of checks, record the scan, then send the visitor on — or render a hosted page for display types.
How do I password-protect a QR code?
Edit the code, open Rules & Limits and type a password in Password Protection. Scanners then see an unlock page before the content. Pro and Business only.
Still stuck?
Email support@qrcodestack.com with the email on your account and, if it is about one code, its name or short link. A person replies within one business day, usually sooner.