Skip to main content
EZQR
Use Cases·

QR Codes for Promotions: The Complete 2026 Playbook

TL;DR

Promo QR is not marketing QR. The campaign runs 4 weeks; the printed inventory lasts 18 months in the channel. **Unique-per-unit dynamic QR is the only fraud-resistant pattern** for high-value promos — and it requires bulk generation, not a manual one-at-a-time UI. Avoid annual-billing vendors (QR Tiger $444/yr, Uniqode $588/yr) for a 4-week promo. [EZQR Max at $20/mo monthly](/pricing) covers the full campaign window, and dynamic codes keep redirecting after cancellation so late redemptions on residual stock don't die. Read [the cancellation-policy guide](/blog/permanent-qr-code-generator-2026) before printing a million units.

Key Takeaways

  • Printed alphanumeric promo codes (B7XK3Q9P style) lose 10–20% of redemptions to transcription errors. QR sidesteps the typo entirely — that recovery alone often justifies the QR layer.
  • Shared QR (everyone scans the same URL) is cheap and fraud-vulnerable. Unique-per-unit QR (every printed piece carries a different code) is fraud-resistant and requires bulk generation. Most CPG campaigns mix both: shared for low-value, unique for sweepstakes and high-value redemptions.
  • The on-pack cancellation timebomb is the single biggest hidden risk in promo QR. A 1M-unit run with a vendor that deactivates dynamic codes 30 days after cancel turns into 1M dead codes when finance shuts the subscription off in month 5.
  • Redemption rate is three numbers, not one — scan rate of impressions, claim rate of scans, verified-redemption rate of claims. Conflating them inflates the wins and hides the losses.
  • Monthly billing fits promo timelines. A 4-week campaign costs $20 on [EZQR Max](/pricing); cancel after; codes keep redirecting for the residual stock and the 6-month tail of late redemptions. Annual lock-in vendors charge 12 months for a one-month job.

Why QR is finally winning over printed promo codes

Printed alphanumeric promo codes have one specific failure mode you already know: customers mistype them. The 8-character code B7XK3Q9P printed in 6pt type on a coupon insert turns into B7XK3O9P in the checkout field, and the redemption silently dies. Internal data from the redemption-platform space puts that loss in the 10–20% band on consumer-facing promos. Some categories are worse — anything where the redeemer is older, in low light, or on a small phone screen.

QR sidesteps the typo entirely. Scan, tap, redeem. The code is right because the camera read it, not because a human transcribed it. That single mechanic recovery is often the entire ROI argument for adding QR to a promo that already had printed codes — you are not adding a new channel, you are unblocking the channel you already paid to print.

The second mechanic that promo QR enables is dynamic destination control. The printed asset shipped 6 weeks ago to retail; the campaign you actually want to run today is the third revision of the original plan. A QR pointing at a dynamic redirect lets the destination URL be whatever you decide on launch day. The static printed code does not.

The third mechanic is per-unit uniqueness. Every printed piece can carry a different QR pointing at a different URL — which is the only meaningful fraud-prevention pattern at scale. We will come back to this; it is the most important section of the post.

If you only do one thing after reading this, audit which of your active promotions still ship printed alphanumeric codes without QR fallback. Those are the campaigns leaking the most redemption revenue.

The six promotion mechanics QR enables (and which fit your campaign)

Promo QR is not one mechanic. It is six discrete patterns, each with its own fraud profile, redemption flow, and reporting requirement.

On-pack promo redemption (BOGO, $X off, percent-off). The QR sits on the package, the wrapper, or a printed sleeve. Customer scans, lands on a redemption page, applies the offer at checkout. The biggest decision is whether the QR is shared (one URL across all units) or unique-per-unit. Shared is cheap and the coupon-aggregator sites will scrape it within hours. Unique-per-unit kills the aggregator leak.

Sweepstakes and contest entry (no purchase necessary, plus the AMOE compliance path). The QR routes to the entry form. The /industries/promotions-qr-codes page covers the AMOE compliance architecture in depth. From the QR perspective the rule is simple: per-channel UTM tags so you can defend the regional entry-distribution data, and per-piece uniqueness if the sweepstakes carries a high-value prize (one entry per QR scan beats one entry per IP for fraud control).

