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 or Amazon 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:
- Campaign-based approaches (push)
- API-based approaches (pull)
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
|
Text messages
|
Target groups (incl. personalization data) | Any entity from standard or custom CDS view
|
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:
|
– | – | – | – |
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.
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:
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:
Regarding distinguishing the messages:
Does that help?
Best regards,
Tim
Tim,
Yes that’s helped a lot.
But i need some approve about:
It’s strange, cause we haven’t any restrictions on using the second GTMSP in our TEST system. Ok, it’s clear.
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
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).
Thank you very much, Tim! This really helped a lot!
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.
Hi Juan,
Please have a look at the following API: API_MKT_OFFER_SRV
You could create an iflow in CPI calling this API and send the offer content to ERP.
In addition, you should check the API documentation on the API Hub: https://api.sap.com/api/API_MKT_OFFER_SRV/resource
The ID and validity dates are in the main entity "offers", the products are in "offerProducts" and the target group is in "offerTargetGroups".
Hi Tim,
I was wondering if you could guide us on How to connect third party ESP to SAP Marketing Cloud via SAP Cloud Platform Integration.
SAP Marketing Cloud->SAP Cloud Platform Integration->Email Service Provider
Thank you in advance,
David
Hi David,
my colleague Mathias Knura has created a nice blog post around this topic:
Please find the three parts here:
That should help already.
Best regards,
Tim
HI Tim,
i see the option of having data management platform (DMP) integration with Third Party.
https://help.sap.com/viewer/0f9408e4921e4ba3bb4a7a1f75f837a7/2005.500/en-US/45eed016aa7a46dcbeed8c8ebcaf1dce.html?q=DMP
For DSP = Demand Side Platform, i am not seeing any content in Help.SAP.Com, Please help to locate.
Best Regards
Vignesh
Hi Vignesh,
one example for a standard DSP integration for SAP Marketing Cloud is the integration with Adform.
As described in the article, you can best use External campaign execution to connect to other DSP systems on project basis. This has been done in other projects already. However, it needs to be analyzed in detail which of the available integration options works best for your DSP integration.
Hope this helps already!
Best regards,
Tim
Hi Tim Nusch ,
Very interesting blog!
I have set up the External Campaign Execution. It works when using a target-group based campaign. But I also want to use this in a trigger-based campaign. But I can't seem to find out how.
I added the action "Create External Target Group (EXT_TARGET_GROUP)" to the campaign category Trigger Based campaign, but it doesn't allow me to add that after the trigger.
I set up the communication arrangement SAP_COM_0037 for use in multichannel campaigns as mentioned here, but then also I cannot add the action after the trigger, only directly after the campaign start node...
Can you help me find out what I'm missing still?
Thanks!
Joyca
Hi Tim Nusch
Another question on the External Campaign Execution:
Is there a way for the contacts who were part of such a campaign, to write an interaction?
e.g. an interaction type "transferred to SystemX". Just to have a log in the interaction history of the contacts that they were part of that campaign and have been transferred to the external system.
Thanks!
Joyca
Dear customers and partners,
Please consider that with SAP Marketing Cloud 2308 the functions WeChat Campaigns, LINE Campaigns and LINE Content Type in the Legacy Editor are deprecated and will no longer be available in a future release. For more information, see WeChat Campaigns (Deprecated), and LINE Campaigns (Deprecated), and Create Personalized Text Messages, Mobile Push Notifications and LINE Messages (Deprecated).
Kind regards,
Silvia Backes