Intermediate · 18 min · 350 points

Coupon Redemption & Claims

Track assigned codes through delivery, a real sale, and claim reporting.

Open interactive lesson and quiz

What you will learn

  • Distinguish assignment from a claim
  • Submit one authenticated redemption event safely
  • Inspect offer claims and duplicate or expired failures

A retailer emails a unique coupon, then its website or POS confirms a customer used the code on an order.

Lesson 1

Follow a code from assignment to claim

An Offer owns coupon codes. A code begins Available. When a Send Flow or a real coupon test reserves it for a recipient, the assignment records the code, email, matching Contact when one exists, Offer and assigned time. After a successful email send it becomes Delivered. Neither assignment nor delivery proves that the customer used the offer. The code is Claimed only when a SupaChrome Order uses it or an authenticated external redemption is recorded. Expired is shown when the Offer end time passes; Cancelled prevents future use. Open Offers & Coupons, select the Offer, and read its coupon claim ledger for Contact, assignment and claim dates, order, channel, site, order value and discount. This history lets support staff distinguish an unused promotion from a verified sale.

Lesson 2

Report an ecommerce or POS sale

Create an inbound integration source for the BU and keep its secret key on a trusted ecommerce server, POS middleware or backend. POST event coupon.redeemed to /api/ingest/{BU code} with couponCode, stable eventId, orderId, orderAmount and discountAmount in the smallest currency unit, redeemedAt with a timezone, and optional contactId, channelId and storeSite. The unique code is the primary match. SupaChrome checks the code, offer dates and capacity, assigned Contact when present, linked BU Order if it exists, and Sales Channel when supplied. An accepted claim saves the external order reference even when no SupaChrome Order exists yet. Send the same source and event ID on retry to receive the previous result. A different event cannot claim a single-use code twice. Do not put the integration key in browser JavaScript or send a customer email address as the coupon code.

Lesson 3

Import and reconcile transaction claims

For a small verified transaction file, choose Import claims CSV in Offers & Coupons. The headers are couponCode, contactId, orderId, orderAmount, discountAmount, redeemedAt, channelId, storeSite and eventId. CSV money amounts use ordinary currency decimals; API events use minor units. The import reports accepted and rejected rows rather than silently claiming every code. A staff member with Offers permission can also record one redemption manually after checking the sale. Invalid, expired and cancelled codes, mismatched assigned Contacts and repeated single-use claims are rejected. A SupaChrome Order records its own coupon claim in the order transaction. Cancelling or returning that Order keeps the redemption history but reverses its active claim and usage. Reconcile the ledger against the sales channel periodically, especially when integration delivery errors appear.

Practice · Verify a controlled coupon claim

  1. Create an Offer with a future expiry, generate a single-use code and assign it through a controlled email to a matching Contact.
  2. Open the Offer’s coupon ledger and confirm the recipient and Assigned or Delivered status.
  3. Use a SupaChrome Order with that Contact and code, or post a test coupon.redeemed event through an inbound integration key.
  4. Inspect the Claimed row, order reference, channel, site, value and discount.
  5. Retry the same event ID and check that it returns the existing claim; try another event ID for the same code and confirm rejection.
Take the quiz and earn Offer Analyst