Free-sample claim (sample request, mail-in, in-store pickup). QR routes to a sample-request form pre-filled with the source channel. The fraud control here is address-uniqueness on the backend, not QR-uniqueness — same household submitting under different names is a CRM problem, not a QR problem.

Loyalty-tier unlock (members-only promo, tier-gated offer). QR routes to a login-required landing page; the offer only redeems for authenticated tier-eligible members. This is the cleanest fraud profile of the six mechanics — the auth layer carries the fraud control, the QR is just the entry path.

QR-on-receipt rebate claims (post-purchase rebate, scan-to-claim). QR printed on the receipt routes to a rebate-claim flow that knows which transaction generated the scan. The receipt-side QR is the highest-converting rebate-claim channel because the customer is already in the post-purchase moment. Static, almost always.

Hidden-message reveal (gamified promo, scratch-and-reveal-equivalent). QR routes to a server-side reveal page that knows which unit was scanned. The mechanic only works with unique-per-unit QRs — a shared URL turns the game into 'everyone wins the same thing,' which kills the game.

Not every campaign uses all six. The CPG launch promo typically runs on-pack redemption plus sweepstakes entry. The DTC quarterly promo runs on-pack redemption plus loyalty-tier unlock. The restaurant happy-hour promo runs date-bound on-pack redemption only.

Unique vs shared QR: the fraud-versus-cost trade-off

This is the section every other QR-for-promotions post skips, and it is the single most consequential decision in promo QR architecture.

A shared QR is one URL printed across all units. Every package, every coupon insert, every shelf talker carries the same code. It is cheap (you generate one code), it is simple to print, and it is fraud-vulnerable. A customer screenshots the URL, posts it on a coupon-aggregator site, and within 4 hours the offer reaches an audience you never targeted. Redemption volume blows past the budget cap. The promo is technically a success — record redemptions — and operationally a disaster.

A unique-per-unit QR assigns a different code to every printed piece. The CSV looks like 1,000,000 rows, each row encoding a different URL or a different unique parameter. The scrape-and-share attack still works against any single code, but the backend redemption layer enforces one-redemption-per-code, so the leaked code is a one-shot weapon, not a renewable fraud channel. Most CPG promotions running prizes above $25 face value use unique-per-unit. Below $25, the fraud math sometimes favors shared.

The operational cost difference is real. Unique-per-unit requires bulk generation (CSV import or API), per-code analytics, and a redemption backend that can enforce one-time-use. The vendor you pick for this is the vendor with bulk QR generation that actually scales to 1M+ codes in one batch, not the one with a manual UI that times out at 500.

Most CPG promotions split the difference: shared QR for the low-value mechanic (50¢-off coupon), unique-per-unit QR for the high-value mechanic (sweepstakes entry, $5 rebate, instant-win game). Read the permanent QR code guide before committing to a vendor — bulk generation depth varies wildly and is the first thing that breaks at scale.

Mechanics fit: which QR pattern matches your promo

Pick the row that matches your campaign. The table is opinionated — it reflects what we have watched work and fail across promo deployments.

Promo mechanicShared or uniqueStatic or dynamicFraud riskRedemption tracking
On-pack BOGO ($5–$15 value)Shared OKDynamicMediumChannel-level UTM
On-pack rebate ($15+ value)Unique-per-unitDynamicHighPer-code redemption
Sweepstakes entry (low-value prize)Shared OKDynamicLowChannel-level UTM
Sweepstakes entry (high-value prize)Unique-per-unitDynamicHighPer-code entry
Free-sample claimShared OKDynamicLow (address dedup)Form submissions
Loyalty-tier unlockShared OKDynamicLow (auth-gated)Auth events
Receipt rebatePer-receipt uniqueStaticLow (transaction-bound)Per-transaction
Instant-win / hidden-revealUnique-per-unitDynamicHighPer-code reveal

The printed-millions cancellation timebomb

A 1M-unit on-pack promo prints in February. The campaign runs March 1 through March 28. The marketing team cancels the dynamic-QR subscription in May, after the campaign report is done.

