Rewritten the ResourceLink component to the new Angular version.

We rewrote the ResourceLink component to the new Angular version, ensuring resource displays and tooltips are now consistent across the app. We also made detail navigation work smoothly—opening in drawers or new tabs with our new drawer layouts.

Approvals

  • Fixed an issue where voucher details were missing in the approval request preview when multiple vouchers were selected.
  • Fixed an issue which caused the campaign templates not to work correctly with approval requests.

Custom events

Fixed custom event schema filters so they now update correctly when the condition changes.

Distributions

Fixed an issue where changing the trigger for the distribution caused the campaign assignment to reset and allowed saving the distribution without a campaign assigned.

Drawers

Fixed an issue that caused products from static collections to open in the same window instead of a new tab.

Earning rules

Fixed an issue that caused a collection ID to be displayed instead of its name when multiple products or collections were selected.

Referral campaigns

Fixed a bug which caused the criteria in the Custom conversion event to change upon saving.

ResourceLink

Fixed an issue that caused the validation rule's name in the resource link not to refresh automatically after editing.

User interface

Adjusted spacing in the campaign view between the tabs and the timeframe.

Stacking rules

We have added a new setting to Stacking rules: Sorting rule for grouped redeemables. You can now define a general order in which redeemables are applied when stacked discounts (validations or redemptions) include discounts with categories assigned to Joint and Exclusives.

This rule has two options:

  • Apply Joint categories last: This is a default setting and the current behavior of the Stacking rules. In this scenario, Exclusive categories are applied first and then the Joint categories.
  • Apply Sorting rule to combined Joint and Exclusive categories: This is a new setting. In this scenario, Stacking rules combine the discounts assigned to Joint and Exclusive categories into one group and apply the discounts according to the Sorting rule setting – request order or hierarchy.

Refreshed UI for the Publications history tab inside the discount coupon campaign view

We've refreshed the UI for the Publication history tab inside the discount coupons campaign view to match the recent UI changes. The refreshed look provides a compact overview of key details matching our latest UI style for improved usability and a smoother experience.

Validation rules

Fixed an issue that did not allow the use of negative values when creating validation rules based on number metadata fields.

UI

Fixed an issue where voucher codes incorrectly appeared as 'no code' in the history tab following bulk publication in discount coupon campaigns.

Filters

Incentive filtering in the Validations has been split into two separate filters for better usability:

  • Number of stacked incentives – allows conditions such as 'has exactly', 'has more than', or 'has less than' to filter based on the number of applied incentives.
  • Incentive name – uses the “includes” condition to filter by specific incentive names.

Refreshed UI for Voucher tabs inside the Campaign view

We've refreshed the UI for Vouchers, Referral codes, and Loyalty cards tabs inside the Campaign detail view to match the recent UI changes. The new tabs provide a compact overview of key details matching our latest UI style for improved usability and a smoother experience.

Refreshed Drawer Layout for Segments and Collections

We’ve updated the UI for drawers used in Customer Segments and Product Collections, delivering a cleaner and more consistent experience.
This update also includes enhancements to breadcrumb navigation links, ensuring better usability and clarity.

Approvals

  • Fixed an issue where the non-existent record with draft status briefly appeared before the page loaded the approvals list.
  • Fixed an issue where users with limited permissions could not delete vouchers with an approval request.

Import

Fixed an issue where the redeemed amount property appeared during the field mapping step when importing referral or discount vouchers. The redeemed amount property is not relevant for these voucher types.

UI

Fixed an issue where a segment and collection drawer could not open in a new tab from the segments and collections list view respectively.

Discounts – new value limits for products

👍

This feature can be enabled for you on demand. Contact Voucherify support to enable it.

You can now limit the number of discounted item units in discount coupons and promotions. With these new limits, you can build a scenario where each of your customers can get for example only 2 discounted product units in total in a campaign and the whole campaign covers only 200 discounted product units – units sold above this limit will not be discounted.

The limits cover the following product discounts:

  • Amount discount: Apply the full discount to each item unit
  • Percent discount: Apply the discount to item subtotal
  • New price: Apply the discount to item subtotal

You can set the limits for products, SKUs, or collections. The new value limits are:

  • Maximum units per customer in campaign: limits the number of discounted item units that one customer can receive in a given campaign.
    For example, the limit is set to 2 for a T-shirt from the Adventure brand. One customer can only discount 2 units of this T-shirt.
  • Maximum units per campaign: limits the number of discounted item units that all customers can receive in a given campaign.
    For example, there are 10 Adventure T-shirts that can be discounted. The 10 discounted T-shirts are available to all customers and the customer who buys the 11th T-shirt won’t receive a discount.
  • Maximum units per campaign for a product in a collection: limits the number of discounted item units of a given product in a collection that all customers can receive in a given campaign.
    For example, the limit is set to 5 for the “Adventure-brand” collection consisting of T-shirts, beanies, and posters; this means that maximum 5 T-shirts, 5 beanies, and 5 posters will be discounted. The limit isn't split between products; each product has its own limit of 5 item units.
  • Maximum units per customer for a product in a collection: limits the number of discounted item units of a given product in a collection that one customer can receive.
    For example, the limit is set to 5 for the “Adventure-brand” collection consisting of T-shirts, beanies, and posters; this means that maximum one customer can get a discount on a maximum of 5 T-shirts, 5 beanies, and 5 posters. The limit isn't split between products; each product has its own limit of 5 item units.
  • Maximum units per promotion tier: limits the number of discounted item units that all customers can receive in a promotion tier.
    For example, there are 10 Adventure T-shirts that can be discounted. The 10 discounted T-shirts are available to all customers and the customer who buys the 11th T-shirt won’t receive a discount under a given promotion tier.
  • Maximum units per customer in promotion tier: limits the number of discounted item units that one customer can receive in a given promotion tier.
    For example, the limit is set to 2 for a T-shirt from the Adventure brand. One customer can only discount 2 units of this T-shirt under a given promotion tier.
  • Maximum units per promotion tier for a product in a collection: limits the number of discounted item units of a given product in a collection that all customers can receive in a given promotion tier.
    For example, the limit is set to 5 for the “Adventure-brand” collection consisting of T-shirts, beanies, and posters; this means that maximum 5 T-shirts, 5 beanies, and 5 posters will be discounted. The limit isn't split between products; each product has its own limit of 5 item units under a given promotion tier.
  • Maximum units per customer in promotion tier for a product in a collection: limits the number of discounted item units of a given product in a collection that one customer can receive in a given promotion tier.
    For example, the limit is set to 5 for the “Adventure-brand” collection consisting of T-shirts, beanies, and posters; this means that maximum one customer can get a discount on a maximum of 5 T-shirts, 5 beanies, and 5 posters. The limit isn't split between products; each product has its own limit of 5 item units.

All of the new limits can be combined with dynamic formulas. A dynamic formula determines the number of units that’s covered by the limit.

The limits can be configured in the Dashboard and through the API – validation rules.

New referral tier builder

We've introduced a new referral tier builder in the fifth step of the referral campaign creation process.

Rewards

Added a dropdown to the reward step in the loyalty campaign creation process.