# Discounts Thor supports product discounts and cart discounts for different stages of a purchase. Choose the stage where the information your rule needs is available. | Goal | Use | | --- | --- | | Show a reduced catalog price for selected variant prices | [Product discounts](/concepts/discounts/product-discounts) | | Reduce an eligible cart total, selected lines, or shipping | [Cart discounts](/concepts/discounts/cart-discounts) | | Require a buyer-entered code or control campaign combination | [Codes and combination](/concepts/discounts/codes-and-combination) | ## Match the rule to the problem A sale on a named collection can be a product discount when it should affect the catalog price. A promotion requiring a minimum basket amount needs cart context. A customer-specific base price can instead be a [contextual price record](/concepts/pricing/prices); not every pricing difference needs a promotion. ## Conditions do not guarantee a saving Validity, predicate matching, target selection, priority, and combination rules determine what applies. Render the effective prices and discount applications returned by Thor. Do not show a predicted saving merely because a code was entered or a rule exists. Follow [Create a discount campaign](/guides/operations/discount-campaign) for one complete code-backed cart promotion, including eligible and ineligible test cases. Use [Predicate language](/concepts/predicate-language) when writing conditions.