If the QR vendor deactivates dynamic codes 30 days after cancellation — and several do — every redemption attempt against residual on-shelf stock dies in June. Inventory still in the channel becomes deactivated-promo inventory. Customers scan the on-pack QR, hit a 404, and tell their friends the brand's promo is broken.

This is the single biggest hidden risk in promo QR procurement, and the feature comparison spreadsheets never include it because the vendors do not lead with it.

The math on a 1M-unit run: even if only 0.3% of residual stock generates a late scan (typical for an on-pack promo with 6–12 months of shelf life), that is 3,000 customer touchpoints landing on 404 pages. Customer service tickets, social media complaints, the rep on the regional sales team flagging the brand manager. The reprint cost on the residual inventory is not in the budget. The remediation is to negotiate emergency reactivation with the vendor — and you are negotiating from the position of needing the service immediately, which is not the position you want.

The vendors that deactivate dynamic codes after cancellation include Flowcode (30-day window per current support docs) and QR Code Generator (qr-code-generator.com, deactivation per published ToS). Bitly applies different retention rules to free, paid, and cancelled accounts; ambiguity is its own risk. Verify in writing from vendor support before you commit a single print run.

The vendors that keep codes active after cancellation include EZQR (indefinite redirect on dynamic codes), QR Tiger (per published ToS), and Uniqode (per current ToS, though the Beaconstac→Uniqode rebrand broke other policies for legacy customers — verify in writing).

The permanent QR code guide covers the vendor-by-vendor cancellation policies in detail. Read it before you commit on-pack art.

Monthly billing fits promo timelines

Promotions are bursty. The campaign runs 4 weeks. The print run was scoped in Q4 for an H1 launch. The team rotates onto the next campaign as soon as the current one closes. The QR layer should match the rhythm.

Annual-billing vendors do not match the rhythm. QR Tiger's Lite plan runs $37/mo, billed annually at $444/year. Uniqode's Lite plan runs $49/mo, billed annually at $588/year. For a single 4-week campaign you are paying 12 months for one month of active use, and the cancellation policy still gates whether the codes keep working after.

Monthly billing flips the math. EZQR Max at $20/mo, monthly, covers a 4-week promo end-to-end. Generate the codes (bulk if you need unique-per-unit, single if you need shared), run the campaign, pull the analytics, cancel after. The codes keep redirecting because EZQR funds redirect infrastructure from active subscribers rather than deactivating ex-customers. Total cost: $20 for the campaign that QR Tiger charges $444 for.

The model is structurally right for promo timelines in a way the feature comparison sheets do not capture. The right question is not 'what does the vendor charge per month' — it is 'how does the vendor's billing model align with my campaign duration, and what happens to my printed codes when I stop paying.'

For a marketing team running 4 promos a year with 6–8 weeks of active billing each: monthly is $160 total. Annual would be $444–$588 in lock-in for the first vendor, sometimes multiple vendors if the campaigns sit in different agencies. The savings compound across the year, but the more important point is the cancellation safety — the printed assets still in circulation after the campaign ends are not at vendor-policy risk.

If the campaign exceeds 4 weeks and you need API access for programmatic generation across thousands of retail locations, the Max tier covers it. The hidden costs guide covers the line items vendors hide in annual-billing pricing.

Bulk generation for unique-per-unit codes

If your campaign needs unique-per-unit QRs, the vendor's bulk-generation capability is the first technical filter. Manual UIs that ask you to generate codes one at a time top out around 500 codes before the experience becomes punishing. Real bulk generation is CSV import (you supply 1M rows of destination URLs and per-code parameters) or API-driven generation (your backend issues 1M create-code calls).

The typical CPG promo print run sits at 100K to 5M units. The QR generation has to keep up with the print run; if generation takes longer than the print scheduling allows, the campaign slips. The bulk QR generators comparison covers the vendor-by-vendor scale ceilings.

The per-code analytics matter too. A 1M-unit batch with per-code redemption tracking means the dashboard has to handle 1M rows of scan data without falling over. Some vendors aggregate at the batch level (you see batch-level scan counts but not per-code) — which kills fraud detection because you cannot see which specific codes redeemed multiple times.

