How to Troubleshoot Why a Promotion Is Not Applying
What This Task Does
This task helps you figure out why a promotion code or promotion campaign is not reducing the cart the way you expected.
Use it when a code exists but does not apply, when a promotion is inactive or scheduled, when shipping or eligibility rules block the discount, or when a per-product promotion is missing the benefit rows it needs.
Before You Start
Make sure:
- you can access
Settings > Promotions - you know the promotion code or promotion campaign you are investigating
- you can open the storefront cart that is supposed to receive the discount
- you know whether the promotion should apply to the order, order items, or shipping
- you know whether the promotion depends on conditions, a shipping cutoff, or per-product benefits
This guide stays inside the packaged promotions screens and storefront cart flow. It does not assume any extra admin UI beyond the promotions list, the promotion detail page, and the cart promotion section.
Steps
- Open
Settings > Promotions. - Find the promotion in the list and check its status first.
- Confirm whether the promotion is active, scheduled for the future, or expired.
- Open the promotion detail page.
- Review the core promotion settings:
- target
- type
- value
- date range
- shipping cutoff
- combinable setting
- Open the codes block and confirm that the promotion code exists, is spelled correctly, and has not reached its usage limits.
- Open the conditions block and confirm that the promotion is eligible for the order context you are testing.
- If the promotion type is
per product, open the benefits area and confirm that the expected product benefit rows exist. - Open the storefront cart and try applying the promotion code through the cart promotion section.
- If the code still does not apply, compare the cart context to the promotion rules:
- order target
- shipping cutoff
- other promotions already applied
- shopper location or shipping date, if the promotion uses them
- If another promotion is already on the order, verify whether one of the promotions is non-combinable.
What Happens Next
If the promotion was blocked by status, date range, conditions, cutoff, combinability, or missing benefits, correcting that setup should make the promotion available on the next cart evaluation.
If the promotion code still fails after the setup looks correct, the storefront cart will usually surface the shared promotion eligibility error coming from the promotion redemption flow.
Common Mistakes
- checking the code in the cart without confirming the promotion itself is active
- assuming a scheduled or expired promotion can still apply
- forgetting that usage limits can block a valid code
- ignoring conditions or entitlements when the promotion target looks correct
- overlooking shipping cutoff rules when the cart contains shipping dates
- expecting a
per productpromotion to work without benefit rows - trying to combine promotions when one of them is marked non-combinable
Related Guides
Sources
packages/admin/src/Livewire/Admin/Settings/Promotions/Table.phppackages/admin/src/Livewire/Admin/Settings/Promotions/Row.phppackages/admin/src/Livewire/Admin/Settings/Promotions/CreateDialog.phppackages/admin/src/Livewire/Admin/Settings/Promotion/Page.phppackages/admin/src/Livewire/Admin/Settings/Promotion/Sidebar.phppackages/admin/src/Livewire/Admin/Settings/Promotion/Conditions/Block.phppackages/admin/src/Livewire/Admin/Settings/Promotion/Benefits/BenefitsList.phppackages/storefront/src/Livewire/Storefront/Cart/PromotionSection.phppackages/framework/src/Services/Promotion/PromotionEligibilityService.phppackages/framework/src/Services/Promotion/PromotionRedemptionService.phppackages/framework/src/Services/Promotion/PromotionCalculatorService.phppackages/framework/src/Models/Promotion.phppackages/framework/src/Models/PromotionCode.phppackages/framework/src/Exceptions/Promotion/PromotionNotCombinableException.phppackages/framework/src/Exceptions/Promotion/PromotionShippingCutoffException.php