Sign in

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

  1. 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.
  2. Make one code per placement rather than one for the restaurant: the table tent, the window, the receipt footer.
  3. 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-menu

Appended 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
  1. GA4 Admin, Data display section, with Channel groups highlighted.

    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.

  2. The new channel group form, with the group name field reading Channels with QR above the copied channels.

    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.

  3. A channel named QR code with the condition Medium exactly matches qr, and the Save channel button.

    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”.

  4. The reorder list with QR code dragged to the top, above Direct and Organic Search, and the Apply and Save group buttons.

    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”.

  5. The Traffic acquisition report grouped by Channels with QR, with a QR code row at the top.

    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
  1. Three reading distances drawn to scale from a printed code: 40 cm, 150 cm and 300 cm.

    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.

  2. The same three distances divided by ten: 40 cm gives a 4 cm code, 150 cm gives 15 cm, 300 cm gives 30 cm.

    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.

  3. The download buttons under a code: PNG, SVG, PDF and EPS.

    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.

  4. One proof sheet with crop marks, the code printed on it at its final size.

    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.

  5. An older phone scanning the proof from the measured distance, and beside it the printed run.

    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.

Make a free codeBuild the tagged URL

No card. Nothing you print here stops working.