OOH attribution for small brands: how to measure billboards and posters with QR codes
A small brand can measure out-of-home advertising by giving every billboard, poster or flyer its own dynamic QR code, tagging each destination with UTM parameters, and comparing scans and conversions per placement against what each placement cost. It needs no panel study or location data, just one code per site, a consistent naming scheme and a spreadsheet.
By Daniel Zaremba, founder of BetterQR · Updated
What is OOH attribution?
OOH attribution is working out which out-of-home placements (billboards, bus shelters, posters, flyers, yard signs, window displays) led to a visit, a sign-up or a sale. Online ads report clicks automatically. Print and outdoor don't, because nobody clicks a poster. Attribution means adding a measurable action to the placement and recording where that action came from.
For a small brand the practical question is narrower: of the places I paid for, which ones brought people in, and which should I drop next time? That question can be answered with QR codes, as long as each placement is measured separately.
Why is enterprise OOH measurement out of reach for small brands?
Large OOH buyers measure campaigns with methods that depend on scale. The two common ones are:
- Mobile location data. A measurement provider matches phones seen near a billboard against phones later seen in a store or on a website, then compares them with a control group that wasn't exposed. It needs licensed location data, enough exposed devices to produce a statistically meaningful result, and a privacy review, since precise location data is personal data under UK GDPR.
- Panel and brand-lift studies. A research firm surveys people in the campaign area before and after, or against a control area, and reports the change in awareness or intent. It measures recall, not sales, and needs a sample large enough to detect a change.
Both work for national campaigns with hundreds of sites. A small brand running eight posters and two roadside boards for a month doesn't generate enough exposure for either method to say anything reliable, and the study can easily cost more than the media. Marketing mix modelling, the other enterprise option, needs years of spend and sales history across channels.
The practical alternative is direct response: give people a reason to act from the placement itself, and make each placement's response countable. That is what a QR code per placement does.
How does QR code attribution for OOH work?
The method has four parts. Each one has its own guide.
- One dynamic QR code per placement. Each billboard, poster site or flyer batch gets its own code, so every scan is tied to one location. Dynamic codes point to a short redirect link you control, so you can change the destination after printing and the code keeps counting. See how to track billboard QR code scans.
- UTM parameters on every destination. Tag each code's landing page with
utm_source,utm_medium,utm_campaignandutm_content, so Google Analytics 4 records the visit, and any sale that follows, against the right placement. See the QR code UTM and GA4 setup guide or build links with the QR code UTM builder. - A code that scans from where people stand. Size the code for the viewing distance (roughly one tenth of it), keep a quiet zone and test it before printing. See billboard QR code size, the size calculator and the QR code tester.
- Cost per scan and cost per customer. Divide what each placement cost by its scans, then by the customers it produced. See how to measure billboard ROI and the campaign ROI calculator.
What can QR codes measure, and what can't they?
QR scans measure people who acted on the spot. They don't measure people who saw the billboard and searched for you later, or walked into the shop a week afterwards. Treat scans as a consistent, comparable signal between placements, not as the total effect of the campaign.
| Question | QR per placement | Enterprise methods |
|---|---|---|
| Which placement got the most response? | Yes, directly | Yes, modelled |
| When and on what device did people respond? | Yes, from scan time and device | Partly |
| Which placement led to sales on the website? | Yes, with UTMs and GA4 key events | Yes, modelled |
| Did people who didn't scan buy later? | No | Yes, with location data |
| Did brand awareness rise? | No | Yes, with surveys |
| Works for 1 to 50 placements? | Yes | Rarely |
To catch some of the response that QR codes miss, add a second placement-specific signal: a short vanity URL, a discount code per area (POSTER10 on one route, BUS10 on another) or a "Where did you hear about us?" question at checkout.
Can QR scan data from OOH be integrated into attribution dashboards?
Yes. There are two routes, and most brands use both. The first is UTMs: each code's destination carries tags such as utm_medium=ooh and utm_content=high-st-48sheet, so the visit lands in Google Analytics 4, or any analytics tool that reads UTMs, already labelled with the campaign and placement. Conversions you track in GA4 are then attributed to that placement like any other channel, and the data flows into Looker Studio or whatever dashboard already reads from GA4.
The second route is the scan data itself. Scans are recorded at the redirect, before the landing page loads, so they include people GA4 misses (declined cookies, closed the tab early, went to an app store). In BetterQR you can export scans to CSV for a spreadsheet or BI tool (Business plan and up), or ask about them from Claude or ChatGPT through the MCP server (in beta). The OOH advertising page shows what that looks like per placement.
Expect the two numbers to differ: scans are usually higher than GA4 sessions. The UTM and GA4 guide explains why and how to read the gap.
Which OOH formats does this work for?
Any format where someone can stop, or at least pause, long enough to point a phone at it. Response rates differ a lot by format, which is another reason to compare like with like.
| Format | Typical viewing distance | Dwell time | QR suitability |
|---|---|---|---|
| Flyer, leaflet, menu | Under 0.5 m | Long | High |
| A-board, window poster | 1–3 m | Short to medium | High |
| Bus shelter, 6-sheet | 1–5 m | Long while waiting | High |
| Station platform poster | 3–10 m | Long while waiting | Medium to high |
| Roadside 48-sheet billboard | 20 m and more | Seconds, often driving | Low; use for pedestrian sites only |
Bus shelters, flyers and yard signs have their own quirks; see QR tracking for bus shelters, flyers and yard signs. The distances above are rough guides; measure your own sites.
How do I set up OOH attribution step by step?
- List every placement in a spreadsheet: site name, format, address, dates, cost.
- Pick a naming scheme and stick to it, e.g.
spring-sale_bus-shelter_high-st-north. - Create one dynamic code per row. In BetterQR, bulk upload the spreadsheet and each row becomes its own labelled code.
- Add UTMs to each destination: source is the site or media owner, medium is
oohorprint, campaign is the campaign, content is the placement. - Size the code for the viewing distance and add a short call to action next to it ("Scan for 10% off today").
- Test every code from the real viewing distance before the artwork goes to print.
- After the run, compare scans, GA4 sessions and conversions per placement against cost.
How do I know which poster design or offer works better?
Run two versions at the same time across comparable sites, give each version its own code, and compare scans per site rather than totals. Swap them halfway through if you can, so one location doesn't win just because it's busier. The poster A/B testing guide covers how many sites you need and how to read the result.
Why use dynamic rather than static QR codes on printed media?
A static code encodes the final URL directly. It can't be edited after printing, and nothing is counted unless the destination site does the counting. A dynamic code encodes a short redirect link, so you can fix a broken landing page, swap the offer mid-campaign and count every scan. If you use a generator's free trial for dynamic codes, check what happens when the trial ends: some stop redirecting. See QR codes that don't expire.
What does this look like for a real small business?
Hospitality tech startup Blackboard Deals gives every partner venue its own BetterQR code, so it can see which partners drive acquisition and compare channels by location, time and device. Its codes send Android users to Google Play and iPhone users to the App Store from a single scan. Blackboard Deals reports 120 extra customers in a single weekend, and more than £1,200 in tracked spend by those customers at partner venues (figures supplied by the company). The full case study explains the setup.
What does it cost to measure OOH this way?
The QR codes themselves can be free. BetterQR's free plan makes unlimited static codes, but static codes can't be tracked per scan or edited. Dynamic codes with scan analytics start on Pro at £11/month for 15 dynamic codes and 50,000 scans a month, which covers a campaign of up to 15 placements. Business is £99/month for 75 dynamic codes, unlimited scans, location and device breakdowns and CSV export. Full details are on the pricing page.
Quick checklist
- One dynamic code per placement, never one code across sites
- A naming scheme used in the code name and in the UTMs
- UTMs on every destination, all lowercase
- Code width at least one tenth of the viewing distance
- A call to action that says what the scan gets you
- Every code tested from the real distance before print
- Placement costs in the same spreadsheet as the scan counts
Related
- Track billboard QR code scansTrack scans from each billboard separately: one dynamic QR code per site, clear naming, and a scan report you can compare week by week.
- QR code UTM + GA4 setupTag every printed QR code with UTMs so GA4 attributes visits and conversions to the right poster, flyer or billboard. Naming scheme included.
- Measure billboard ROIMeasure billboard and poster ROI without an enterprise tool: cost per scan, scan-to-visit and visit-to-sale, worked through with example numbers.
- Campaign ROI calculatorWork out cost per scan, cost per customer and ROI for a billboard, poster or flyer campaign from your own numbers. Free, no sign-up.