Skip to main content

Buy X Get Y

Buy X Get Y promotions automatically reward customers who purchase qualifying items (X) by adding discounted or free products (Y) to their cart. These are ideal for gift-with-purchase campaigns, sample distribution, bundled offers, and incentivizing purchases of specific product lines or categories.

How to set it up

Where to find it: Admin → Promotions → Create Promotion → Buy X Get Y

When you'd use this: You want to automatically add free or discounted items to a customer's cart when they purchase specific products or reach a purchase threshold in certain categories.

What you need first:

  • Product codes or category identifiers for the trigger items (X)
  • Product codes for the reward items (Y)
  • Decision on whether the reward is free or discounted by percentage
  • Promo code (if using Promo Code method) or readiness to auto-apply
  • Start and end dates for the promotion
  • Customer eligibility criteria (if restricting to specific groups)

Set it up:

  1. Navigate to Admin → Promotions and click Create Promotion
  2. Select Buy X Get Y as the promotion type
  3. Enter a description for internal reference
  4. Choose the method: Promo Code (requires customer entry) or Auto Promo (applies automatically)
  5. If using Promo Code, enter a unique code
  6. Set start and end date/time for the promotion period
  7. Configure Customer Buys (X) settings:
    • Select Minimum Purchase type: Nothing, Purchase Amount, or Quantity Of Item
    • If using Purchase Amount or Quantity Of Item, enter the minimum threshold
    • Select Buy X List Type: Product or Category
    • Enter the product codes or category identifiers in List Type Values
  8. Configure Customer Gets (Y) settings:
    • Select Discount Type: Percentage or Free
    • If using Percentage, enter the discount percentage
    • Select Get Y List Type: Product
    • Enter the product codes in List Type Values
  9. Optionally set Maximum Usage Per Order to limit how many times the reward can apply in a single order
  10. Configure customer eligibility: Nothing, Customer Code, Customer Group, or User Group
  11. If restricting by customer, select the specific codes or groups
  12. Set maximum discount usage: Unlimited, One Per User, or X Amount Of Time
  13. If using X Amount Of Time, specify the total number of uses allowed
  14. Set the promotion to active
  15. Save the promotion

Configuration options

FieldWhat it doesAllowed valuesRequired
DescriptionInternal label for the promotionAny textYes
MethodHow the promotion is appliedPromo Code, Auto PromoYes
CodeThe promo code customers enterAny unique textYes (if Method is Promo Code)
Start Date TimeWhen the promotion becomes activeISO timestampYes
End Date TimeWhen the promotion expiresISO timestampYes
ActiveWhether the promotion is currently enabledTrue/FalseYes
Customer Buys (X)
Minimum Purchase TypeWhat triggers the promotionNothing, Purchase Amount, Quantity Of ItemYes
Minimum AmountThreshold value for purchase/quantityDecimal ≥ 0Yes (if type is not Nothing)
Buy X List TypeWhat items qualify as triggersProduct, CategoryYes
List Type ValuesSpecific product codes or categoriesList of stringsYes
Customer Gets (Y)
Discount TypeHow the reward is discountedPercentage, FreeYes
Discount AmountPercentage off the Y itemsDecimal ≥ 0Yes (if type is Percentage)
Get Y List TypeWhat items are added as rewardsProductYes
List Type ValuesSpecific product codesList of stringsYes
Maximum Usage Per OrderLimit on reward applications per orderDecimal ≥ 0No
Customer Eligibility
Customer Eligibility TypeWho can use this promotionNothing, Customer Code, Customer Group, User GroupYes
Customer Eligibility ValuesSpecific codes or group identifiersList of stringsYes (if type is not Nothing)
Maximum Discount Use
Maximum Discount Use TypeOverall usage limitsUnlimited, One Per User, X Amount Of TimeYes
Maximum Discount Use AmountTotal number of usesInteger > 0Yes (if type is X Amount Of Time)

Using it day-to-day

  1. Customer adds qualifying items: When a customer adds the trigger products (X) to their cart or reaches the purchase threshold, the promotion eligibility is evaluated.

  2. Auto Promo application: If the method is Auto Promo and all criteria are met, the reward items (Y) are automatically added to the cart with the configured discount applied.

  3. Promo Code application: If the method is Promo Code, the customer must enter the code at checkout; once entered and validated, the reward items are added.

  4. Discount calculation: The Y items receive the configured discount (either a percentage off or 100% off for Free). The discount is calculated on the catalog price of the Y items, even if that price is $0.

  5. Order placement: The promotion details are recorded on the order, including which items triggered the promotion and which items were added as rewards.

  6. Usage tracking: If the promotion has usage limits (One Per User or X Amount Of Time), each application is counted against the user's or global limit.

  7. Admin monitoring: Admins can view active promotions, check usage counts, and deactivate promotions without deleting them by toggling the Active flag.

Troubleshooting

  • Free item not auto-adding to cart — Verify the promotion is set to Auto Promo method and is marked as active. Confirm the trigger item codes or categories in Buy X List Type Values exactly match what's in the cart. Check that the current date/time falls within the Start Date Time and End Date Time range. Ensure the customer meets any Customer Eligibility requirements.

  • Promo code not working — Confirm the code entered matches exactly (codes are case-sensitive). Verify the promotion is active and within its date range. Check that the customer has qualifying items (X) in their cart that meet the Minimum Purchase criteria.

  • Y item shows wrong price — The discount is applied to the catalog price of the Y item. If the item should be free, ensure Discount Type is set to Free. If using Percentage, verify the Discount Amount is set correctly (100 for free).

  • Promotion applying too many times in one order — Set the Maximum Usage Per Order field to limit how many times the reward can be added in a single transaction.

  • Customer exceeding usage limit — If Maximum Discount Use Type is One Per User, each customer can only use the promotion once across all orders. If set to X Amount Of Time, the promotion stops working globally once that total is reached. Verify the limit is appropriate for your campaign.

  • Category-based trigger not working — When Buy X List Type is Category, ensure the category identifiers in List Type Values match your catalog's category structure exactly. All items in the cart within those categories count toward the Minimum Purchase threshold.

  • Validation error on save — All fields marked as required must be populated. Minimum Amount and Discount Amount must be greater than or equal to 0. List Type Values cannot be empty arrays.

  • Promotion not appearing in Admin list — Deleted promotions are hidden from the main list. Check if the promotion was soft-deleted (deleted flag set to true). Non-deleted, inactive promotions still appear but are clearly marked.

  • Y item not in cart after trigger — The Get Y List Type only supports Product, not categories. Ensure you've entered specific product codes in the List Type Values for Customer Gets.