QR code showing ads when scanned
You printed a code that points at your menu, your form, your page. Now a scan shows an advertisement first · a countdown, a continue button · or an ad page with no destination at all. The print did not change. Something in the path behind it did, and what you can do about it depends entirely on whose domain the code actually points at.
What happened
Most codes made with an online QR service are dynamic: the printed pattern encodes a short address on the service's own domain, and every scan is a request to that service, which then forwards the phone to your destination. That hop is the product. It is also a surface the vendor owns outright, and an ad in front of your page is the vendor using it.
This is a pricing mechanism, not a malfunction. In this category, plan tables openly sell the difference between codes with ads and ad-free codes · ME-QR's free plan is literally "All QR codes with ads" · and free trials end with ads switched on. ME-QR's own FAQ states plainly that cancelling a subscription puts ads back into codes that are already printed: "all your codes will work, just ads will be shown again". The same pattern reached link-in-bio pages this year: free profile pages behind an interstitial ad. Terms like these can change after you print, because the thing you printed is an address on their machine · the vendor decides what a scan shows there, this month and every month after.
Check whose domain the code points at
Scan the code and watch the address bar before the redirect finishes, or paste a photo of the code into our free decoder, which reads out the exact address inside the pattern without visiting it. There are two outcomes:
- A short address on a domain you do not recognise · the code is dynamic and the ad belongs to the redirect vendor. Everything in the next section applies.
- Your own destination address · the hop is clean and the ads are on the destination side. Either the page itself carries them, or · if the page is now nothing but ads and a for-sale banner · the domain registration lapsed and a parking service is monetizing the traffic. That one is fixable without a reprint: renew or recover the domain and every printed code follows, because the pattern never changed. And because the address is yours, the same fact means the code can be rerouted without reprinting · our free rescue check names the mechanism in one screen.
The honest options for an already-printed code
- Pay the original vendor. Ad removal is usually a plan feature, so this works, immediately, on every printed copy at once. Price it honestly before you commit: the plan has to stay active for as long as the print run is out in the world, and at least one vendor · ME-QR, in its own FAQ · re-inserts ads the moment a subscription is cancelled. You are not buying the ads off; you are renting them off.
- Reprint with a code you control. The only option that removes the dependency instead of paying it. If a reprint was coming anyway · a menu revision, a packaging refresh, a new batch of stickers · fold the new code into it and let the old run age out. Make the replacement code · 30 free credits to start
- What no one can do: an already-printed code that points at someone else's domain cannot be re-pointed by anyone else. Not by us, not by another tool. The scan goes to the domain in the pattern, and only the party who controls that domain decides what answers. A service claiming to strip the ads from your existing print without the original vendor's cooperation is describing a reprint.
Avoiding this on the next print
Before printing a code that points at any vendor's domain, look for two things in writing: what a scan can show besides your destination, and what happens when you stop paying. If the answers are not published where you can link to them, assume they can change after you print.
Ours are published, as the anti-trap pledge. No interstitial ads, ever: a taproute scan is a redirect at the network edge, we put nothing in that path and sell nothing on it, and the only page that can appear between a scan and the destination is a brand-preview safety check you turn on yourself · we earn nothing from it. There is also no subscription to lapse into an ad tier: a code costs 1 credit to create, once, and 1 credit per scan, prepaid. At a zero balance, scans keep resolving for 14 days or 5% of your last top-up, whichever runs out first; past that, a scanner sees a paused page that says whose code it is · never an ad. The code is not deleted or recycled, and topping up resumes it instantly: same URL, same printed code.
Questions
Why does my QR code open an ad before the page I linked?
Because the printed code does not point at your page. It points at a short address on the QR platform’s own domain, and every scan asks that platform where to go next. Interstitial ads are how some platforms monetize codes on free plans, and codes whose trial or subscription has lapsed.
Can the ads be removed without reprinting the code?
Only by the vendor whose domain is inside the code, and usually only for payment: ad removal is typically sold as a plan feature, kept for as long as the code is on walls and paper. The scan lands on that vendor’s machine first, so no other service can reach into that path.
If I change the destination, does the ad go away?
No. The interstitial is served by the redirect service itself, before your destination loads. Repointing the code inside the vendor’s dashboard changes where the scan ends up, not what the vendor shows on the way there. The ad and the destination are separate settings, and only one of them is yours.
Does the ad mean my code was hacked?
Usually not. Decode the code and read the address inside. If it is the vendor’s short domain, the ad is that vendor’s monetization, not a compromise. If it is your own domain and the page is now all ads, the domain registration likely lapsed · recover it and the printed code follows.
Do taproute codes ever show ads?
No. A scan is a redirect at the network edge, and we put nothing in that path and sell nothing on it. The only page that can appear is a brand-preview safety check the code’s owner turns on themselves, and we earn nothing from it. The pledge that holds us to this is public.