Customer group pricing

Nosto recently implemented support for Customer Group Pricing feature, described here. With customer groups, offering product discounts and promotions gets even more convenient and flexible. In following sections, we will discuss more about this feature and how it can be activated from Nosto admin page.

Note: In this initial release, nosto only supports discount rules for merchant default currency. When a product has no discount rules matching the merchant default currency, then no recommendations will be served.

Customer groups

A customer group is a set of rules for configuring product promotions or discounts using different pricing strategies as below:

  • Product Rule - This rule will define discount rules for each product

  • Category Rule - This rule will define rules for product categories. When defined, all products belonging to this category will received the discount offered. This can be further refined to include direct sub-categories of the selected product

  • Store Rule - There can be only one store discount rule for a customer group. This rule will define discount rules for all the store products

  • Price Lists - Price Lists are special form of defining discount rules. A store can have many price lists. This is similar to "Product Rule" discount rule except that price list offers flexibility of defining rules for each and every product at once. This can be used when there's a requirement for defining rules for huge number of products.

Note: A customer group can only have a Price List Rule OR Product and/or Category and/or store rule. Customer groups are associated with the customers.

Following are the pricing strategies that can be associated with pricing rules defined above:

  • Fixed pricing - Value defined will be the exact selling price of the product

  • Percent pricing - Value defined will be the percentage value of the product list price. For e.g. if this value is 1, that means the product is offered at a 1% discount from the list price

  • Price pricing - Value defined will be directly discounted from the product list price. For e.g. if this value is 100, that means the product price will be 100 less than the list price

Rules precedence

When Price List rule is not enabled, the following order is applied for rules

  1. Product Rule, if available

  2. Category Rule, if available

  3. Store Rule, if available

Nosto's implementation

Nosto maps each customer group id as a product variation ID for e.g. if the customer_group_id is "1", then variation ID will be "1". In addition to Variation ID, a product variation has the following component,

  • price - The selling price of the product including the discount as per the discount rule.

  • list price - The actual price of the product excluding the discount.

  • availability - Current status of product availability. For e.g. In Stock or Out of Stock.

  • currency code - currency code of the product pricing rule. A rule can be defined in one currency but still be applied on different currency code. Consider, the product currency is "eur", the customer is ordering using "usd" and the customer belongs to a customer group, In the situation, promotion will be converted to "usd" but customer will still be paying in "eur" during checkout.

The json format of a single product variation will look like,

  variation_id: '1_USD',
  price: 360,
  list_price: 260, //This can be a discount rule with PRICE method with a value of 100
  availability: 'InStock',
  price_text: '260',
  price_currency_code: 'eur'

In addition to the variations fetched, Nosto adds the default variation ID (as configured in "Nosto Admin"), where both price and list_price will have the same value. This is because Nosto requires all products to be associated with the default variation ID.

An example of default variation data,

  variation_id: '1_EUR',
  price: 360,
  list_price: 360, //There is no discount rule here. Product price is used as it is
  availability: 'InStock',
  price_text: '360',
  price_currency_code: 'eur' //Merchant currency code

Activating customer group pricing in Nosto

Currency Settings

Please follow the below steps to enable product variation from Nosto Admin:

  1. Navigate to Settings > Currency Settings in Nosto admin,

  2. Disable "Exchange rates" toggle (if it's enabled)

  3. Configure "Variation ID" text field (this is considered the default variation id).

If we consider our example in the previous section and configure the currency settings, it will look as shown below,

Product Re-indexing

After completing the steps in previous section, re-index the products by following the below steps:

  1. Navigate to Catalog Explorer > Products page

  2. Click "Update Catalog"

Note: Re-indexing may take some time to complete, depending on the product count.


  • Default customer group should be assigned for both registered customers and guests for the feature to work correctly

  • Currently Nosto generates product variant entries for each customer group even when category access is limited to few categories

Last updated