Turbo IT

"Building something great..."

Manchester-based · Worldwide reach

Marketing

Promos & Discount Codes

Create percentage or fixed-amount discount codes, limit by competition, set max uses per customer, and track usage.

Updated 30 May 20266 min read

Discount codes are your single biggest reactivation lever. Send a 15%-off code to lapsed customers, watch them come back. Run a launch-week promo. Hand out flash-sale codes via SMS. The admin Promos section lets you create and track all of this with full usage analytics.

Where to manage them

Raffle admin → Promos. The list shows every code, its discount, usage count, and status. Click any code to edit; click New promo to create one.

Code fields explained

  • Code. What customers type at checkout — case- insensitive on entry but stored uppercase. Choose memorable phrases (LAUNCH10, VIP15) over random strings unless you’re running per-customer codes.
  • Description.Internal note — never shown to customers. Use it to record “Sent to lapsed list 2026-05-20 via SMS” etc.
  • Discount type. percentage or fixed. Percentage is most common (15%, 20%); fixed is good for “£5 off any order”.
  • Discount value. For percentage, an integer 1–100. For fixed, an integer in pence — so £5 off is 500, not 5.
  • Max uses.Site-wide cap on total redemptions. Leave blank for unlimited. Useful for “first 100 only” urgency.
  • Max uses per user. Default 1. Prevents people stacking the same code across multiple purchases.
  • Min order pence. Code only activates above this spend, in pence (£10 minimum = 1000). Stops single- ticket abuse.
  • Max discount pence.Caps the absolute discount on percentage codes (“15% off up to £50” = 1500 + 5000).
  • Applies to.
    • all — applies to any competition
    • specific — pick competition IDs in Competition IDs. Useful for promos that target one headline draw.
  • Active / Starts / Expires. Toggle off without deleting; or schedule activation/expiry timestamps.

How customers redeem

On the cart page, customers see a Have a code? input. They paste, hit Apply, and the discount reflects in the order summary. The order proceeds normally — discount is recorded against the order at payment time.

Tracking usage

Every redemption writes a row in discount_code_usage with the user, order, and discount amount. The Promos list shows the running used_count per code. In Phase 2, Reports > Promos will give you per-code ROI:

  • Revenue from orders that used the code
  • Discount given (cost)
  • Gross margin after discount
  • New-customer vs repeat-customer split

Patterns that work

  • Launch week promo. 15% off, max 500 redemptions, 7-day expiry. Drives urgency for the launch announcement.
  • Lapsed-customer recovery. 20% off, per-user code (1 use per customer, ever), applies to all. Send via SMS to users with no purchase in 30 days.
  • Bundle promo.“£5 off when you spend £25+” — fixed amount with min-order. Pushes average order value up.
  • Influencer-specific code. Give each affiliate their own code (JANE10). When they post, their audience uses their code. Doubles as attribution + reward. (The full affiliate scheme with auto-commission ships in Phase 3 — see Affiliate / Referral Scheme.)

Anti-patterns to avoid

  • Always-on discount codes. Trains customers to look for one before buying. Use scarcity and expiry.
  • Stacking on already-discounted competitions. Codes apply to ticket subtotal — they don’t check whether you marked a competition as “promotional pricing”. Don’t double-discount unless you mean to.
  • Forgetting to disable.If you run a one-week launch promo, set the expiry — don’t rely on remembering to disable it manually.