Skip to Content
Technical Articles

Options to integrate third-party outbound channels with SAP Marketing Cloud

Welcome

Welcome to the blog posts of the SAP CX Services Marketing Practice.

We are happy to share with you our experience around Marketing Business, Technology and Analytics.

You want to see more blogs from us? Click here.

Background

With SAP Marketing Cloud, there are various standard integrations for outbound channels available. Examples are SAP Digital Interconnect, Amazon or Alibaba for outbound mails and/or SMS, WeChat or Line for message campaigns or Google Ads for Paid Search or Display Ad campaigns (among others).

If you want to integrate additional third-party outbound channels, SAP Marketing Cloud offers different options to implement these:

All of these options serve different purposes. This blog post serves as an overview and comparison about the options.

Comparison

External campaign execution Open Channel integration Generic Email Service Provider integration Generic Text Message Service Provider integration Export File API CDS View-based OData API
Overview Replicate campaigns for execution in external systems, e.g. for Ad campaigns (any DMP, DSP) Transfer target groups to outbound channel which require custom processing Integrate any Email Service Provider (ESP), e.g. Inxmail Integrate any Text Message Service Provider (SMS, social, mobile messages), e.g. WhatsApp integration via MessengerPeople Read content of export files based on Export Definitions Read data from CDS views via generated OData API
Entity types

Campaign (mandatory, incl. parameters)

Target groups (optional, incl. personalization data)

Campaign success (optional, see below)

Campaign

Target groups (incl. personalization data)

Emails

  • content [HTML + plain text]
  • Recipient
  • Sender
  • sentAt
  • campaignId
  • OutboundId
Text messages

  • content [plain text]
  • Recipient
  • Sender
  • sentAt
  • campaignId
  • OutboundId
Target groups (incl. personalization data) Any entity from standard or custom CDS view

  • target groups
  • campaigns
  • custom business objects
Personalization

Performed in external system

Transfer of personalized contact attributes via export definition (optional)

Performed in external system

Transfer of personalized contact attributes via Export Definition

Performed in SAP Marketing Cloud

Transfer of personalized emails

Performed in SAP Marketing Cloud

Transfer of personalized text messages

Performed in external system

Contact attributes are available via API

Performed in external system

Contact attributes are available via API

Maximum package size 10.000 1.000 1.000 1.000 Packaging highly recommended Packaging highly recommended
SAP Marketing Cloud custom logic support Five enhancement implementation options:

  • Define Implementations (mandatory)
  • Define Parameters for Implementation (optional)
  • Define Global Settings for Execution (optional)
  • Enhance Payload for Data Transfer (optional)
  • Define Template for Outbound Interaction (optional for outbound, mandatory for inbound)
Standard campaign success handling SAP Marketing Cloud requests campaign success data in a periodic way (every 4 hours) Enhancement implementation for writing outbound interactions

SAP Marketing Cloud requests bounce information every 10 minutes, when the campaign has been executed within the last 48 hours. After 48 hours the bounces are collected every 4 hours

Typically tracked by ESP: bounce, complaint

Tracked by SAP Marketing Cloud: mail sent, mail opened, link click

SAP Marketing Cloud requests status information every 10 minutes, when the campaign has been executed within the last 48 hours. After 48 hours the bounces are collected every 4 hours

Typically tracked by message provider: bounce

Tracked by SAP Marketing Cloud: message sent, link click

Additional campaign success handling On project basis (API-based) On project basis (API-based) On project basis (API-based) On project basis (API-based) On project basis (API-based) On project basis (API-based)
Transfer messages / campaign content No No Yes Yes No No
Instances per system 1, more can be requested via ticket Not limited Not limited Not limited Not limited Not limited
Communication scenario ID SAP_COM_0037 SAP_COM_0049 SAP_COM_0234 SAP_COM_0258 SAP_COM_0311 Derived from CDS view name

Summary

This blog post has presented and compared the different options to integrate additional third-party outbound channels. While external campaign execution should be used to replicate campaigns and Open Channel to transfer target groups to a system which requires custom processing, the generic adapters for emails and text messages enable an integration with ESPs or text message providers. The two presented API-based approaches help to provide relevant data for external execution via APIs.

You want to see more articles from SAP Services? Click on the banner below.

Your SAP CX Services – Marketing Practice team.

