What you are seeing
The code scans, the browser opens, and the visitor meets a 404 not-found page. A 404 means the scan worked and the code is fine; the destination does not exist at the address the code carries. Pages get moved, renamed, unpublished, or mistyped, and a printed code keeps pointing at the old address long after the site changes. The fix is to repair the destination or the link, and to protect printed codes against future page moves.
Likely causes
1.
Page moved or renamed without a redirect — A page that changes address without a redirect leaves every printed code pointing at the old address. Test: open the old URL and check whether the site redirects to the new address.
2.
Page unpublished or deleted — A campaign page taken down after the campaign ends turns every printed code into a 404. Test: search the site for the page and check whether it still exists.
3.
Typo in the encoded URL — A mistyped slug, a missing character, or a wrong folder sends visitors to an address that never existed. Test: decode the payload and compare it with the real page address.
4.
Redirect rule broken or expired — A redirect that used to work can break when rules change, a shortener entry expires, or a campaign ends. Test: follow the redirect chain and note where it stops.
5.
Case or trailing-slash mismatch — Some servers treat addresses as case-sensitive, so a capital letter or a missing slash can turn a live page into a 404. Test: try the address with the exact case and slash pattern the site uses.
Step-by-step fix
1. Decode the payload and write down the exact URL the code carries.
2. Open that URL and confirm the 404, then find the correct current address for the page.
3. If the page moved, add a redirect from the old address to the new one.
4. If the page was deleted, restore it or point the redirect at the closest live page.
5. If the encoded URL has a typo, regenerate the code from the correct address.
6. Retest the full journey on two phones and confirm the final page is the intended one.
Putting this into practice
In practice, the lasting fix is to point printed codes at stable addresses you control, with redirects you can update when pages move. A code that points straight at a campaign page will break the day that page moves. A code that points at a stable redirect survives the move. Keep a short note of what you tested, what failed, and what you changed, so the next person starts from evidence rather than guesswork. A fix that is written down survives staff changes and reprints; a fix that lives only in memory gets repeated.
Common mistakes to avoid
- Deleting a campaign page while printed codes still point at it, with no redirect left behind.
- Reprinting the full run before a single proof passes, which turns one failure into many.
- Testing on one phone in ideal conditions instead of two phones in the real conditions where a code that shows a 404 error will be used.
- Changing the artwork and the placement at the same time, so you cannot tell which change fixed a code that shows a 404 error.- Skipping the proof test because the change looked small, when small changes cause most repeat failures.
Quick checklist
- The final page loads instead of a 404
- A redirect covers the old address if the page moved
- Printed codes point at stable addresses you control
- The corrected proof passes on two phones in the real conditions
- The fix is recorded in the job file so the next reprint starts from a proven setup
- Every printed copy is checked against the approved proof
- The proof is retested after any later change to the link, design, or placement
Related tools and guides
- [QR redirect chain viewer](/qr-redirect-chain-viewer)
- [QR expiry checker](/qr-expiry-checker)
- [QR batch validator](/qr-batch-validator)
- [QR typosquat checker](/qr-typosquat-checker)
- [QR safety checker](/qr-safety-checker)
- [UTM builder](/utm-builder)
- [blog](/blog)