Working with product coupons

Product coupons are virtual vouchers that your customers can exchange for financial discounts when purchasing selected products. If users enter the product coupon codes during the checkout process (customers on the live site), or while adding or editing orders (store managers in the administration interface), the system applies the discounts on the corresponding products.

If your site is configured to store prices without tax included (via the Prices include tax setting), product coupons are applied before the system calculates and adds tax to the price total.

Adding and editing product coupons

To add product coupons:

  1. Open the Product coupons application.
  2. Click Enter product coupon to add a new product coupon. Click Edit () in the list to edit an existing product coupon.
  3. Configure the product coupon properties. See the Property reference for detailed information.
  4. Click Save.
  5. Create or generate coupon codes on the Coupons tab. For more information, see: Working with coupon codes

If enabled and valid, the product coupon can be applied by customers during checkout or by store administrators when editing orders. You can now distribute the coupon codes among your customers via any available communication channels.

Changing the priority of product coupons

Customers can enter multiple coupon codes per order and different product coupons can apply to the same product. To deal with such situations, each product coupon has a set priority. The priority is determined by the order of items in the product coupon listing. The higher a coupon is in the list, the higher its priority.

You can change the priority of your site’s product coupons using drag-and-drop functionality:

  1. Open the Product coupons application.

    • The coupons are ordered in the list according to their current priority.
  2. Drag coupons to different positions in the list using the Move () area.

    • Alternatively, you can change the order by clicking Other actions () -> Move up or Move down for individual items.
  3. (Optional) Edit () individual coupons and set the Apply lower priority discounts property as necessary (in the Discount processing section). If you disable this option for a product coupon, other coupons with a lower priority cannot be applied to the same order.

The system uses the configured priority when processing multiple product coupons for a single order.

If multiple percentage-based product coupons apply to the same product, they stack multiplicatively – each product coupon reduces the base price used by coupons with a lower priority. For example, if two 10% coupons apply to the same product, the total discount is 19% (10% for the first coupon, then 10% calculated from the reduced 90% price for the second coupon).

Configuring pages to allow customers to enter coupon codes

To allow customers to enter coupon codes for discounts or gift cards on the pages of your on-line store:

  1. Open the Pages application.

  2. Select the required page in the content tree.

  3. Switch to the Edit -> Design tab.

  4. Add the Coupon codesweb part to the appropriate web part zone.

  5. Configure the web part properties.

    We strongly recommend leaving the web part’s Show Apply button property enabled. This allows customers to instantly apply coupon codes while viewing the page.

    If Show Apply button is disabled, the web part only applies the entered coupon code when moving to the next step in the checkout process.

  6. Click Save & Close.

The Coupon codes web part uses a transformation to display the coupon codes applied to the customer’s shopping cart. The transformation allows you to format the coupon codes according to any requirements of your website’s design.

When configuring the Coupon codes web part, assign the transformation into the Transformation name property. You can either Select an existing transformation or create a New one.

When writing the code of transformations for coupon code items:

  • Use the Code field to access the coupon code text – {% Code %} in Text / XML transformations, <%# Eval<string>(“Code”) %> in ASCX transformations.
  • If you apply hotfix 11.0.29 or newer, you can use the IsApplied field to evaluate whether the coupon code is valid for the current shopping cart – {% IsApplied %} in Text / XML transformations, <%# Eval<bool>(“IsApplied”) %> in ASCX transformations. This allows you to add formatting options for coupon codes that are no longer valid, for example after products are removed from the cart and the total price falls under the value required by the coupon code’s discount.
  • Call the GetDiscountCouponCodeRemoveButton method to add elements that allow customers to remove applied coupon codes. The method generates an <input> element (of the submit type) that removes the specified coupon code from the shopping cart when clicked. The method has the following parameters:
    • couponCode (required) – the text of the removed coupon code.
    • cssClass (optional) – the name of the CSS class assigned to the generated input element.
    • buttonText (optional) – the text caption of the input element (assigned to the value attribute).
Example - Text / XML transformation