12 Comments
You must be Logged on to comment or reply to a post.
  • Thanks for detailed information!

    >integrate any Text Message Service Provider (SMS, social, mobile messages), e.g. WhatsApp integration via MessengerPeople

    Can we send different messages through Generic Text Service Provider with custom actions? Or is it only possible to send messages as an “SMS” in campaign designer?

    • Hi Konstantin,

      that’s correct, currently you can only send messages as (plain text) “text message” from the campaign designer to the Generic Text Message Service Provider.

      However, you could enhance/modify the message payload later in the middleware (e.g. SAP CPI) before routing to the actual service provider, for example to add media attachments for a WhatsApp message or add buttons to a message for facebook messenger.

      Hope this helps!

      Best regards,

      Tim

      • Hi, Tim!

        Thanks for quick answer!

        So there is no perfect variant for us. Our client want to be able send sms with links and sap-outbound-id, viber messages, WEB Push notification…etc. It’s seems that we have only two options:

        1. Use OCI without link generation and content choice in campaign designer (use string type field and take all the content in sCPI side)
        2. Use Generic Email Message Service Provider without partition on different action in campaign designer. And without possibility check marketing permission in custom channel?

        Is this correct?

        In the case of the second option, will we be able to distinguish our messages by the interaction type (send_email, send_push and so on)?

        • Hi Konstantin,

          regarding marketing permission check:

          • you should be able to do the marketing permission check either in segmentation or via the BAdI CUAN_MKT_NEWSLETTER_PERMISSION (Permission and Subscription Check)

          Regarding distinguishing the messages:

          • Are you thinking about using the Generic Text Message Service Provider integration for all your planned outbound sources (SMS, Viber, Web Push)?
          • An issue I see is that only one instance of the Generic Text Message Service Provider integration is currently possible (see table of the article), so on SAP Marketing Cloud side you will not be able to route accordingly.
          • If you do the routing on CPI using some logic, you could create the corresponding interaction via an API call back into SAP Marketing Cloud.

          Does that help?

          Best regards,

          Tim

          • Tim,

            Yes that’s helped a lot.

            But i need some approve about:

            An issue I see is that only one instance of the Generic Text Message Service Provider integration is currently possible

            It’s strange, cause we haven’t any restrictions on using the second GTMSP in our TEST system. Ok, it’s clear.

            If you do the routing on CPI using some logic, you could create the corresponding interaction via an API call back into SAP Marketing Cloud.

            It’s not clear, because standard response from text provider (or SCPI in our case) don’t support different interaction types.

            https://help.sap.com/viewer/0f9408e4921e4ba3bb4a7a1f75f837a7/1902.500/en-US/929b31776e0040dfbd1a553913c88756.html

             

            For example if i send PUSH, i get the messageId only

            Response:  
            Success Code 202  
            Content-Type: application/json  
             
             
            {
                "messageId": "33fds34534r4"
            }
            
            or
            {
                "page": 2,
                "lastPage": false,
                "status": [
                                {
                                     "messageId"   : "12343243243413",
                                     "recipient"   : "+49123456789",
                                     "statusCode"  : "10",
                                     "statusText"  : "Number does not exist",
                                     "type"        : "Permanent",
                                     "timestamp"   : "20170913144813"
                                }
                     ]
            }

            and this automatically creates interaction type “sms delivered” or “not” in SAP MKT.

            So there will be only SMS send (delivered or not). Am i wrong? Or we can import interaction from sCPI and ignore this messages?

          • Hi Konstantin,

            I have double checked the possible number of instances for the GTMSP. When working on this article, it was limited to one. But since one of the latest releases it’s now possible to have multiple instances, so please ignore the issue I mentioned. I will update my article accordingly.

            You are right about the system automatically creating SMS_DELIVERED interactions. However you can either check the BAdI “Revise Interaction Data Before Import” to adapt the SMS* interactions or importing additional custom interactions via CPI.

            Best regards,

            Tim

          • It’s looks like solution!

            Do this BAdI can change SMS_DELIVERED as interaction type? It’s creating automatically, but not after import from any external systems.

            Or do you suggest create 2 interaction after all the text messages (like sms_delivered and push_delivered also)?

          • You can do both, changing the interaction or creating an additional one. It only depends on what your requirements are. The BAdI is called for each and every interaction (created externally or from SAP Marketing Cloud itself).

          • Tim, hello!

            I think we’ve reached an impasse and need your advice…

            How can we change interaction like “sms_outbound” to “custom_outbound” and save it in campaign performance tab?

            If we use “exclude_from_import = ‘X’  option in BADI “Revise Interaction Data Before Import” and upload interaction directly to API, we can see message in contact profile app,

            but can’t see it in campaign designer and analytics stories:

            We are on the wrong way and need adapt in in BADI? Maybe you can provide example codding or advice?

            We want send sms (with trackable links), viber and WEB push.

  • Hi Tim, thanks for the information.

    At this moment I have a requirement that is to send Marketing Cloud offer information to the ERP. I understand that the above information refers to the sending of campaign data for execution in external system, in my case what I must do is send the content of the offer (validity dates, products, target group and ID) to some standard fields In the sales module of the ERP through HCI, I would like to know please if you have any information about this or if you know where I can find it.

    Thanks in advance.