Overview
The Promotions module provides:- Coupon Codes - Create and manage discount coupons
- Cart Discounts - Apply discounts to shopping cart
- Product Discounts - Special pricing for products
- Promotional Rules - Flexible discount conditions
- Discount Types - Percentage, fixed amount, buy X get Y
Module Structure
Coupon System
Coupon Types
EverShop supports various coupon types:- Percentage Discount - X% off
- Fixed Amount - $X off
- Free Shipping - Waive shipping costs
- Buy X Get Y - Purchase-based discounts
Creating Coupons
Coupons can be created through the admin panel:Applying Coupons
Customers apply coupons during checkout:Coupon Validation
The system validates:- Code exists - Valid coupon code
- Active status - Coupon is enabled
- Date range - Within start/end dates
- Usage limits - Not exceeded
- Minimum amount - Cart meets minimum
- Applicable products - Cart contains valid items
Discount Calculation
Cart-Level Discounts
Discounts applied to entire cart:Item-Level Discounts
Discounts applied to specific items:Promotional Rules
Condition Types
Promotions can have conditions:- Cart subtotal - Minimum purchase amount
- Product quantity - Minimum quantity
- Specific products - Include/exclude products
- Categories - Apply to category products
- Customer groups - Target specific customer segments
- First purchase - New customer discount
Rule Combinations
Combine multiple conditions:Discount Priority
When multiple discounts apply:- Item discounts - Applied first (product-specific)
- Cart discounts - Applied to subtotal
- Coupon discounts - Applied last
- Shipping discounts - Applied to shipping
By default, only one coupon can be applied per order. This prevents coupon stacking.
Special Pricing
Product Special Prices
Products can have special pricing:Tiered Pricing
Volume-based pricing (if implemented):Promotion Analytics
Track promotion performance:- Total uses - How many times used
- Revenue impact - Sales generated
- Discount amount - Total discounts given
- Average order value - AOV with promotion
- Customer acquisition - New customers from promotion
Database Schema
The Promotion module defines:coupon- Coupon definitionscoupon_usage- Coupon usage tracking
Admin Promotion Management
Administrators can:- Create and manage coupons
- Set discount rules and conditions
- Configure usage limits
- Track coupon performance
- Disable/expire promotions
- Generate coupon codes
- Export coupon usage reports
Best Practices
Expiration Dates: Set clear expiration dates for time-limited promotions. This creates urgency and prevents indefinite discount use.
Common Promotion Strategies
Welcome Discount
First-time customer discount:Cart Abandonment
Recover abandoned carts:Seasonal Sales
Time-limited promotions:Free Shipping
Minimum order for free shipping:Bundle Deals
Buy X get Y promotions:Frontend Integration
Coupon Component
The storefront includes a coupon form:Displaying Discounts
Show applied discounts in cart:API Endpoints
Key promotion API endpoints:POST /api/cart/coupon- Apply coupon to cartDELETE /api/cart/coupon- Remove coupon from cartGET /api/promotions- List promotions (admin)POST /api/promotions- Create promotion (admin)PATCH /api/promotions/:id- Update promotion (admin)DELETE /api/promotions/:id- Delete promotion (admin)
Related Documentation
Checkout Module
How discounts integrate with checkout
Catalog Module
Product special pricing
Customer Module
Customer groups for targeted promotions
Configuration
Configure promotion settings