CX Works

A single portal for curated, field-tested and SAP-verified expertise for your SAP C/4HANA suite. Whether it's a new implementation, adding new features, or getting additional value from an existing deployment, get it here, at CX Works.

Extensibility Overview for SAP Marketing Cloud

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. The video below demonstrates this feature. 


Video 1: Adaptation of SAP Fiori Launchpad


Adaptation is always under full control 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 an 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. The "Campaign Configuration" application is shown in the following video.


Video 2: 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. 

The following video introduces the extensibility options:


Video 3: Extensibility Options


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 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


When to Use Which Extensibility Option?

Now, you now 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


If none of the presented extensibility options are capable of realizing your specific requirement, there is always the alternative to build your custom application on the SAP Cloud Platform and to integrate it with SAP Marketing Cloud. With the SAP Cloud Platform Extension Factory, there is also a cloud-native framework available for extending your SAP application. If you want to learn more about those options, stay tuned for a new article coming out soon.


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.


Conclusion

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.

If you're interested in learning more about guidance around extensibility to optimize your technical design solution, we offer the following service: