Skip to main content

Coupon barcodes: formats, printing and expiry rules

By Diljit Ramachandran · LinkedIn · /about

Published September 21, 2026 · GUIDES · 4 min read

A printed paper coupon with a barcode being scanned at a supermarket checkout

A coupon barcode has to survive two things a normal product barcode never meets: a customer folding it, and a till deciding whether the discount applies. Most coupon failures at the counter are one of those two, and both are avoidable at design time.

What goes in a coupon barcode

A coupon symbol identifies an offer, not a product. In North American retail that usually means a GS1 DataBar carrying a coupon code, or a Code 128 symbol carrying an offer identifier your own system recognises.

Two families exist and they are not interchangeable.

  • Manufacturer coupons, redeemed and reimbursed through a clearing house, use a GS1 coupon code
  • Store coupons, honoured only by you, can use any symbology your till reads, and Code 128 is the usual choice

If the coupon will ever leave your own shops, use the GS1 route. Retailers reject anything else at the clearing stage.

Printing a coupon so it still scans

Coupons get folded, stuffed into bags, rained on and pulled out of a pocket at the counter.

  • Keep the barcode away from the fold. A crease through the bars is a dead coupon
  • Place it in the lower third, at least half an inch from every edge
  • Keep the quiet zone clear of borders, scissors icons and dotted cut lines
  • Print dark bars on white. Coloured paper cuts contrast, and red bars do not scan at all
  • Newsprint spreads ink, so scale up rather than down when printing on uncoated stock

An eighth of an inch of extra margin costs nothing and prevents most counter failures.

Expiry dates belong in your system

Printing an expiry date on a coupon is for the customer. Enforcing it is for your point of sale.

A barcode carries no date. If the offer must stop on a given day, the rule lives in your promotions engine and the barcode only points at it. Coupons that "expired" but still scan are almost always a rule that was never loaded.

One code or one code per customer

Both work, and they answer different questions.

  • A single shared code is simple, prints once, and tells you how many were redeemed in total
  • A unique code per customer prevents sharing, caps redemptions at one each, and tells you who redeemed
  • Unique codes require a generated list and a longer symbol, so check your till reads the length before committing

For a printed run, generate the batch in one pass. A bulk barcode generator turns a list of offer codes into print-ready symbols, and the barcode generator handles a single shared code.

When a QR code is the better choice

If the coupon is delivered on a phone, or you want the customer to land on a page rather than get a discount at a till, a QR code does more work than a barcode.

A dynamic QR code lets you point the same printed coupon at a new offer after the first campaign ends, and it counts scans so you can see which placement worked. A barcode counts nothing until it reaches a till.

Test at the counter

Print twenty coupons on the real stock. Fold ten of them the way a customer would. Scan all twenty at the actual till.

Then run one through as a real transaction and check the discount applies, the reimbursement path records it, and the promotions rule stops it after the limit.

What to do first

  1. Decide whether the coupon leaves your own shops. If it does, use the GS1 route or it will be rejected at clearing
  2. Decide shared code or one per customer, and check your till reads the length you need
  3. Load the promotion rule, including the expiry and the redemption limit, before anything is printed
  4. Generate the codes and place the symbol in the lower third, clear of folds and borders
  5. Print twenty, fold half of them, and scan all twenty at the real till
  6. Run one as a live transaction and confirm the discount, the limit and the reimbursement path

Frequently asked questions

What barcode type do coupons use?

Manufacturer coupons redeemed through a clearing house use a GS1 coupon code, usually on a GS1 DataBar. Store-only coupons can use Code 128 or any symbology your own till reads.

Can a coupon barcode hold an expiry date?

No. The barcode holds an identifier, and the expiry rule lives in your promotions system. A coupon that scans after its printed date is a rule that was never loaded.

Why do printed coupons fail to scan at the counter?

The three usual causes are a fold through the bars, a border crowding the quiet zone, and low contrast from coloured or newsprint stock. Keeping the symbol in the lower third with clear margins fixes most of them.

Should each customer get a unique coupon code?

Use unique codes when you need to stop sharing or cap redemptions at one per person. Use a single shared code when you only need a total count and want a simpler print.

Can you change a coupon offer after printing?

Not with a barcode. With a dynamic QR code you can repoint the same printed symbol at a new offer, because the destination is held on the server rather than in the pattern.

Frequently Asked Questions

What barcode type do coupons use?

Manufacturer coupons redeemed through a clearing house use a GS1 coupon code, usually on a GS1 DataBar. Store-only coupons can use Code 128 or any symbology your own till reads.

Can a coupon barcode hold an expiry date?

No. The barcode holds an identifier, and the expiry rule lives in your promotions system. A coupon that scans after its printed date is a rule that was never loaded.

Why do printed coupons fail to scan at the counter?

The three usual causes are a fold through the bars, a border crowding the quiet zone, and low contrast from coloured or newsprint stock. Keeping the symbol in the lower third with clear margins fixes most of them.

Should each customer get a unique coupon code?

Use unique codes when you need to stop sharing or cap redemptions at one per person. Use a single shared code when you only need a total count and want a simpler print.

Can you change a coupon offer after printing?

Not with a barcode. With a dynamic QR code you can repoint the same printed symbol at a new offer, because the destination is held on the server rather than in the pattern.

Create Your QR Code Now

QRCodeStack — affordable dynamic QR codes from $9/month. 7-day free trial, no credit card.