Guide
Promotions
Verified promotion vocabulary, offer taxonomy, checkout application, limitations, and troubleshooting.
SoundSync
Promotion-type matrix
Only implemented categories are marked as implemented.
| Promotion type | Implemented | Automatic | Code required | Products | Subscriptions | Bundles | Scheduling | Limits |
|---|---|---|---|---|---|---|---|---|
| Promo code | Yes | No | Yes | Product or storewide backing | Limited via checkout support | No direct bundle price object | expiresAt; schedule via campaign/deal separately | maxRedemptions supported |
| Scheduled deal | Yes | Yes when active | No | Product-specific | Not verified for subscription checkout | No | startsAt/endsAt | cancel supported |
| Multi-product discount | Yes | When automatic checkout backing applies | Optional code | Multiple products | No | Bundle-like offer | startsAt/endsAt | requiredQuantity |
| Product bundle | Yes as promotion offer | No separate bundle checkout route verified | Optional code/backing | At least two one-time products | No | Yes, offer model | startsAt/endsAt | No dynamic already-owned pricing verified |
| Subscription bundle | Yes for fixed recurring bundles | Yes through /api/subscriptions/bundles/checkout | Optional | No one-time products | At least two subscription products | Yes, fixed bundle definition | startsAt/endsAt | Upgrade proration and scheduled downgrades supported |
| Build Your Own Bundle | Yes as offer | May be automatic when checkout-backed | Optional | Eligible products | No | Yes, offer model | startsAt/endsAt | requiredQuantity |
| BOGO | Checkout-backed offer | Yes | No | Eligible products | No | No | startsAt/endsAt | rewardQuantity |
| Community group buy | Checkout-backed offer | Yes | No | Eligible products | No | No | startsAt/endsAt | groupTarget |
Stacking rule
Checkout calculates automatic offer discounts and promo-code discounts server-side. Do not build client-side stacked discount math as authoritative.
