CX Works

CX Works brings the most relevant leading practices to you.
It is a single portal of curated, field-tested and SAP-verified expertise for SAP Customer Experience solutions

Extensibility Overview for SAP Marketing Cloud

13 min read

Extensibility Overview for SAP Marketing Cloud

In each marketing implementation project, you run, sooner or later, into the requirement that you need to adapt, configure or extend the standard solution. In this article, we show you three different levels for building your custom solution. You will also learn about the available extensibility options and when to use each option.

Table of Contents

Building your Custom Solution

To build your custom solution, there are three different levels available in SAP Marketing Cloud: Adaptation, Configuration and Extensibility. 

1st Level: Adaptation

Adaptation is about changing the frontend to get a personalized user interface. One example is the "edit home page" functionality of the SAP Fiori Launchpad to personalize the Fiori application groups exactly to your specific needs. 

Adaptation is always under full control of the business user. Adaptations do not effect other business users. In case of a change of the underlying catalogs or apps, adaptations might need to be redone.

2nd Level: Configuration

Configuration is about enabling power users to customize and configure the standard solution according to their needs.

The central application, for almost all configurations, is the "Manage Your Solution" application. This application contains multiple configuration activities which are usually configured once, such as the setup of interaction types or marketing areas. If you have a SAP On-Premise background, this corresponds to the customizing activities ("SPRO").

Some complex configurations have been built into their own apps. Examples are the "Campaign Configuration" or the "Segmentation Configuration" applications. Further Campaign guidance can be viewed in the video below.

Campaign Configuration

3rd Level: Extensibility

Extensibility is about enhancing or extending the solution in different ways, such as creating custom fields, custom business objects or custom communication scenarios. All extension items are available across the application and can be transported using software collections to be productively available and usable.

The next section describes the extensibility options of SAP Marketing Cloud in detail.

Not Available: Modification

Due to the nature of a public cloud solution, a modification of the standard application logic is unsupported.

You can influence or enhance the business logic at predefined spots through implementing a Business Add-In (BAdI). However, implementing a BAdI is not a modification.

Extensibility Options

There are multiple ways to enhance or extend your SAP Marketing Cloud solution. For an overview, please read the Extensibility Guide for SAP Marketing Cloud. 

Custom Fields

If you want to extend standard business objects (also referred to as "business contexts") such as campaigns, contacts or interactions, you can create custom fields using the "custom fields and logic" application. You can then make custom fields available for the use in segmentation, for the APIs or CDS Views among others.  

Example: Add custom field "shoe size" for interaction contact.

More details can be found in the Custom Fields section of the Extensibility Guide

Custom Logic

If you need to enhance the standard application logic at predefined spots, you can implement custom logic by creating BAdIs (Business Add-Ins). 

Example: Adapt interaction data during the import of interactions.

More details can be found in the article Overview for Implementing Custom Logic in SAP Marketing Cloud and in the Custom Logic section of the Extensibility Guide

Custom Business Objects

To enhance the data model of SAP Marketing Cloud, you can use Custom Business Objects (CBOs) to create your own objects and the corresponding underlying database tables. Multiple fields and subnodes can be created for Custom Business Objects. You can generate UIs and OData services to work with and to modify Custom Business Objects externally. 

Example: Create custom business object for event tickets (event id, section, seat, ticket class, price)

More details can be found in the Custom Business Objects section of the Extensibility Guide

Custom Code List: Custom Code List are leveraged to create and maintain the predefined reusable data elements. It can be used in Customer Business Objects (CBOs).

More details can be found in the Custom Code List section of the marketing cloud help document.

Custom SAP HANA Views

If you need to add aggregated or calculated fields for the use in segmentation, scores or recommendations, you can import custom SAP HANA views into SAP Marketing Cloud.

Example: Aggregate recent interactions for your custom contact score.

More details can be found in the Custom SAP HANA Views section of the Extensibility Guide.

Custom CDS (Core Data Services) Views

You can create custom CDS views based on standard or custom business objects for reporting and analytical purposes. 

Example: Aggregate contact profile data for custom analytical report.

More details can be found in the Custom CDS Views section of the Extensibility Guide

UI Extensions

If you want to extend the UI (user interface) of SAP Marketing Cloud, you can use UI extensions. Using UI extensions, you can integrate externally-hosted content to be displayed in the header or as distinct new sections on supported pages. 

Example: Show corresponding SAP Commerce Cloud product detail page inside "Marketing Products" application.

More details can be found in the UI Extensions section of the Extensibility Guide

Marketing Attributes

You can introduce Marketing Attributes to enhance Interaction Contacts for multi-value attributes. Through marketing attributes, you can model 1:n relations using key-value pairs.

Example: "Hobby" as Marketing Attribute Category; "Hiking" and "Photography" as corresponding Marketing Attributes.

Marketing attributes are only available for the "Interaction Contact" business object.

Custom Catalog Extensions

If you have created new apps (for example, during the creation of Custom Business Objects), you can assign them to business catalogs using Custom Catalog Extensions. 

Example: Add "event tickets" app to "marketing data" business catalog.

More details can be found in the Custom Catalog Extensions documentation

Custom Communication Scenarios

In the area of integration, a communication scenario bundles inbound and outbound communication design-time artifacts for the communication between systems. 

Example: Publish communication scenario around the API of your custom business object for external consumption.

More details can be found in the Custom Communication Scenarios documentation

