QR codes for a restaurant menu that survive the next menu
A laminated table tent outlives four menus. If the menu address is baked into the printed code, every new menu is a new print run, and the old tents on the tables are pointing at a page that no longer exists.
The setup, end to end
- Put this season's menu wherever you host it. Nowhere to host it? A PDF in Google Drive with a public link, a pinned post on the Facebook page, or the menu on the Google Business profile all work: the code only needs an address, and the address is free to change later.
- Make one code per placement rather than one for the restaurant: the table tent, the window, the receipt footer.
- Tag each one with its own source, so the report can tell the window from the table.
What the tagged link looks like
https://example.com/menu?utm_source=table-tent&utm_medium=qr&utm_campaign=spring-menuAppended when the code is scanned rather than printed into the image, so the tags stay editable after the artwork is on paper. GA4 has no default channel rule for "qr", so these scans report as Unassigned. Add a custom channel group matching medium = qr to give it a name in your reports.
Show me how5 steps
Step 1 of 5
Open Channel groups
In GA4, click “Admin” (the gear, bottom left). Under “Data display”, open “Channel groups”. You need the Editor role or above.
Step 2 of 5
Create a group
Click “Create new channel group” and name it, for example “Channels with QR”. Your first custom group starts as a copy of GA4's default group. A standard property holds two custom groups, so if you already have two, add the channel to one of them instead.
Step 3 of 5
Add a QR channel
Click “Add new channel” and name it “QR code”. Click “Add condition group”, choose “Medium” and “exactly matches”, type qr, then click “Save channel”.
Step 4 of 5
Move it to the top, then save
A new channel lands at the bottom, and GA4 files a session under the first channel that matches. Click “Reorder”, drag “QR code” to the top, click “Apply”, then “Save group”.
Step 5 of 5
Read it in your reports
Open “Reports”, then “Acquisition”, then “Traffic acquisition”. In the table's dimension menu, pick your group. GA4 may list it as “Session custom channel group” rather than by its name. The group applies to past data too.
What goes wrong here
The menu moves and the tents do not. A seasonal restaurant repoints its code four times a year, which is four reprints with a static code and four edits with this one. The scan still lands on whatever the current menu is, including the version you uploaded ten minutes ago.
What it costs
- Live codes
- 3 free, unlimited on Pro
- Scans
- Never capped, any plan
- History
- 7 days free
- Expiry
- None, including after you stop paying
On a table tent
A tent is read from arm's length, so it is the smallest code on this list and the one most often printed too small anyway. Lamination adds glare, which costs more scans than size does: matt stock beats a larger code on gloss.
A common starting point is a code about a tenth as wide as the distance it will be read from. Print one at that size, scan it with the oldest phone you can find, and adjust. No table can answer this for your paper and your lighting.
Show me how to size it5 steps
Step 1 of 5
Find the scanning distance
Stand where somebody will stand to scan it, and measure to where the code will be. A table tent or a business card is read from arm's length, a window poster from the pavement, a car from the pavement or the car behind.
Step 2 of 5
Make it about a tenth of that distance
A common starting point is a code about a tenth as wide as the distance it is read from. From forty centimetres that is about four, from three metres about thirty. Keep a clear white margin around it.

Step 3 of 5
Download the file that fits the size
For a flyer, a card or a table tent, the PNG is enough. For a poster or a car, take the SVG or the PDF, which stay sharp at any size. On a Free account the code's page offers the PNG; SVG, PDF and EPS come with Pro.
Step 4 of 5
Print one proof
Print a single copy at that size, on the paper or vinyl the run will use. Matt stock scans better than gloss, and a fold or a foil finish across the code can stop it scanning.
Step 5 of 5
Scan it from the real distance, then print the run
Stand at the distance from step 1 and scan the proof with the oldest phone you can find, in the light it will hang in. If it hesitates, make the code larger and print another proof. When it scans at once, print the run.
No card. Nothing you print here stops working.