
What a 3-Location Bakery Should Measure with QR Codes
Picture a bakery with three shops in one city. The original sits on a residential corner. The second is a stall inside a covered market. The third faces an office block that empties out at six. Same croissants, three completely different Tuesdays.
That bakery is invented. Nothing below is a case study, no figure here was observed anywhere, and if a percentage ever appears in your version of this, it will be because you collected it yourself. What follows is a model: the codes such an operation would place, the question each one has to answer, and the traps that make the answers wrong.
Which codes each shop actually needs
Four placements cover most of what a bakery can learn without turning the counter into a billboard.
The counter code. Eye level, beside the register, where somebody stands for ninety seconds waiting on a coffee. Highest-intent spot in the building. Point it at whatever you most want from a person who already bought something: the loyalty signup, the holiday preorder page, or a review request.
The window code. Faces the street. Gets scanned when you are closed, or when the line looks too long to join. Different audience entirely. Point it at hours, today's menu, and a way to order ahead. A window scan at 9pm on a Sunday represents a person you failed to serve, so give them a reason to come back Monday.
The box insert. A card dropped into every pastry box and cake box. It gets opened at home, at a table, with time to spare. Best home for anything needing more than ten seconds of attention: the sourdough story, the wholesale inquiry form, the catering pitch, or a coupon toward the next visit.
The receipt code. Printed at the bottom of every receipt, so it travels home with people who bought nothing but a coffee. Lowest intent, highest volume. Good for feedback, and good for measuring the gap between buying something and caring enough to scan.
Four codes, four jobs. Do not point all four at the homepage. If they share a destination you own four codes and one number, and you learn nothing about which placement earned it.
What each code should be judged on
Different placements deserve different scoreboards. Grading a receipt code against a counter code's standard will make you rip out something that was working.
- Counter code: conversion rate. Of the people who scan, how many finish the signup or leave the review? Raw scan volume matters less here, because the audience is small and captive.
- Window code: scans outside opening hours. That is the number nobody else in your business can give you, and it stands in for demand you are currently missing.
- Box insert: scans per box sold. You already know how many boxes went out. The ratio tells you whether the card is being seen or landing face-down under a cake.
- Receipt code: total volume and time-of-day shape. It is your widest sample of foot traffic, so it is the best place to test whether the 3pm lull is real or imagined.
Write each standard down before you print anything. Once numbers exist, the temptation is to grade every code on whichever metric it happens to win.
Give every location its own code
This is the step people skip and then regret four months later.
If all three shops print the same counter card, you get one combined number with no way to split it. Same artwork, same destination, one code: you have learned that the bakery has customers.
Give each shop its own code for each placement. Twelve codes in this model, which sounds like a lot until you generate them in one pass. A bulk generator produces twelve at once with the naming already attached, so the market stall's window code arrives labeled as the market stall's window code and stays labeled through six months of reports.
Two things fall out of that setup, either of which justifies it alone. First, comparison. The office-block window code and the residential window code are answering genuinely different questions about their neighborhoods, and you cannot ask either question of a merged number. Second, attribution when something breaks. If box-insert scans go flat at one site only, that is a supply problem at one site: somebody stopped putting cards in boxes. Flat everywhere means the destination page is down.
The staff-scan problem
Here is what will quietly ruin your first month of data.
Your staff will scan the codes. Testing them, showing a customer how it works, checking whether the new menu went live, killing time between rushes. A morning baker who checks the counter code every day at open contributes one scan a day from one phone, and across four codes and three shops that pattern puts a real dent in a small sample.
How to spot it:
- Clusters at open and close. Scans stacking at 6:05am and 8:50pm, when there are no customers in the room, are almost always employees.
- A repeating daily pattern from one location in whatever analytics view your generator provides.
- Impossible sequences. Four codes scanned inside a minute is one person walking the room, not four customers.
- A spike on the exact day you installed something. That is the team playing with the new thing.
What to do about it: run a baseline week where you ask staff not to scan at all, and see what the floor looks like without them. Then either subtract that baseline or accept it as noise whose size you know. Better still, ask the team to test from a browser bookmark instead of the printed code, which removes the problem at its source.
Do not skip this and then make a decision on the output. Plenty of small operators have concluded a placement was working when they were mostly measuring their own employees.
Reading a difference between shops without over-reading it
Say the market stall's box insert gets scanned twice as often as the residential shop's. Tempting conclusion: market customers care more.
Slow down and ask, in this order:
- Are the volumes large enough to mean anything? Eight scans against sixteen is the difference between two afternoons. Four hundred against eight hundred is a pattern. Anywhere in between, wait another month.
- Are the placements truly identical? If one shop tucks the card under the pastries and the other tapes it to the lid, you are measuring card placement, not customers.
- Is the product mix different? A shop selling more whole cakes sells fewer boxes with cards in them. Ratios move for reasons that have nothing to do with interest.
- Did anything change locally? Scaffolding across the window, a moved register, a manager who trained the team on the code at one site and not the others.
With a small sample, the safe move is to treat a difference as a question rather than an answer. Change one thing at the losing site, wait a month, and see if it moves. That is slower than declaring a winner, and it is the only version that survives contact with a third month of data.
Budget is not the constraint here. None of this needs a paid analytics stack, and the low-cost approaches that work for a single shop scale to three without new spend. The same reasoning that makes codes work for a small business is what makes three locations comparable to each other.
Print one placement first. Twelve codes at once is a project; three counter codes, one per shop, is an afternoon. Run those for a month with a staff-scan baseline week inside it, then decide whether the window is worth printing.