The API integration matters for promo teams running multiple concurrent campaigns. The QR generation should plug into the marketing-automation stack (Klaviyo, Iterable, Braze, or your CDP) so the scan events flow into the customer record rather than living in a vendor dashboard you check manually.

For mid-size promo teams running 4–10 concurrent campaigns with bulk QR needs across each, EZQR's URL QR generator and bulk generation flow handle the CSV and API patterns. Multi-URL QRs (one QR routing to different destinations based on rules — geo, time-of-day, scan number) are covered by the multi-URL QR pattern when the campaign needs more than a single destination.

Designing the promo QR landing page

The QR is one tap. The landing page is where the redemption actually happens, and most promo landing pages over-engineer the flow.

The redemption page should be single-step. No app download, no signup, no confirm-your-email loop. Scan, see the offer, claim. Every additional step drops conversion by 10–20%, and the customer expectation for a promo QR is 'one tap and done.' Anything else feels like a bait-and-switch.

Mobile-first is non-negotiable. The QR was scanned on a phone; the page renders on a phone. Test on iPhone Safari and mid-range Android Chrome in portrait mode before you launch — those two render the majority of scans and they handle CSS differently than the design-team Mac browser does.

The page should answer 'what happens next' in the first 4 lines above the fold. 'Tap to apply 20% off at checkout' or 'Enter your email to claim your free sample' or 'Your sweepstakes entry is confirmed.' If the customer has to scroll to figure out what they got, they bounce.

The page should not ask for more data than you actually need at this step. The CPG-promo pattern of asking for name, email, phone, birthday, and dietary preferences at the redemption gate drops conversion by 40–60%. Capture email at the redemption; capture the rest in the post-redemption nurture sequence.

For on-pack BOGO and rebate promos, the landing page should integrate directly with the ecommerce platform's coupon/promo engine — Shopify Scripts, BigCommerce promotions, Magento price rules — so the discount applies at checkout without the customer copying a code. Per-code unique URLs handled by the QR vendor's redirect layer plus per-code single-use enforcement in the ecommerce engine is the standard architecture.

For sweepstakes entry, the landing page is the entry form plus the official rules link plus the AMOE notification. Promotions counsel should review the page copy before launch. The /industries/promotions-qr-codes page covers the AMOE architecture in detail.

Tips

  • Page weight under 200KB. Promo scans happen in retail aisles and parking lots where cellular is weak; heavy hero images that look great on wifi kill the redemption.
  • Honor system fonts on the redemption page. Custom font loading adds 400–800ms; the promo customer does not care about your brand kerning when they are claiming a $5 rebate.
  • No interstitial ads, cookie banners that block the redemption, or app-install prompts. Each one drops conversion 5–15% and the cumulative friction kills the offer.
  • Cache the offer page at the edge (Cloudflare, Vercel, Fastly). The campaign launch spike is the most concentrated traffic event most brands run; origin servers struggle.

Measuring redemption rate honestly

Redemption rate is the metric that determines whether the promo gets renewed for next year, and most promo teams report it sloppily.

There are three different numbers, and they do not interchange.

Scan rate of impressions. What fraction of the audience that saw the printed asset scanned the QR. For on-pack consumer promos this typically runs 0.5–3% of unit impressions; for direct-mail it runs 2–8%; for in-store shelf talkers it runs 1–4%. Wide ranges because the variables (category engagement, prize value, channel placement, call-to-action clarity) move the number significantly. If your scan rate is below 0.5% on on-pack, the QR is invisible — placement, contrast, or call-to-action is broken.

Claim rate of scans. What fraction of scanners completed the redemption form or applied the offer. Typically 25–40% on consumer promos. A claim rate below 20% usually means the landing page is broken (form too long, friction too high, expectation mismatch with the on-pack copy). Above 50% means the offer-to-friction ratio is well calibrated.

Verified-redemption rate of claims. What fraction of claims resulted in a verified purchase, sample shipment, or sweepstakes entry that passed eligibility checks. Typically 60–80%. The gap between claims and verifications is fraud (caught by the backend), duplicate submissions (caught by address-dedup), or ineligible submissions (out-of-region, underage, etc.).

