Coupon Design and Constraints

Coupon specifications and constraint design to prevent fraudulent use

coupon designconstraintsfraud preventionexpiration
4 min read

About This Article

Coupons issued through point conversion have constraints to prevent fraudulent use. This article explains coupon specifications and their design rationale.

Basic Coupon Specifications

Characteristics of Issued Coupons

Discount type
SpecificationFixed amount discount
ReasonPoints = amount is easy to understand
Discount amount
SpecificationSame as points used
ReasonClear 1pt = 1 yen rate
Usage count
SpecificationOnce only
ReasonPoints are consumed only once
User
SpecificationCustomer who requested issuance only
ReasonPrevent transfer to others
Validity
Specification1 year from issuance
ReasonProvide sufficient time
Minimum purchase
SpecificationNone
ReasonPrioritize ease of use

Coupon Code Format

Format: [Last 5 digits of customer ID]-[Random 6 characters]-[Point amount] Example: 70934-AB12CD-500

Last 5 digits of customer ID
Example70934
MeaningWhose coupon
Random 6 characters
ExampleAB12CD
MeaningPrevent duplicates (multiple issuance per customer possible)
Point amount
Example500
MeaningHow much discount

Benefits: Content visible from code, no duplicates, easy inquiry handling, difficult to generate fake codes

Constraint Details

Usage Count Limitation

At point conversion: 500pt consumed → 500 yen coupon issued

Customer-Specific Constraint

Shopify coupon settings:

  • customer_selection: "specific"
  • prerequisite_customer_ids: ["12345"]
Usage restriction
DetailsOnly customer 12345 can use this code
Leak protection
DetailsOthers can't use even if code is leaked
Sharing prevention
DetailsSharing within family also not possible
Verification Flow
Customer enters code

Enter coupon code on checkout screen

Shopify checks

Is code valid? → Yes / Is this customer eligible? → Check customer ID

Result

Match → Apply discount / Mismatch → "This code cannot be used"

Validity Period Design

Expired handling: Expired coupon → Cannot use, Consumed points → Not returned, Advance reminder → Under consideration

Fraud Prevention Measures

Anticipated Fraud and Countermeasures

Code guessing
CountermeasureRandom 6 characters makes guessing difficult
Code sharing
CountermeasureCustomer-specific limits users
Multiple uses
CountermeasureOnce-only limits usage
Use after expiration
CountermeasureAuto-invalidated by Shopify
Converting more than balance
CountermeasureAlways check balance before conversion

Brute Force Prevention

Code format: 70934-AB12CD-500

Characters used
ContentA-Z, 0-9 (36 types)
Digits
Content6 digits
Combinations
Content36^6 = ~2.1 billion patterns

Brute force difficulty:

  • Even at 100 attempts/second, testing all patterns takes ~240 days
  • Plus rate limit of 60/minute

Additional measures: Temporary account lock on consecutive failures, detect abnormal patterns and alert

Conversion Rate and Limits

Points to Amount Conversion Rate

Base rate: 1 point = 1 yen

100pt
Coupon Amount100 yen off coupon
500pt
Coupon Amount500 yen off coupon
1000pt
Coupon Amount1000 yen off coupon

Future extensibility:

  • Campaign: 1pt = 1.5 yen
  • Member rank: Gold = 1pt = 1.2 yen
  • Design to be configurable

Conversion Limits

Minimum conversion unit
Value100pt
ReasonPrevent small coupon proliferation
Maximum per conversion
Value10,000pt
ReasonManual review for high amounts
Daily limit
Value30,000pt
ReasonLimit damage from fraud
Conversion increment
Value100pt steps
ReasonAvoid fraction handling complexity

Customer Display

Coupon Information Display Items

Code
Coupon 170934-AB12CD-500
Coupon 270934-XY34ZW-1000
Amount
Coupon 1500 yen off
Coupon 21,000 yen off
Expiration
Coupon 1January 15, 2025
Coupon 2December 31, 2024
Status
Coupon 1Unused [Copy Code]
Coupon 2Used (10/20/2024)

Usage Instructions

Coupon Usage Guide
Add items to cart

Add products you want to purchase to cart

Proceed to checkout

Go to checkout screen

Find coupon code field

Look for coupon input field on checkout screen

Enter or paste code

Example: 70934-AB12CD-500

Click 'Apply'

Apply the coupon

Confirm discount applied

Subtotal: 5,000 yen → Coupon: -500 yen → Total: 4,500 yen

Benefits of This Design

Security

  • Minimize fraud risk
  • Limit damage even if issues occur
  • Traceable design for easy problem identification

Customer Experience

  • Clear, easy-to-understand amounts
  • Copy function reduces input effort
  • Sufficient validity period for stress-free use

Related Topics