Extensibility Overview for SAP Marketing Cloud
13 min read
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
- Extensibility Options
- Custom Reusable Elements
- When to Use Which Extensibility Option?
- Monitoring and Transporting Extension Items
- Extensibility Options outside of SAP Marketing Cloud
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
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.
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.
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.
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.
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.
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.
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:
- Do you need to extend the data model of SAP Marketing Cloud?
- If yes: proceed to the section "Data-model related extensibility options".
- 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 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.
Kyma Environment - Business Event Handling
|Cloud Foundry Environment||
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.