Skip to Content
Product Information
Author's profile photo Josef Ehbauer

Product Discounts in Recommendations, Offers and Emails of SAP Marketing Cloud


Note, as of Release 2102 it is possible to realize a solution for product prices in marketing content (e.g. emails) via the new functionality of Custom Business Objects and Custom CDS Views in the Content Studio.


This blog was posted in 2018 to describe a newly introduced capability in SAP Marketing Cloud to model price data for product master data by means of  custom business objects. However this approach cannot be used to embed the captured prices of the CBO into the content studio, for example for a use in emails.

SAP Marketing Cloud uses Products in Business Scenarios for Recommendations, Offers or Emails. However, to provide also a discount (or price), which can be communicated to the customer through campaigns, it would be ideal to define a custom business object, especially in scenarios with the time dependend discounts. With the Custom Business Object in place you can synchronize the discounts with your pricing engine, similar as a sales or a commerce system does.

This document describes roughly the needed steps to define a custom business object for “Discounts in Marketing” with an association to Products in Marketing.

As a prerequisite you have loaded product master data into Marketing from your master data system, for example from S/4HANA Enterprise, SAP ERP or SAP C/4HANA Commerce. For this integration process one can use the Standard Integration Package “SAP Order Management Integration” or the Interface API_MKT_PRODUCT as part of Custom iFlow development in CPI.

To make discounts available in SAP Marketing Cloud the following steps are needed:

  1. Logon as Administrator and start the App “Custom Business Object”.
  2. Specify Id and Name for the Business Object and define the required settings:
    Make sure that an UI  gets generated, that a ODATA service is available and that the Business Object can be associated to any other Business Object
  3. Specify the field for the reference to the Product with the type “Association to Business Objects“. Define the fields which you need to specify the discounts in Marketing, if required also a date field to model time dependent discounts in Marketing.
  4. Generate a Tile for the Fiori Launchpad to open the User Interface for the Discounts
  5. To load Discounts for the relavant Products, define first a custom integration scenario. This enables you to call the generated ODATA service for the Custom Business Object from the corresponding pricing system.
  6. After you have loaded your discounts from the source pricing system you will find the values in the generated UI of the Custom Business Object

Having done this you can integrate the values of the Discounts into your marketing processes for recommendations or emails following the corresponding steps in the Extensibiltiy Guide.

Note, you can realize a similar solution for discounts which refer to product categories of an product hierarchy.

In addition you can also link the discounts, stored in the custom business object, to the products use and resonance app. To do so the following is required

  1. Lauch the app “Custom Fields and Logic”
  2. Enhance the business object “Marketing – Product” with an extensibility field, which carries an association to the custom business object “Discounts in Marketing”
  3. Afterwards update the product data with the reference to the discounts via the standard service API_MKT_PRODUCTS.
    When opening the product use and resonance app one can include an hyperlink to the discount app via the UI Adaptation mode for the given extensibiltiy field.


Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Ekaterina Kurakina
      Ekaterina Kurakina

      Josef, thank you very much for that article!

      Our client is operating in 10 countries, each one has its own currencies and prices. We created CBO descriptioning in your article and loaded data with prices there. We want to every contact gets unique email with prices depending on his country automatically. 

      How to embed this data in email automatically depending on contact’s country?

      Regards, Ekaterina


      Author's profile photo Bruno Gonzalez
      Bruno Gonzalez

      Hi Ekaterina Kurakina! Do you still need help with the problem you have? Feel free to ask or reach me. Regards,

      Author's profile photo Rafael Freitas
      Rafael Freitas

      Hi Bruno Gonzalez , I have a similar case as Ekaterina. I want to show some product information of an interaction (that triggered the campaign) inside an Email.

      Is there a way to do that with a CBO? (I mean.. embed CBO data in the e-mail)

      Author's profile photo Bruno Gonzalez
      Bruno Gonzalez

      Hi Rafael Freitas. Can you please write the question in with the tag SAP Marketing Cloud? Here is the link:

      I recommend you to do that in order to have that in one place. I'll reply ASAP 🙂

      Author's profile photo Rafael Freitas
      Rafael Freitas

      I posted it

      Author's profile photo Bruno Gonzalez
      Bruno Gonzalez

      Replied! 🙂