8.4 Campaigns


8.4 Campaigns  <<  8.4.1  >>  8.4.2 Campaign list view 

8.4.1 Campaigns in general

All campaign types have the same basic functionality. This common behaviour, including restrictions and limitations, is explained in this chapter. The various campaign types and their differences are explained later.

Discounts from campaigns are calculated on top of the current product price for the customer. The current price can already contain the following discounts:


All of these pricing methods are explained in product card's options and prices section. Some restrictions apply to option and quantity pricings, when used together with campaigns:

Option pricing restrictions
  • It is recommended that product has only one product option. This option can have as many option choices as needed.

  • If a discount is to be given only to a specific option choice of a product, then option choices for that product must have own item codes and the campaign must specify the itemcode for the desired option choice (not the item code of the base/backing product). The product added to cart in the shop must then be that exact option choice for the discount to be applied.

  • If product option choice does not have its own item code, then the item code of the base product is used in the campaign. In this case any variants of the base product get discounted (assuming other conditions for the discount are met) and the discounted product's choice in the cart is the one the customer selected in the shop.

  • The price rules of product option choices affect the campaign discounted price in the following way: If an option choice has a price rule, and the product is added to the cart with this choice (choices), then the campaign discount is calculated to the price that has these option choice price rules in it. On the other hand, if a product is added to the cart automatically by a campaign, the option choice price rule is in the discounted price only if the choice has its own item code, and this item code is used in the campaign. In the latter case, only one option choice price rule affects the price.



Quantity pricing restrictions
  • Quantity pricing works per shopping cart row: if the cart contains two rows with the same item code (which can happen with campaigns), then the quantity pricing price is calculated to both rows individually.

  • Because of the above, a certain amount of discretion should be used before deciding to use quantity pricing together with campaigns.



If coupons are used in the webshop, then those discounts go on top of campaign discounts.

One shopping cart row can only be discounted by one campaign at a time. Once a cart row is discounted, discounts from other campaigns are not calculated on top of it, even if they would normally apply (had the row been non-discounted). Also campaign discounts can never turn a row price to a negative price. Campaign "discount" that increases the normal price, is however possible (see the price rule examples below).

One consequence of the "one campaign per row" rule is that the shopping cart can become depleted from regular, non-discounted rows. This can happen if multiple campaigns are active at the same time, or the campaign is such that it affects all rows. When this happens, other campaigns can no longer give any discounts to the cart. Campaign importance can be used to control the order of the campaigns.

Campaigns use price rules to configure the discounts to products (price rules are also used elsewhere in Workspace). The value of a price rule can be a fixed price, a fixed decrease (or increase) or a relative decrease (or increase) to an existing price. Increases to original prices are not prohibited. A dot ( . ) is used as a decimal separator. The table below has examples of these cases.


10A fixed value that sets the price to 10.
-10A fixed decrease of 10 to the original price.
+10A fixed increase of 10 to the original price.
-10%A relative decrease of 10% to the original price.
+10%A relative increase of 10% to the original price.
[left empty]Original price is not changed.
Table 8.1 : Price rule examples



In campaigns where the campaign is set up with product information, products are configured using product item codes. Item codes specified in campaigns must match some main product or product option choice in the webshop. If a product that is referenced in a campaign gets removed from the webshop, then the campaign in question ceases to work (i.e. no discounts are given). This happens also if some campaign product has amount restrictions set (min > 1, max > 0, factorial > 0). Products do not have to belong to any particular product group to be usable with campaigns; product visibility via themes and/or customer's customer groups may prevent a product from showing up normally in the shop, but if some campaign is configured with such product, the product will be discounted and/or added to the shopping cart despite this visibility restriction. On the other hand, product's visibility via stock amount and the related settings may prevent the campaign from forming in the cart.

When a shopping cart row is discounted, details from the campaign can be displayed for the row with shopping cart variables (see variables with "campaign" in the name). The displayed discount format is controlled by currency settings.

Campaigns are evaluated every time when something is updated in the shopping cart, or some other action occurs that might indirectly change the cart contents. Such update is for example cart row's quantity update. An example action would be when a customer logs in to the webshop.