Multiply through: if a 1M-unit on-pack promo runs 2% scan rate × 35% claim rate × 75% verified rate, you get 5,250 verified redemptions on 1M units printed. That is the actual ROI denominator, not the 20,000 scan events the QR dashboard celebrates.

Report all three numbers in the campaign wrap. Conflating them — leading with 'we had 20,000 scans!' — inflates the wins and makes year-over-year comparison meaningless. The QR analytics guide covers which vendors surface all three vs only scan counts.

Fraud prevention beyond unique codes

Unique-per-unit QRs are the foundation of promo fraud prevention. They are not the whole stack.

Geolocation gating. The redemption page checks the scanner's geolocation (with permission) and rejects scans from outside the campaign region. Useful for region-bound promos (NY-only sweepstakes, US-only rebate). The catch: customers refuse the geolocation permission roughly 30–50% of the time, so the gate cannot be hard — it has to fall back to a self-reported region with backend verification.

Time-window gating. The redemption page rejects scans outside the campaign window. Combined with dynamic destination rotation, the QR points at the active offer during the window and a 'next promo coming soon — sign up for early access' page after. Avoids the 404 problem on residual stock without honoring the offer outside the active window.

Device-fingerprint dedup. The backend identifies the scanning device (browser fingerprint, IP, device characteristics) and caps redemptions per device. Useful for limiting one-redemption-per-household; bypassable with effort. Stack with email-uniqueness on the redemption form for stronger control.

Captcha on claim form. Standard hCaptcha or reCAPTCHA on the redemption form catches the bulk-bot redemption attempts that hit aggregator-shared codes. Adds 2–3 seconds to the redemption flow; worth the friction on any promo above $5 face value.

Address validation. For sample requests and physical-prize sweepstakes, address validation at form submission catches the fake-address fraud pattern. USPS address verification API, SmartyStreets, Loqate all integrate cleanly with the redemption form.

What's overkill for most promos: blockchain-based redemption verification, biometric authentication, multi-step verification flows that ask for ID upload. The conversion penalty exceeds the fraud savings on anything below a $100 face-value prize. The QR error correction guide covers the printing side — high error correction (level Q or H) makes the QR more resistant to print damage that would otherwise be misread as fraudulent.

Vendor comparison for promo marketers

The feature comparison spreadsheets the vendors send do not surface the things that actually matter for promo campaigns. Here is the comparison filtered to the promo-relevant dimensions.

VendorBillingBulk gen depthCancellation policyAPI for marketing-automation
EZQRMonthly, no annualCSV + API (Max tier)Codes keep redirecting after cancelAPI available (Max)
QR TigerAnnual required ($37/mo billed yearly)CSV, manual UI limitsCodes stay active per ToSAPI available, higher tier
Uniqode (ex-Beaconstac)Annual required ($49/mo billed yearly)CSV + APIActive per current ToS (verify)API on Business+
FlowcodeMonthly availableLimited bulk on lower tiersDeactivation 30 days post-cancelAPI on higher tier
Bitly QRAnnual commonLimitedAmbiguous, varies by planAPI on higher tier
QR Code GeneratorMonthly availableCSV bulkDeactivation per ToSAPI on Pro tier

Tips

  • For a 4-week promo, monthly billing saves 60–90% over annual lock-in. Verify the cancellation policy in writing before committing.
  • Bulk-generation ceiling matters more than feature parity. A 1M-unit promo needs CSV or API that handles 1M codes in one batch.
  • API access for marketing-automation integration (Klaviyo, Iterable, Braze, CDPs) is the difference between a campaign that lives in a vendor dashboard and one that integrates into the customer record.

QR-on-receipt vs QR-on-packaging — different ROI math

These are often grouped under 'on-product QR' and they should not be. The economics are completely different.

QR-on-receipt has zero incremental print cost. The receipt printer at the POS adds the QR to the existing thermal print job. The customer touchpoint is post-purchase — they have already bought, and the QR routes to a rebate claim, a loyalty enrollment, or a review request. The ROI denominator is receipts printed (nearly free at the margin), so even a 1% claim rate is positive contribution. The pattern is structurally favored for any retailer with POS integration.

