QR-menu’s: wijzig de menupagina, niet de code
Er wordt gezegd dat je een bewerkbare code nodig hebt. Wat dagelijks verandert, is de inhoud van de menupagina, niet het adres — en een statische code doet dat gratis.
yourrestaurant.com/menu blijft hetzelfde, terwijl de gerechten erop elke service wisselen. De dynamische verkooppraat vervaagt dat onderscheid: je wordt bewerken van het *pagina-adres* verkocht, terwijl je in werkelijkheid de *pagina-inhoud* bewerkt.QR-codes voor menu’s werden in 2020 overal gebruikt en zijn nooit verdwenen. Bij de meeste restaurants werd de code één keer gemaakt door degene die de website beheerde, en daarna nooit meer bekeken — wat belangrijk is omdat deze situatie juist in de horeca voorkomt: veel codes, veel scans, lang meegaand drukwerk en krappe marges.
Waarom worden restaurants per tafel gefactureerd?
Omdat een prijs per code samenkomt met een bedrijf dat veel codes nodig heeft. Een restaurant met twaalf tafelkaartjes, een raamsticker en een sticker op een afhaaltas heeft veertien codes. Bij een dynamisch abonnement met prijs per code zijn dat veertien maandelijkse posten, voor een menu dat vroeger alleen de prijs van papier kostte.
Het abonnement blijft hier ook ongewoon lang lopen. Tafelkaartjes zijn gelamineerd, stickers kleven vast en menu’s worden hooguit per seizoen opnieuw gedrukt. Opnieuw drukken is een echt project, dus het maandbedrag blijft er comfortabel onder — en precies zo is de prijs gekozen. De echte kosten van een "gratis" QR-code legt die rekensom uit.
Wat leert de aanbieder over je gasten?
Elke scan is een HTTP-verzoek aan de aanbieder voordat het menu wordt geladen. Zonder cookies of toestemming ontvangen zij het IP-adres, tijdstip, apparaat en besturingssysteem van de gast, plus de voorkeurstaal — en omdat elk tafelkaartje een eigen korte link heeft, ook om welke tafel het ging.
Bij elkaar opgeteld geeft dat een gedetailleerd beeld van je service: het aantal gasten per uur, de omloopsnelheid van tafels, welke tafels populair zijn, patronen op werkdagen tegenover het weekend en de talenmix van je klanten. Het is echt bruikbare operationele informatie over je restaurant, maar die wordt door je meubilair gegenereerd en door iemand anders verzameld.
Over het hele klantenbestand van de aanbieder gaat het om meer. Dezelfde apparaatvingerafdruk die terugkomt bij restaurants, winkels en locaties in een stad beschrijft iemands verplaatsingen. Het Hof van Justitie oordeelde in *Breyer* (C-582/14) dat een dynamisch IP-adres dat door een websitebeheerder wordt geregistreerd, een persoonsgegeven kan zijn. Daarom gaat dit om naleving en niet om nieuwsgierigheid — en volgens de AVG komt de verantwoordelijkheid doorgaans te liggen bij het bedrijf dat de code heeft ingezet. Wat een QR-proxy logt gaat hier dieper op in.
Wat gaat er in de praktijk mis?
| Probleem | Wat de gast ziet | Wanneer dit meestal gebeurt |
|---|---|---|
| Abonnement verlopen | Een melding om te upgraden in plaats van het menu | Een betaalkaart verloopt of de persoon die het instelde vertrekt |
| Scanlimiet overschreden | Af en toe een foutmelding of advertentiepagina | Tijdens je drukste service — zie scanlimieten |
| Aanbieder stopt of wordt overgenomen | Op elke tafel een dode code | Zonder waarschuwing en zonder verhaalsmogelijkheid |
| Sticker eroverheen | Een overtuigende nep-betaal- of wifipagina | Wanneer niemand de fysieke kaartjes heeft gecontroleerd — zie quishing |
De eerste drie zijn hetzelfde probleem in een andere gedaante: het menu hangt af van een bedrijf dat niet van jou is. Het vierde staat los van de facturering, maar wordt er wel door verergerd, omdat een gast die gewend is aan een onbekend kort domein niet kan zien dat een kwaadaardig domein anders is.
Volgens de beoordeling van het NCSC zijn QR-codes in cafés en restaurants meestal veilig, terwijl veel meer voorzichtigheid nodig is bij codes die per e-mail binnenkomen. Het resterende fysieke risico is de sticker die over de code heen is geplakt. De oplossing is eenvoudig: controleer de kaartjes.
Hoe ziet de vaste versie eruit?
| Dynamisch (tegenwoordig gebruikelijk) | Statisch op je eigen domein | |
|---|---|---|
| Maandelijkse kosten | Per code, per maand, voor onbepaalde tijd | Nul |
| Wat het voorbeeld van de gast toont | Een onbekend kort domein | yourrestaurant.com |
| Wie de scan logt | Een externe aanbieder | Je eigen server |
| Als de betaling stopt | Elk tafelkaartje werkt niet meer | Er gebeurt niets |
| Het menu wijzigen | De pagina bewerken | De pagina bewerken |
| De bestemmings-URL wijzigen | Dashboard van de aanbieder | Een omleiding op je eigen domein |
Hoe zit het met bestel- en betaalcodes?
Die moet je los zien van menucodes, omdat het risicoprofiel echt anders is en het advies niet hetzelfde is.
Een bestel-en-betaalcode stuurt een gast naar een pagina waar die kaartgegevens invoert. Daardoor worden alle problemen in dit artikel ernstiger: een sticker over een betaalcode leidt rechtstreeks naar kaartfraude in plaats van alleen naar ergernis, en een gast die jouw domein niet kan herkennen in het voorbeeld, kan je betaalpagina niet onderscheiden van een overtuigende kopie. De waarschuwing van de FTC over stickers die over legitieme codes worden geplakt gaat in andere situaties precies over dit patroon; parkeermeters zijn het bekendste voorbeeld.
Daaruit volgen twee regels. Ten eerste moet een betaalcode altijd je eigen domein of het echte domein van je bestelplatform bevatten — nooit een algemene verkorter, omdat je daarmee het enige controlesignaal van de gast wegneemt. Ten tweede moet je het domein in leesbare tekst naast de code afdrukken en de fysieke kaartjes volgens een schema controleren; beide maatregelen zijn goedkoop en samen de enige verdediging die aan tafel werkt.
Als je bestelplatform de codes uitgeeft, decodeer er dan één en kijk welk domein in de inhoud staat. Sommige platforms zetten hun eigen domein er rechtstreeks in, en dat is prima. Andere sturen eerst via een externe verkorter, waardoor er een extra, niet-gecontracteerde partij tussen je gast en het kaartformulier komt.
Hoe stap je over?
- Decodeer een huidig tafelkaartje met onze lezer en kijk welk domein in de inhoud staat. Als het niet van jou is, gebruik je een gehuurde omleiding.
- Kies een stabiele URL —
yourrestaurant.com/menu— en zorg dat die niet verandert. Als je de mogelijkheid wilt houden om die later te verplaatsen, laat je de code naaryourrestaurant.com/mverwijzen en stuur je vanaf daar door. - Genereer een statische [URL-QR-code](Url) die dat adres bevat.
- Voeg tracking per plaatsing toe als je dat wilt:
?src=table,?src=window,?src=takeaway. Je eigen analysetools geven je dan dezelfde aantallen per plaatsing die het dashboard je verkocht. - Druk de URL in leesbare tekst naast de code af, zodat gasten het menu zonder scannen kunnen bereiken en kunnen zien dat de code van jou is.
- Druk opnieuw af tijdens je volgende geplande drukronde, en zeg het abonnement op zodra de oude kaartjes niet meer worden gebruikt.
Als de codes al dood zijn en gasten vandaag op een upgradepagina terechtkomen, behandelt de gids voor herstel na gijzeling de noodprocedure voordat je opnieuw laat drukken.
Veelgestelde vragen
- Kosten QR-menu’s voor restaurants geld?
- Dat zou niet nodig moeten zijn. De code is gratis te maken en het menu staat op je eigen website. Terugkerende kosten ontstaan alleen wanneer de code via de omleiding van een aanbieder loopt, die per code per maand rekent.
- Kan ik mijn menu wijzigen als de QR-code statisch is?
- Ja. De code verwijst naar een pagina-adres, niet naar de inhoud van de pagina. Werk het menu op die pagina zo vaak bij als je wilt — ook dagelijkse specials — en de gedrukte code hoeft nooit te veranderen.
- Wat gebeurt er met mijn tafelkaartjes als ik stop met betalen?
- Bij dynamische codes werkt elk kaartje diezelfde dag niet meer. Bij statische codes valt er niets stil waarvoor je moet blijven betalen.
- Moet de QR-code naar een pdf of een webpagina gaan?
- Naar een webpagina. Pdf’s zijn traag op mobiel, lastig te lezen op een telefoon en vereisen vaak inzoomen met twee vingers. Een mobielvriendelijk HTML-menu op een stabiele URL is sneller en eenvoudiger bij te werken.
- Hoe weet ik of iemand aan een tafelkaartje heeft gezeten?
- Controleer fysiek of er een sticker over het origineel zit en decodeer af en toe een kaartje om te bevestigen dat de inhoud nog steeds naar jouw domein verwijst. Zowel de FTC als de FBI hebben gewaarschuwd voor stickers over codes die voor het publiek zichtbaar zijn.
Vervang de codes nu, zodat alles klaar is voor de volgende drukronde: URL-QR-code. Achtergrond: de waarheid over QR-codescams.
Klaar voor een statische QR-code?
Genereer er een in je browser — geen account, geen tracking, geen abonnement. Wat je maakt is van jou.
Gerelateerde artikelen
QR-scans loggen data: jij draagt de aansprakelijkheid
Scananalyses zijn geen extra functie. Ze zijn de reden dat de omleiding bestaat — en niet de partij die de gegevens bewaart, maar een andere partij draagt het juridische risico.
Bewerkbare QR-codes zonder abonnement: één regel config
Het antwoord op "maar ik moet de bestemming later kunnen wijzigen" is geen abonnement. Het is een redirectpad op een domein dat je al bezit.
QR-scanlimiet? Uw campagne valt stil bij piekdrukte
Een limiet maakt een code niet netjes onbruikbaar. Sommige mensen krijgen soms geen toegang — en uw dashboard toont dat als een campagne die afzwakt.
QR-phishing: misbruikte domeinen zijn QR-generatoren
De omleidingslaag die ‘gratis’ QR-generatoren aan gewoon drukwerk toevoegen, is dezelfde laag waarop aanvallers vertrouwen — en scanners verloren daardoor hun laatste verdedigingslinie.
QR-codes zijn sinds 2000 vrij: waarvoor betaal je?
Het maandbedrag is niet de prijs. De prijs is dat bedrag vermenigvuldigd met elke code die je hebt gedrukt en elke maand dat het materiaal blijft bestaan.