How to A/B test posters in the street
A field guide to A/B test posters properly — two designs, unique QR codes per copy, fair placement, and reading scans per print instead of raw totals.
To A/B test posters you need the same three things a software A/B test needs — two variants, random assignment, one honest metric — plus the discipline to accept that the street, unlike a web page, will fight your randomisation at every corner. Get those right and a lamppost becomes a perfectly good laboratory.
Here is the whole method, from print run to verdict.
One code per copy, or there is no test
The non-negotiable: every printed copy carries its own QR code, and every code knows which design it belongs to. Print A and B with one shared link and you have merged both arms into a single number — the "test" is over before the paste dries.
Per-copy codes give you the two counts that matter, per design: how many copies actually went up, and how many scans those copies earned. Everything else in this post is about keeping those two numbers fair.
In Wildpost this is the default shape: a campaign holds up to twelve designs, each design gets its own codes and print count, serials never collide, and — if you want to test the landing page too — each design can point at its own destination URL. Two arms, two funnels, one dashboard.
Fair placement, or you are measuring bus stops
Location effects are enormous — a poster where people wait outscans the same poster on a busy walking street several times over. Bigger than any plausible difference between two designs. If design A lands in the good spots and design B on the leftovers, the test measures your route, not your artwork.

The habit that fixes it costs nothing: alternate as you go. A, B, A, B down the same route, so both designs end up in the same mix of poles, windows, boards and corners. Carry the stack pre-shuffled and the randomisation does itself.
Three more fairness rules:
- Same size, same paper. Print size changes visibility more than most design decisions. One shared size is what keeps the comparison about the design.
- Same period. Both designs go up on the same days. A rainy week against a festival week is not a comparison.
- Register every copy with its GPS pin when you place it. Unregistered copies still redirect — but they cannot be counted as "up", and the denominator is half the test.
The general placement doctrine — where posters earn scans at all — is in where to put up posters.
Judge on scans per registered print, never totals
Printed 40 of A and 20 of B? Then A "winning" on total scans is arithmetic, not insight. The only fair scoreboard is a rate:
scans ÷ registered prints, per design.
Registered prints, not generated codes — a copy that stayed in the tube has no chance to be scanned and would quietly drag its design down. This is why Wildpost's A/B view ranks on scans per registered print and flatly refuses to name a winner below a sample floor: with a handful of scans, today's "winner" is a coin still spinning. The wider statistics of small street samples — floors, streaks, denominators — are covered in reading poster scan data honestly.
Practical floors: four or five registered copies per design minimum, a couple of dozen scans across the test, and a gap of at least ten percent before you say the word "winner". Anything tighter is a tie; print more of both or make a bolder second design.
Check the geography before you crown anyone
A design can win overall and still lose everywhere that matters to you. The city-centre crowd and the suburbs can genuinely prefer different artwork — and if design A's average is carried entirely by one neighbourhood, "A wins" is the wrong lesson to ship.
So break the result down by place before retiring the loser: by neighbourhood or province, and by surface type (poles versus windows versus boards). Wildpost's per-design geography table exists for exactly this cross-check. The genuinely common outcome — B overall, A in one strong pocket — has a happy ending: print both, each for the territory it wins.
What to test, in order of payoff
Street tests are slow — one round per week or two — so spend them on big swings first:
- The promise. Different headline, different offer. Largest effect, every time.
- The reason to scan. "Scan for the free version" versus a bare code.
- Visual style. Photo versus illustration, loud versus minimal.
- The landing page — same poster, per-design destination URLs.
- Colourways and typography last: real effects, small ones, rarely worth a round.
One variable per round. A and B differing in headline and style produces a winner that teaches you nothing about why it won.
Then loop it: winner stays, challenger changes one thing, and the whole run costs printer money instead of an ad budget — the broader zero-spend system around this is in how to promote your app without paid ads. Four or five rounds in, you own something no ad platform ever sells: a poster you have proof works, and a map of exactly where.
Common questions
How many posters do I need for an A/B test?
Enough scans, not just enough posters. As a floor, put up at least four or five registered copies per design and wait for a couple of dozen scans across the test before comparing. Below that, the gap between designs is noise wearing a trophy.
Can I A/B test with the same QR code on both designs?
No. One shared code merges both designs into a single number, and the test measures nothing. Every printed copy needs its own code, attributed to its design, so scans divide cleanly into A's rate and B's rate.
Should both poster designs be the same size?
Yes. Print size changes visibility, and visibility changes scan rates more than most design choices do. If one design prints bigger than the other, you are testing sizes, not designs.
What if one design wins overall but loses in some areas?
That is a real and useful result. A design can win on average and still lose in a specific neighbourhood or on a specific surface type. Check the breakdown by area before retiring the loser everywhere — the right answer is sometimes different prints for different places.
Track your next print run
A unique QR code on every copy, a GPS pin for every spot, and scan counts per location. Your first 25 codes are free.
Create a campaign