Receipt QRs are typically static (the destination URL is stable — the loyalty enrollment page, the rebate-claim flow, the Google Business Profile review link) and per-transaction unique via URL parameters carrying the transaction ID. The transaction ID lets the backend know which receipt is claiming, which prevents the scanned-from-someone-else's-receipt fraud pattern.

QR-on-packaging carries the full print cost of the on-pack art. The design, the proofing, the production run all reflect the QR placement decision. Wrong placement, wrong size, wrong contrast, wrong destination — and you are reprinting at scale or accepting the loss. The customer touchpoint is pre-purchase or at-purchase, depending on whether the QR is on the outside of the shelf-visible package or on a sleeve the customer reads after pickup.

On-pack QR is unforgiving in ways receipt QR is not. The print run is locked at production sign-off; corrections require recall. The cancellation policy of the QR vendor amplifies the risk because the printed asset is in market for the full shelf life of the SKU. The packaging QR guide covers the print specs, contrast requirements, and error-correction trade-offs for on-pack deployment.

For most CPG promos, the canonical answer is to run both: on-pack QR drives awareness and primary redemption; receipt QR captures the post-purchase nurture (loyalty enrollment, review request, rebate claim on items where rebate is the mechanic).

Execution checklist for a promo-QR campaign

From a year of watching promo teams run QR campaigns, the campaigns that go well share an operational discipline at four checkpoints. The campaigns that go poorly skip at least one.

Pre-launch (4–8 weeks before). Design the QR placement adjacent to the call-to-action copy — never floating without context. Lock the destination URL and the destination rotation schedule (active, post-active, evergreen). Verify the redemption flow end-to-end on three phones (older iOS, current Android, current iOS). Define the fraud controls (unique-per-unit threshold, captcha, address validation). Verify the vendor's cancellation policy in writing and save the response. The cancellation policy verification is the step every promo team intends to do and 60% skip.

Launch day. Audit physical placement on a sample of distributed assets (store walkthroughs for retail signage, sample packs for on-pack, mail-piece pulls for direct mail). Scan-test on three phones from the actual placement (not the design-team Mac). Confirm the redemption page loads under 3 seconds on a slow 4G connection. Confirm the analytics pipeline is recording scans, claims, and verified redemptions separately.

Mid-flight (weekly). Monitor fraud-rate signals — unusual scan velocity from a single IP, redemption clusters from a single device fingerprint, claim rate spikes above the expected band (usually indicates coupon-aggregator pickup). Check the redemption curve against the projected curve and reallocate channel spend if a channel is underperforming. The trackable QR generators comparison covers which vendors surface real-time velocity vs daily aggregates.

Wrap (after campaign close). Pull the three redemption-rate numbers (scan, claim, verified) by channel and by region. Document the cancellation policy reassurance for any residual stock still in the channel — the QR keeps redirecting for late redemptions, the customer service team is briefed, the social-media monitoring is in place for any 404 reports. The retail QR stack guide covers the longer-tail considerations for promos that overlap with retail signage.

Tips

  • Pre-launch: print one production-quality proof of every QR placement and scan-test on three phones under realistic retail lighting. Office fluorescents are not retail fluorescents.
  • Launch day: have customer-service scripts ready for "the QR is not working" tickets. The first 48 hours surface the placement and rendering problems you missed.
  • Mid-flight: a sudden 5× spike in scans from a narrow IP range is almost always coupon-aggregator pickup. Confirm against your bot-detection layer before celebrating the campaign.
  • Wrap: write the cancellation-policy reassurance into the campaign post-mortem doc so the next promo team does not re-litigate which vendor is safe.

What to skip

Promo QR has a long tail of features that vendors will sell you and that you do not need.

Gamification overlays on simple promo QR. A 50¢-off coupon does not need a spinning wheel of fortune. The friction reduces redemption; the gamification entertainment value does not offset. Reserve gamification for the campaigns where the entertainment is the offer (sweepstakes entry, instant-win mechanics) rather than the bolt-on.