<div>
  <div class="label">
    <span>{% HTMLEncode(Code) %}</span>
  </div>
  <div class="button">
    {% GetDiscountCouponCodeRemoveButton(Code, "btn") %}
  </div>
</div>


Output of the Coupon codes web part with two coupon codes applied

After adding the Coupon codes web part to your website’s checkout pages, you can distribute coupon codes among your customers. Customers can then use these codes to receive discounts or redeem gift cards.

Coupon code restrictions per order

When validating coupon codes, the system only accepts one code per product coupon for each order. For example, if a customer knows 2 different coupon codes for a 10% discount on a product, they can apply the codes to 2 different orders, but cannot apply both to a single order to get a 20% product discount.

To display information about applied product coupons on your store’s checkout pages, you need to correctly format the data of the items in the current shopping cart. For detailed information, see Displaying shopping cart details on pages.

Reference

General

Name

The name of the product coupon used throughout the administration interface, for example in the product coupon list.

The system can also display this name to customers when viewing invoices, details on product or shopping cart pages, etc.

Code name

The unique identifier of the product coupon (for example used by developers in custom code).

Unless there is a reason to set a particular value, you can leave the default (automatic) option, and the system generates an appropriate code name automatically.

Enabled

If selected, the product coupon can be applied to orders. If cleared, the coupon is disabled.

Discount scope

Applies to

Determines whether the product coupon applies to:

  • Individual products
  • Sections within the product tree structure (all products under the selected sections)
  • Departments (all products belonging to the selected departments)
  • Brands (all products that have one of the selected brands assigned)
  • Collections of products (all products that are assigned to one of the selected collections)

Choose one of the options and then select the Products, Sections, Departments, Brands or Collections to which the coupon’s discount applies.

Excludes

You can optionally exclude products from the coupon’s discount (unless the Applies to property specifies individual products). The exclusion options allow you to specify product sections, brands or collections.

Choose the products in sections, products with brands or products in collections option in the Excludes property and then select the Excluded sections, Excluded brands or Excluded collections.

Discount value

Discount

Determines whether the product coupon applies a discount as a percentage or a fixed amount.

  • percentage – the price of all products to which the coupon applies is reduced by the specified percentage.

  • fixed amount – the price of all products to which the coupon applies is reduced by a specific amount in the site’s main currency.

    Note: Fixed amount discounts apply separately to every product unit. For example, if a product coupon’s fixed amount is 5 and an order contains 10 units of a product to which the discount applies, the total discount is 50.

Amount

Specifies the exact value of the product coupon’s discount. The amount must be a valid decimal number.

  • If the amount is a percentage, enter a number between 0 and 100.
  • If the amount is fixed, enter a number greater than 0.

Target customers

Available for

Determines which types of users are able to apply the product coupon:

  • All visitors – all customers can use the product coupon.

  • Registered users – only registered customers can use the product coupon.

  • Registered users in selected roles – only registered customers in selected roles can use the product coupon. To specify the roles:

    1. Click Select to open the Select roles dialog.
    2. Choose the required roles.
    3. Click Select.

You can add registered customers to roles in the Customers application while editing customers on the Roles tab.

Discount processing

Apply lower priority discounts

Indicates whether other product coupons with a lower priority can be applied to the same order. If you clear the check box, the system does not accept coupon codes of product coupons with a lower priority for the given order (even for coupons that apply to different products).

If multiple percentage-based product coupons apply to the same product, they stack multiplicatively – each product coupon reduces the base price used by coupons with a lower priority. For example, if two 10% coupons apply to the same product, the total discount is 19% (10% for the first coupon, then 10% calculated from the reduced 90% price for the second coupon).

Note: To set the priority of product coupons, open the main list of coupons in the Product coupons application and change the order of the items.

Valid to

Specifies the time and date until which the product coupon can be applied. If you leave the value empty, the coupon’s is valid permanently (starting from the Valid from date).

Valid from

Specifies the time and date from which the product coupon can be applied. If you leave the value empty, the coupon can be applied at any time before the Valid to date.