Home · Blog · QR code on packaging, business cards and in-store: where to put a bot code and how to count each spot
QR code on packaging, business cards and in-store: where to put a bot code and how to count each spot
A QR code for a bot works only where a person has a reason to scan it at that moment. A code on a box that gets thrown away unopened and a code on a café table where a guest is waiting for their order give very different numbers. Here are the places where QR codes really get scanned, what to write next to them, what size to print and how to make a separate code for every spot in CHBT, so that a month later you can see which one brings people in.
One spot — one code
The most common mistake is to print one QR code and put it everywhere: on packaging, business cards, the counter and in ads. There will be plenty of scans, but you will not know where they came from. A month later it is impossible to decide whether to reprint checkout stickers or invest in inserts instead.
In CHBT every code is a separate campaign in QR campaigns. A campaign has its own Name and its own Label: Latin letters, digits, “_” and “-”, up to 40 characters. The label goes into the link t.me/your_bot?start=label, and the bot learns which code the person came from. The total number of scans is shown above the campaign list, and each campaign card shows its own.
You can create as many campaigns as you like. So make a code for every spot: box_wb, vizitka, kassa_1, stol.
Packaging and parcel inserts
The customer is holding the product and at this moment is open to contact: they need to figure out how to use it, check the warranty, exchange the size. This is the best moment to invite them into the bot.
- An insert is a card inside the parcel. Everyone who opens the box sees it, and it does not get lost with the packaging.
- A sticker on the box works worse: boxes are often thrown away without a second look.
- A code on the product itself or its label — for things people come back to: electronics, cosmetics, children’s products. The customer scans it a week later, when a question comes up.
For marketplace sellers an insert is almost the only way to get a buyer’s contact: the marketplace does not share it. A ready-made flow for such a code is the QR buyer bot: a greeting, support, warranty and contact capture. You add it with the Add flow button right on the QR campaigns page.
Business cards, flyers and catalogs
A business card is handed to someone who is already interested — but then it sits in a wallet. A QR code on the card turns it into an action: scan it and get the price list, portfolio or a booking right away, instead of “save the number to call someday”.
What to lead into the bot from a business card:
- a price list or a selection of work as a message with buttons;
- booking a consultation by collecting a name and phone;
- answers to frequent questions, so there is no need to call.
For flyers and printed catalogs make separate codes for each print run or event: flyer_expo, katalog_osen. Then you can see which distribution paid off.
Checkout, counter and shop window
At the checkout a person stands in line with a phone in hand — a good place for a code with a clear benefit: a discount on the next purchase, a bonus, entry into a giveaway, a loyalty programme. Without a benefit, a checkout code is rarely scanned.
A shop window and a sign work outside business hours: a passer-by sees a closed door and a code saying “Book online” or “Check availability”. The bot will answer even at night, and the manager will see the request in the morning.
If there are several checkouts or locations, give each its own label: kassa_centr, kassa_tc. This way you compare locations, not just spots within one.
Café, salon, clinic: tables and waiting areas
Places where people wait are the best for QR codes. A café guest waits for their order, a salon client for the stylist, a patient for an appointment. Five minutes of free time and a phone in hand.
- A café table — the menu, promotions, feedback on the visit, a button to call a waiter via an operator.
- A salon waiting area — booking the next visit, a subscription to free slots, a bonus for a review.
- A clinic reception — preparation for a procedure, answers to frequent questions, a reminder to book again.
Each spot has its own task, so the flow branch is its own too: a table leads to the menu, a salon mirror — to booking.
What to write next to the code
A bare QR code is scanned poorly: people do not know what they will get and do not want to take a chance. It needs one line with a reason next to it.
- “Point your camera — instructions and warranty in Telegram”;
- “10% off your next order — in our bot”;
- “Book a stylist without calling — 30 seconds”;
- “A question about the product? We answer in Telegram”.
Add the Telegram icon: the person knows in advance that a messenger will open, not a website with registration. And write what to do after scanning if the bot opens without a greeting: “tap Start”.
What size to print
CHBT gives you a 600×600 PNG — the Download button on the campaign card. That is enough for printing on an insert, a business card and a sticker. General rules that help a code scan well:
- Size — for a business card and an insert 2–3 cm per side is usually enough; for a counter stand and a shop window, which are scanned from a distance, the code needs to be bigger — the farther the person, the bigger the square.
- Contrast — a dark code on a light background. A light code on a dark background and coloured codes scan worse.
- Margin around it — the CHBT image already has a white border; do not crop it or put text right up against it.
- No logo on top — the code is made with error correction level M, so it has little spare capacity for covering the centre.
Before the print run, print one copy and scan it with three different phones in normal light.
How to make a code for every spot in CHBT
- Connect a Telegram bot in Channels — without it the QR code is not generated.
- Open QR campaigns → New campaign.
- Name — something clear to you: “Insert — Ozon orders”. Label — short Latin text:
ozon_box. If you leave the field empty, the label is made from the name. - Tap Create QR. The card will show the code image, the label and the counter.
- Download — a PNG for printing, Link — the address with the label for a post or broadcast, Open in Telegram — to test it yourself.
Repeat for every spot. The project admin can create and delete campaigns; an operator sees the section but cannot change it.
Different replies for different spots
By default, a person who scanned any code gets the bot’s usual greeting — the flow with the Command (/start) trigger. To have each spot reply in its own way, add a Deeplink trigger to the flow and fill in Payload pattern — a label template:
^ozon_box$— only the Ozon insert;^kassa_— all checkouts at once;^stol— all tables.
Make the first step of such a branch an Action → Add a tag, for example src-ozon_box. The label lives only at the moment of launch, while the tag stays in the customer card: later it shows in Contacts who came from where, and you can send a broadcast only to buyers from parcels. More about labels — in the article on the link with the start parameter.
How to read the scan counter
The counter on the campaign card goes up by one every time someone launches the bot with this label. These are launches, not unique people: a person who opened the code twice counts as two. Checks in the editor’s test chat do not count.
How to use the numbers:
- compare spots with each other over the same period rather than absolute numbers;
- divide scans by the print run: 40 launches from 1,000 inserts and 40 from 100 business cards are different results;
- for people rather than launches, look at the number of contacts with the source tag in Contacts;
- for money — how many of them reached a request or payment, by result tags.
Example: a cosmetics seller with three codes
A seller of skincare products on Wildberries with a small offline store makes three campaigns:
| Label | Where it is | What the bot does |
|---|---|---|
wb_box | an insert in every WB order | how to use the product, warranty, a question to the seller, tag src-wb_box |
kassa | a stand at the store checkout | a discount on the next purchase for a name and phone, tag src-kassa |
zerkalo | a sticker by the mirror with testers | picking a product by skin type with buttons, tag src-zerkalo |
A month later it is clear: inserts give the most launches, but the ones who get as far as leaving a phone are those who came from the checkout — the benefit there is clear. The mirror code is scanned rarely, but almost everyone gets to the product selection. Decisions are made by the numbers: rewrite the insert with a bonus invitation, leave the mirror as it is.
Common mistakes
- The campaign was deleted, but the codes are already printed. The account warns you: printed inserts will stop leading into the bot with this label. It is better to keep old campaigns.
- The bot was changed. The link in the code contains the Telegram bot’s name. A new bot means new links; old codes will lead to the previous one.
- The code leads nowhere. The bot is turned off or the flow has no trigger — the person taps Start and gets no reply. Check with Open in Telegram before printing.
- A code for MAX. QR campaigns build links and codes only for Telegram. For MAX and VK it is easier to mark the source with a code word.
- No benefit in the caption. “Subscribe to our bot” is not a reason to take out a phone.
QR code for a Telegram botA bot link with the start parameter“Buyer bot” templateTags as a segmentation system