AR overlays on promo packaging. AR adds a 5–10 second loading delay and requires the customer to hold the phone steady in unflattering positions. Conversion drops. AR works for product visualization (apparel try-on, furniture-in-room) where the AR is the value. For a promo redemption, it is friction.

'QR for the sake of QR' on assets that already work. A printed coupon with a clearly typed promo code in 14pt type does not need a QR. Add a QR if the audience is older (typo recovery), if the redemption volume is large enough that the typo loss is meaningful, or if you need the per-channel attribution data. Otherwise the QR is decoration.

Custom-designed QR codes that compromise scan reliability. Branded QR codes with logos in the center and color gradients across the modules look beautiful and scan 15–30% less reliably than standard high-contrast QR. For a promo where every scan represents a paid impression, the reliability loss is expensive. The error correction levels guide covers the trade-off between design freedom and scan reliability.

Vendors that bundle QR with a full marketing-automation suite. You already have Klaviyo, Iterable, or Braze. You do not need a second marketing-automation tool inside your QR vendor. Pick the vendor whose QR layer integrates with the marketing-automation stack you already run, not the one that tries to replace it. The subscription traps guide covers the bundling patterns that lock teams into duplicate tooling.

For most promo campaigns the QR stack is: a generator with bulk generation and monthly billing, the existing ecommerce or CRM as the redemption backend, the existing analytics stack as the attribution layer, and a cancellation policy that keeps the codes alive for the residual stock tail. Nothing fancier.

The foundational QR standard is ISO/IEC 18004; any vendor that does not encode against the spec produces codes that fail on a fraction of phones. The Wikipedia QR code article is the cleanest plain-English reference for the encoding, error-correction levels, and scan-distance math. For the broader generator comparison across all categories, /blog/best-qr-code-generators-2026 is the cross-vertical reference.

Tips

  • If the campaign already has printed alphanumeric codes that work, QR is additive — not a replacement. Keep both; the typo recovery shows up in the numbers.
  • For B2B-loyalty and channel-partner promos, the auth-gated landing page is the entire fraud control. The QR just gets them there.
  • Promos that overlap with retail signage (window QR, shelf-talker, receipt) should reuse the broader retail QR stack rather than reinventing it per campaign.

FAQ

Do we need unique-per-unit QR codes for every promo, or is a shared QR enough?

Depends on the prize value and the fraud sensitivity. For coupons under $5 face value, shared QR is usually fine — the coupon-aggregator leakage is annoying but not budget-breaking. For prizes above $15, instant-win mechanics, or any sweepstakes with a high-value grand prize, unique-per-unit is the only defensible pattern. The mechanics-fit table in the article above gives the row-by-row answer. Shared QR is cheap and one screenshot kills the budget; unique-per-unit requires bulk generation and survives the screenshot attack.

What happens to our printed promo QRs if we cancel the QR vendor subscription after the campaign ends?

Depends on the vendor. EZQR keeps dynamic codes redirecting indefinitely after cancellation — the redirect infrastructure is funded by active subscribers. QR Tiger and Uniqode keep codes active per current ToS (verify in writing). Flowcode and QR Code Generator deactivate dynamic codes 30 days after cancellation; every printed piece still in the channel goes dead. For a 1M-unit on-pack promo with 6–12 months of residual shelf life, the deactivation pattern is the single biggest risk. See [/blog/permanent-qr-code-generator-2026](/blog/permanent-qr-code-generator-2026) for the vendor-by-vendor breakdown.

How do we measure promo QR redemption rate without inflating the numbers?

Three separate metrics: scan rate of impressions (0.5–3% typical for on-pack), claim rate of scans (25–40% typical), verified-redemption rate of claims (60–80% typical). Report all three; do not collapse them into a single number. Multiplying through gives the actual verified-redemption count, which is the ROI denominator. Leading with the scan count (the largest number) is the common reporting sin and it makes year-over-year comparison useless.

How much does QR for a 4-week promo actually cost compared to annual vendors?

[EZQR Max at $20/mo](/pricing) monthly covers a 4-week promo end-to-end — $20 total, codes keep redirecting after cancellation. QR Tiger Lite at $37/mo runs $444/year (annual billing required), and codes stay active after cancel per their ToS. Uniqode Lite at $49/mo runs $588/year (annual required). For a single 4-week campaign, monthly billing saves $400+. For four campaigns a year, it saves $1,600+ — and avoids the cancellation-policy risk for residual stock.