Custom Reusable Elements

With the Custom Reusable Elements app, you can modularize your custom code and thus structure your custom code according to your requirements. You can use this app to create Custom Libraries and organize your methods, as required, in order to have a single point of entry for your implementations. This app is specifically designed for custom code reuse and supports your productivity and efficiency.

An In-App Sample for Reusable Elements can be found on the SAP Extensibility Explorer.

More details can be found in the Custom Reusable Elements section on the SAP Help Portal.

When to Use Which Extensibility Option?

Now, you know which extensibility options exist. You now might ask yourself, when to choose which option.

Your first questions should be: 

  1. Do you need to extend the data model of SAP Marketing Cloud? 
    • If yes: proceed to the section "Data-model related extensibility options".
  2. Do you need to add aggregated or calculated fields and/or combine standard and custom business objects for the use in analytical reporting, segmentation, recommendation or scores?
    • If yes: proceed to the section "View-related extensibility options".

If the answers for both questions are "no", proceed to the section "other extensibility options". 

Data-Model Related Extensibility Options

These extension options are directly related to the data model of SAP Marketing Cloud:

  • Custom fields
  • Custom business objects
  • Marketing attributes

Stick as close to SAP standards as possible to minimize dependencies, possible source errors, and to keep maintenance effort at a minimum.

  • Map fields to standard fields instead of creating custom fields.
    • Only take in custom fields that are necessary during the marketing process to reduce complexity, maintenance overhead, and SAP HANA disk consumption.
  • Always try to use standard business objects instead of creating custom business objects.

The following decision tree can help you identify the right extension option depending on your requirement for extending the data model:

Image 1: Data-model related extensibility options

View-Related Extensibility Options

If you need to create views for reporting and analytics, segmentation, scores or recommendations, there are two extensibility options available: 

  • Custom CDS Views
  • Custom SAP HANA Views

The following decision tree helps to distinguish the two options: 

Image 2: View-related extensibility options

Other Extensibility Options

The remaining extensibility options are quite specific to their area of usage.

When you need to add custom logic, the creation of custom logic is required. When you need to extend the UI of supported pages, use UI extensions. To add apps to business catalogs, use custom catalog extensions. To bundle design-time artifacts for custom inbound or outbound integrations, create a custom communication scenario

Monitoring and Transporting Extension Items

To get an overview about your extensibility items and to view associations and dependencies between the items, you can use the Extensibility Inventory app:

Image 3: Extensibility inventory - overview

You can also view the associations and dependencies between the items when you click on any of the extension items:

Image 4: Extensibility inventory - detailed view

Please note that the hierarchical display shows both direct and indirect dependencies (through further extensibility items). Extension items can be transported using the apps Export Software Collection and Import Software Collection to be productively available and usable. You need to manually add extension items to the software collections.

Extensibility Options outside of SAP Marketing Cloud

If none of the presented in-app extensibility options are capable of realizing your specific requirement, there is always the alternative of a side-by-side extension on the SAP Business Technology Platform

Extensibility Options Description Link
Low-Code Platforms 
  • low-code development platform provides an environment developers use to create applications and extensions through graphical user interfaces and configuration. Low-code development platforms reduce the amount of traditional hand coding, enabling accelerated delivery of applications.
  • SAP chose to partner with Mendix to deliver a low-code, enterprise-ready solution running on the SAP Business Technology Platform (SAP BTP). Mendix offers a web based environment for business analysts and key users. For IT Professionals a local environment, known as Mendix Studio Pro, can be used to develop the applications.
  • Side-by-side extensibility with the help of Low-Code No-Code Platform Mendix (CX Works Article)

Kyma Environment - Business Event Handling 

  • The Kyma environment is a runtime the developers can use to build cloud-native Kubernetes-based extensions to SAP by using microservices and serverless Functions.
  • You can subscribe to business events triggered in SAP Marketing Cloud to receive notifications in SAP Cloud Platform extensions. Then you can take follow-up actions on the events, if desired. When an event is triggered in SAP Marketing Cloud, there is at least one API available to fetch the necessary information.
  • You can use the SAP-managed deployment service for the Kubernetes cluster to set up the Kyma Runtime in SAP Cloud Platform extensions.
  • Support for Cloud Application Programming Model (CAP) – an opinionated business app development framework
Cloud Foundry Environment
  • The Cloud Foundry environment allows you to create polyglot cloud applications in Cloud Foundry. It contains the SAP BTP, Cloud Foundry runtime service, which is based on the open-source application platform managed by the Cloud Foundry Foundation.
  • The Cloud Foundry environment enables you to develop new business applications and business services, supporting multiple runtimes, programming languages, libraries, and services. You can leverage a multitude of buildpacks, including community innovations and self-developed buildpacks. It also integrates with SAP HANA extended application services, advanced model (SAP HANA XSA).
  • Support for Cloud Application Programming Model (CAP) – an opinionated business app development framework


This article first introduced you to the different levels to build your custom SAP Marketing Cloud solution: adaptation, configuration and extensibility.

In the remaining sections, the different options regarding extensibility which are available in SAP Marketing Cloud were presented. In addition, guidance on when to use which extensibility option and the options for monitoring and transporting extension items were presented as well as extensibility options outside of SAP Marketing Cloud.

If you're interested in learning more about guidance around extensibility to optimize your technical design solution, see our Portfolio of Services.