Skip to main content

Creating a channel-specific coupon campaign

Let's imagine that we are targeting a young audience and want to give a discount to customers who redeem a valid coupon code on our mobile app. The discount is not applied if the coupon is redeemed on our website. This is useful for segmentation purposes.

To do it, let's create a standard campaign where we will use a customer session attribute to identify the channel where the coupon is redeemed.


The Coupons feature has to be enabled.

Let's create:

  1. A customer session attribute to store the purchase channel.
  2. A promotion rule to issue a $20 discount when a valid coupon is redeemed on the mobile app.

We can also create campaigns to give discounts to customers who buy in a certain store or on a given date, for example. We just have to change the attribute type. Check out our tutorial on setting and using a custom attribute and our Developer docs tutorial on using geolocation.

Storing the channel


To create a custom attribute, you need Admin permissions.

Let's create a custom attribute to store the channel chosen by our customer:

  • Associated entity: Customer Session

  • Attribute type: String

  • API name: purchasechannel

  • Rule Builder name: Purchase channel

  • Rule Builder description: The purchase channel chosen by the customer.

  • Picklist Values: mobile app, website, physical store


    The attribute is set to these values by the integration layer. You can learn more about it in our dedicated tutorial.

  • Available in our Application.

Issuing a discount on the session total

Let's build a rule for the customers to receive a $20 discount on the total value of their session when they redeem a valid coupon on our mobile app at checkout.

Let's name the rule Discount on mobile app. It has 2 conditions and 1 effect.


  • Coupon code is valid.
  • Check attribute value: Purchase channel (Current Session) is equal to mobile app.


Discount session total: Name is 20 with coupon and Discount value is 20.