---
title: "A/B Test a Printed QR Code Campaign and Track Conversions"
description: "Split scans from one printed QR code between two landing pages, then attribute revenue back to the scan with first-party conversion tracking."
canonical: https://reroutehq.com/resources/ab-test-printed-qr-campaign
---

# How to A/B test a printed QR campaign and measure real conversions

**Who this is for:** Marketers who have to justify a print budget

Print is usually the one line in the plan that arrives at the review without a number beside it. You know what it cost. You do not know what it did.

Two things fix that. A code that can send half its scans somewhere else, so you can compare. And an identifier that survives the trip from the scan to the order, so you can attribute.

## Steps

### 1. Set up the split on one link

Configure an A/B rule with the two destinations and the weight between them. The split happens at redirect time, so a single printed code serves both variants — you are not printing two runs.

### 2. Print once and distribute normally

Nothing about the artwork changes. The same square goes on every unit, and the routing decision is made per scan.

### 3. Capture the click id on your landing page

Each redirect appends a first-party identifier to your destination URL as rr_cid. Store it the way you already store a gclid — a hidden form field or your own first-party cookie.

### 4. Post the conversion back when it completes

When the order goes through, send the click id and the value to the Track API from your server. We match it to the originating scan, so the revenue lands against a physical placement rather than a channel label.

### 5. Read the result per variant

Each scan records which destination it actually resolved to, so the split is measurable after the fact rather than merely executed. Compare conversion rate and value between the two.

## What this will not do

- The conversion post is server to server. You need someone who can add a call to your checkout or CRM — this is not a tag you paste into a page.
- Attribution is as good as your own plumbing. If the click id is dropped between landing page and checkout, the scan cannot be credited.
- Retargeting pixels cover Meta, Google Analytics and TikTok. Other networks are not supported.

## Frequently asked questions

### Does this work without third-party cookies?

It never used them. The identifier is minted by us at redirect time and handed to your own domain on the query string, then posted back server to server. There is no cross-site identifier for a browser to block.

### How is this different from putting a UTM on the code?

A UTM tells you a visit came from a campaign. The click id resolves to a single scan event, so you can attribute revenue to one placement — this poster, this pack, this city — rather than to the whole campaign.

### Can I change the split after printing?

Yes. Weights are configuration on the destination, not on the artwork. You can shift traffic, add a variant or end the test whenever you like.

### What stops bots inflating the winning variant?

Link preview fetchers and crawlers are filtered before they are counted. They hit printed codes more than people expect, and counting them turns a test into a coin toss.

## Related

- [/tools/url-qr-code](/tools/url-qr-code)
- [/tools/pdf-qr-code](/tools/pdf-qr-code)
- [API and Track endpoint docs](/developers)
- [Pricing](/pricing)