Can we bulk-generate 1M unique QR codes in one batch?

On the right vendor, yes. EZQR Max supports CSV import and API generation for bulk batches. QR Tiger, Uniqode, and QR Code Generator support CSV bulk on Business+ tiers. The first technical filter to apply is whether the bulk generation actually scales to your batch size without timing out or aggregating analytics in a way that hides per-code redemption data. See [/blog/best-bulk-qr-code-generators-2026](/blog/best-bulk-qr-code-generators-2026) for the vendor-by-vendor scale ceilings.

Should we use a custom-designed QR code with our brand colors and logo for the promo?

Only if the scan-reliability cost is worth the brand consistency. Branded QR codes with center logos and color gradients scan 15–30% less reliably than standard high-contrast black-on-white codes. For a promo where every scan represents a paid impression (on-pack print run, direct mail), the reliability loss is expensive — 15–30% of redemptions lost to scan failures dwarfs the brand-consistency benefit. Use level H error correction if you embed a logo, and proof-scan on three phones under realistic lighting. See [/blog/qr-code-error-correction-levels](/blog/qr-code-error-correction-levels).

How do we prevent the coupon-aggregator sites from publishing our shared promo QR within hours of launch?

Two layers. First, switch from shared QR to unique-per-unit QR — every printed piece carries a different code, and the aggregator site can only publish one code (which becomes a one-shot weapon against the backend single-use enforcement). Second, add captcha and one-time-use enforcement at the redemption backend so even leaked codes cap at one redemption each. Shared codes without these protections see 5–15% fraud rates from aggregator leakage; the unique-per-unit + single-use pattern caps fraud at under 0.5%.

Do we need a separate QR for each promo channel, or can one QR handle the whole campaign?

Separate per channel. Each channel (direct mail, on-pack, OOH, event, retail signage) gets its own dynamic QR with UTM tags identifying the channel. The scan-volume per channel surfaces which channels actually drove the redemptions — closing the attribution gap that single-QR campaigns leak. The marginal cost of generating additional dynamic QRs is near zero; the marginal value of per-channel attribution is the ability to defend or reallocate the channel spend in the next campaign cycle. See [/industries/promotions-qr-codes](/industries/promotions-qr-codes) for the channel-level attribution architecture.

How big should a promo QR code be on packaging or a direct-mail piece?

Scale to the scan distance. For on-pack QR scanned at arm's length (20–40 cm), 1.5–2 cm square is the working minimum. For shelf-talker QR scanned across an aisle (50–80 cm), 3–4 cm. For direct-mail handheld scan, 2.5 cm. The 10:1 rule (scan distance divided by 10) gives the lower bound; add a 1.5× safety margin for older phones and mixed retail lighting. Smaller saves art-board space and loses redemptions — the trade is rarely worth it. See [/blog/qr-code-error-correction-levels](/blog/qr-code-error-correction-levels) for the data-capacity trade-off when you cannot make the code larger.

Can we change the promo destination URL after the packaging is already printed?

Only if you printed a dynamic QR. The dynamic QR encodes a redirect URL controlled in the vendor dashboard — change the destination, the printed QR routes to the new URL on the next scan. Static QR encodes the destination URL directly into the pattern; the only way to change the destination is to reprint. For any promo where the campaign messaging might evolve (it always does), dynamic is the only sane choice. The [static-vs-dynamic guide](/blog/static-vs-dynamic-qr-code) covers the trade-off in detail.

More From This Category

Related Industries

Related Guides

Related Tools

Written by

EZQR Editorial Team
EZQR Editorial Team

The EZQR editorial team writes practical guides on QR code strategy, print workflows, and how small businesses use scan-based technology. Posts are fact-checked against the ISO/IEC 18004 standard and updated when specs or market conditions change.

Ready to create your QR code?

No signup for static codes. Dynamic codes start at $5/mo. No watermarks, no expiry.

Run your next promo on EZQR — monthly billing, codes survive cancellation