Skip to main content

Product Discounts at a Glance

Use product discounts when you want a direct price reduction on specific products or collections. What they are good for:
  • Promoting a featured SKU
  • Running category-level campaigns
  • Clearing targeted inventory
  • Testing pricing sensitivity with controlled exposure

Choose the Right Product Discount Type

TypeUse it whenExample
Single ProductYou want to promote one product quickly20% off one featured product
CollectionYou want one rule across a category15% off all winter jackets
Advanced Single ProductYou need exclusions or purchase constraintsUSD 50 off one-time purchase only
Advanced CollectionYou want scale plus tighter controls25% off collection with maxQuantity = 3
For type-specific behavior, see Offer Types.

Single Product vs Collection

Use Single Product when control at SKU level matters. Use Collection when you want easier maintenance across many products. New products added to that collection can inherit the offer automatically.

maxQuantity and Margin Control

maxQuantity limits how many qualifying items can receive the discount per order.
  • -1 means unlimited discounted quantity
  • Any positive number limits discounted units to that count

Example maxQuantity behavior

Offer: 20% off Premium T-Shirt collection, maxQuantity = 3 Customer cart: 5 shirts at USD 30 each
  • Shirts 1-3 discounted to USD 24
  • Shirts 4-5 remain USD 30
  • Discount applied to 3 units only
Use this when you want to keep promotions attractive without giving away too much margin on large carts.

Setup Create a Product Discount

1

Create a New Offer

In Atom Commerce, go to Offers → Create New Offer.
2

Choose a Product Discount Type

Select Single Product, Collection, Advanced Single Product, or Advanced Collection.
3

Set Offer Basics

Add an internal name, customer-facing discount name, schedule, and activation method.
Use clear names you can identify quickly in reporting, such as “Winter Coats 25%”.
4

Choose Activation Method

Select one:
  • Automatic for frictionless checkout
  • Discount Code for campaign-specific access
  • Coupon Batch for distributed one-time codes
5

Select Qualifiers and Targets

Pick products or collections that should trigger and receive the discount.
6

Set Discount Value

Configure one mode:
  • Amount Off (for example, USD 10 off each item)
  • Percent Off (for example, 20% off)
  • Fixed Price (for example, USD 49.99 per item)
Fixed Price applies only when the fixed price is lower than the item’s current price.
7

Configure maxQuantity and Advanced Rules

Set maxQuantity, exclusions, and optional constraints such as channel, budget, or fulfillment settings.
8

Test and Activate

Validate behavior across multiple cart sizes and save.

Clear Examples

Example 1 Single Product flash promotion

  • Rule: 25% off Product A
  • Use when: launch campaign or short promo window

Example 2 Collection campaign with margin guard

  • Rule: 15% off Winter Collection
  • maxQuantity: 3
  • Use when: you want broad reach with controlled exposure

Example 3 Fixed-price value framing

  • Rule: Any qualifying hoodie at USD 49.99
  • Use when: fixed pricing is easier for customers to evaluate than percent discounts

Best Practices

  • Start with one clear objective per offer
  • Prefer collection-based rules when operating at scale
  • Use maxQuantity for margin-sensitive categories
  • Keep messaging customer-friendly and specific
  • Review Offer Priority and Stacking when multiple offers can match the same cart

Troubleshooting

Discount not applying

  • Confirm offer is active and in schedule
  • Confirm product/collection selection is correct
  • Confirm channel and fulfillment constraints allow the cart
  • Check priority conflicts with other offers

Discount amount looks off

  • Verify the configured discount mode
  • Verify maxQuantity behavior for larger carts
  • Test mixed-price carts if using fixed-price offers

Unexpected overlap with other offers

  • Review stacking settings and priorities
  • Separate high-priority campaigns into distinct time windows when possible