An appliance store in Almaty, whose chain from ad to courier is described in module 4, sells through its website, by phone and in a shop on Kaspi.kz. In August the owner is offered a billboard on a main avenue, radio spots and a flyer drop in new apartment blocks where keys were handed over in the summer. He forwards it all to you: "Online I can at least see clicks. How do I tell whether any of this worked?" The numbers in this lesson are made up.
You can tell, if you build a trace into the ad in advance and see the rest in a comparison.
How offline differs from online
Online you choose who sees the ad, and a click brings tags to the site, which GA4 uses to split the credit for an order across touchpoints. Offline you buy a place and a time: everyone who drives past the billboard, listens to the station at 8:30 or opens their mailbox. There is no click.
Someone who sees a billboard from a bus window types the store's name into Google that evening, finds it in 2GIS or on Kaspi, or simply calls, and the order goes to branded search, direct visits or Kaspi. So you either build a trace into offline ads or compare districts and weeks with and without them.
What you can buy
| Format | What you are buying | Who it suits | What trace you can leave |
|---|---|---|---|
| Billboards and street screens | A spot for a month | Businesses selling to the whole city or the area around one location | A dedicated number, a short address, a comparison of weeks |
| Radio | Airings of your spot at chosen hours | Businesses selling to the whole city | A dedicated number, a promo code read out on air, a comparison of weeks |
| Flyers | A print run and delivery to addresses | Businesses with clear geography: a district, a housing complex | A promo code, a tagged QR code, a comparison of districts |
| Events | A stand where buyers gather | When buyers can be found in one place: a fair, a key handover day | An event promo code, a QR code |
The store put the billboard and the radio aside: the whole city sees and hears them, the effect only shows in a comparison of weeks, and the store gets anywhere from 100 to 130 orders a week even without ads. Flyers go into the mailboxes of one district, which can be compared with the one next to it, so that is where they started.
What the law requires
What follows is a summary of the laws "On Advertising" (as amended up to 17 May 2026) and "On Languages in the Republic of Kazakhstan" (as amended up to 12 July 2026), not legal advice. Check the text on adilet.zan.kz before you print.
- Language. Advertising in Kazakhstan is distributed in Kazakh, and in Russian and other languages at the advertiser's discretion (Art. 6(2)). Art. 6(2) exempts periodical print, internet resources and news agencies from this rule. But the same paragraph requires the ad text to comply with the Law on Languages, and under its Art. 21 advertising is placed in the state language, in Russian as well where needed, "unless otherwise provided by legislative acts". Whether a banner on a website can be in Russian only does not follow clearly from the text. The safer course is to make a Kazakh version too, and if you want to do without one, ask a lawyer. A flyer, a billboard and a radio spot need Kazakh text in any case.
- Two languages and radio. If a flyer or a billboard carries two languages, the Kazakh text goes on the left or on top and the Russian on the right or below, in letters of the same size (Art. 21 of the Law on Languages), and the translation must not distort the meaning (Art. 6(2)). In every six hours of airtime a radio station must broadcast at least as much advertising in Kazakh as in all other languages combined (Art. 8(1)), so it will most likely ask for a Kazakh version of the spot.
- Price and stock. The price and availability on the flyer must be true at the time of the drop (Art. 7(2)(2) and (3)). A flyer lives for months, so it helps to say until what date the price holds.
- Flyers. The Law on Advertising has no separate rule on flyers in mailboxes. Pasting them on poles, fences and walls in the street may break local improvement rules, and possibly the outdoor advertising requirements too (Art. 11). The stairwell and the lift are the building's common property. Ask the company that delivers the flyers how it gets access to the buildings.
- Sound in the street. The law bans advertising by sound in open spaces in populated areas (Art. 6(5-2)), so a speaker with someone calling out to passers-by at an outdoor stand is out.
- Billboards. Outdoor advertising goes up only after the local executive body has been notified; in Almaty that is the city akimat (Art. 11(2)). The notice goes out at least five working days before placement and is sent by the advertising distributor (Art. 11(2-1) and (2-2)), meaning whoever distributes and places advertising by providing or using property, such as an advertising structure (Art. 3(5)). If the billboard is rented from an operator, that is usually the operator. If the store hangs a banner itself, say on the wall of its own building, it will most likely have to send the notice. A sign with the business name and type of activity, opening hours and window displays seen from inside do not count as outdoor advertising (Art. 11(1-1)). The akimat can make written comments on the attached materials, the sketch included, and then the advertising goes up only once the comments are addressed (Art. 11(2-2)). A fee for outdoor advertising is charged under the Tax Code (Art. 11(3)), and proof of payment for the first month is attached to the notice (Art. 11(2-2)). Ask the operator whether that fee is included in the billboard price. Advertising on vehicles needs neither the notice nor that fee (Art. 12), but advertising on a free-standing trailer not hitched to a vehicle, or on a mock-up of a vehicle, is placed under Art. 11 as outdoor advertising.
- Liability and records. The advertiser is primarily responsible for the content and language of an ad, unless it is proven that the producer or the distributor was at fault (Art. 20(1)). The distributor is responsible for the time, place and manner of placement (Art. 20(3)): for a billboard that is usually the operator, for flyers the company that delivers them. The advertiser keeps the ad materials or copies of them, with all changes, for a year from the last distribution (Art. 16): for a flyer, that means the artwork for every version of the print run. The advertising law does not require you to keep the contract with the distributor, but it is handy to keep it next to the artwork.
2GIS and Kaspi: where people go after the billboard
After seeing an ad, people look for the store where they usually look, and those places are prepared before launch, or the ads will work for whoever sits next to you in the results.
- 2GIS. The phone number, hours and address in the listing are edited in the 2GIS Business Account, and the paid formats and their prices are collected in the overview of local platforms.
- Kaspi. The fridge from the flyer at 189,000 ₸ should cost the same in the store's shop on Kaspi.kz and be in stock. An order there bypasses the promo code and the website tags, and only a comparison can link it to the flyer.
How to leave a trace
Every door a person might come through after the flyer needs its own trace.
The promo code NOVOSEL appears only in the new blocks of one district, and people enter it on the website or say it on the phone. The code shows who used it, not who bought because of the flyer: people who would have ordered anyway will enter it too, and from a building's group chat it will travel to the next district. So the perk behind the code should cost the store little: here it is free carrying up to the flat, 1,000 ₸ per order.
The dedicated number is printed only on the flyer and comes from a telecom operator or a call tracking service. Anyone who finds the store in 2GIS and calls the main number is not counted. Keep the number after the campaign too: a flyer can stay on someone's fridge for months.
The QR code leads to a page with UTM tags that follow the shared tagging rules:
GA4 has no offline channel: under the channel group rules a visit with utm_medium=offline lands in Unassigned, so look for it under Session source/medium as flyer / offline. The code holds a short link to the tagged address, and the short link's server counts scans by day. There will be more scans than sessions: some people close the page before it loads or decline analytics cookies. And a QR code with the flat number in its link reveals who scanned it, and data like that must not be sent to Analytics.
Comparing districts and weeks
A promo code, a number and a QR code only catch the people who used them. Everyone the ads actually influenced only shows up in a comparison. Ads in one place, such as flyers or a stand, are compared with a similar district without them, by delivery address. What the whole city sees, such as a billboard on a main avenue, radio or TV, is compared week by week with the expected level, adjusted for the season with a category search index, and anything else that changed in those weeks is written down alongside. A business in several cities compares cities, which makes it a geo experiment.
Flyers in new blocks: what four weeks showed
From 7 September to 4 October 2026 the store dropped 8,000 flyers in new apartment blocks in one district for 210,000 ₸, with a QR code to an "Appliances for your new flat" page, the code NOVOSEL and a dedicated number. For comparison they took the neighbouring district, which had about as many orders before the test. They counted paid website and phone orders: only those have a delivery address in the CRM.
| Trace | What was counted | Orders |
|---|---|---|
| QR code | 520 scans, 430 flyer / offline sessions in GA4 | 6 on the website |
Promo code NOVOSEL | 14: 8 on the website, 6 by phone | |
| Dedicated number | 31 calls | 7 |
| Sum of the three rows | 27 | |
| Orders with at least one trace | 16 |
One order, one row
27 is a count of traces, not orders: five of the six QR code orders also came with the promo code, and so did six of the seven orders on the dedicated number. The total comes from the CRM, where each order is one row and the traces are its fields. Any purchase that goes through several channels is counted the same way: found on the website, ordered by phone, two channels, one sale.
Total sales come from one report, and the others only show which channels took part. A placed order is not yet a sale: when paying the courier, the buyer can still refuse at the door. And a return is linked to the original order, so that revenue is not left overstated.
27 traces, 16 paid orders
Channel counts
QR: 6 orders
NOVOSEL: 14 orders
Dedicated number: 7 orders
CRM reconciliation
Each order occupies one row
Traces stay in the order fields
Deduplicated total
16 paid orders
With at least one trace
5 QR orders and 6 dedicated-number orders also used the promo code.
How many orders the flyers added
| District with flyers | Neighbouring district | |
|---|---|---|
| 8 weeks before the test, orders a week | 9 (6 to 12) | 8 (5 to 11) |
| 4 test weeks, week by week | 16, 17, 15, 16 | 9, 8, 9, 10 |
| Average per test week | 16 | 9 |
| Rise over its own baseline | +7 | +1 |
In the flyer district every test week is above the strongest baseline week: 15 orders or more against 12. The neighbouring district gained one order a week. If none of its orders came with NOVOSEL or through the dedicated number, that is what September looks like without flyers, and without the second district that rise would have been credited to them. Net of that background, the flyers added about six orders a week, 24 over four weeks. The estimate is rough: ordinary weeks in the district swing between 6 and 12 orders, and over four weeks in two districts those swings can easily move the total by ten or so either way, so it could have come out at 15 or at 35.
There are 16 traces and about 24 extra orders. If the estimate is right, at least eight people came without leaving a trace, but with a range of 15 to 35 it could also be none, and how they found the store this data cannot tell. The sixteen with a trace may include people who would have ordered anyway, so the traces are neither a floor nor a ceiling for the effect, but a separate number: how many people came through each door. Kaspi orders did not make it into the comparison at all.
Say the store keeps 7,000 ₸ per order. Printing, delivery and 14,000 ₸ for carrying on the code come to 224,000 ₸, or 32 extra orders, and that leaves out the fee for the dedicated number. With that much spread, an estimate of 24 does not say whether the flyers paid back. The store wrote its rule before the drop: repeat it if the rise is at least 32 orders. 24 is less, so the drop is not repeated in the same form, and the next test is cheaper and narrower: only blocks where keys were handed over in the last month.
Exercise: a measurement plan for offline advertising
Take your own project or a business nearby that runs offline ads or plans to.
Here is what a review can look like. A dental clinic drops flyers in three neighbouring buildings and writes in its plan: "we will compare October with September". But each patient's address is in their record, so those buildings are compared with similar buildings in the same district; otherwise everything else that happened in October goes into the "effect". And if the flyers pay back with two new patients a week, while those buildings send anywhere from zero to five a week without them, a month will not show that uplift. Then the owner is told up front: the format will only be visible through the promo code and the calls, and those count the people who came through a door, not the people who came because of the flyer.