SaaS CMS has officially launched! Learn more now.

Filip Gondek
Oct 31, 2017
(7 votes)

Episerver Campaign for developers

When we at Episerver are presenting Episerver Campaign for customers and partners we some times get the question: “is that the campaigns and promotions in Episerver Commerce?” The answer is NO, and I know it can be very confusing. It’s not the promotions part in Episerver Commerce.

In this blog I will explain what Episerver Cmapaign is and how you as a developer can request a demo account to start get familiar with the product. Before we show what is possible to do I will explain  marketing automation in general.

Marketing Automation what is that?

Marketing Automation is a subset of customer relationship management that focuses on the definition, segmentation, scheduling and tracking of marketing campaigns. The use of marketing automation makes processes that would otherwise have been performed manually much more efficient and makes new processes possible

What is Episerver Campaign then?

Image devices-main1-marketing-900x700.png

Episerver Campaign is a Marketing Automation tool that enables you to easily manage campaigns across web, mobile, email and text messages etc. You can connect with customers wherever they are, with messages based on real-time behavior.

What can Episerver Campaign help our customers with?

  • Large-scale campaigns across multiple channels. Coordinate, segment and personalize large volumes of messages.
  • Ecommerce campaigns that drives sales. Plan detailed campaigns, including personalized product recommendations.
  • Triggered individual communication. Create welcome campaigns, reactivate customers, and reduce abandoned shopping carts.
  • Public sector and healthcare messages. Send confirmation and reminder emails and texts with high data security.

So, “Cut the sales crap and tell me what I can do as a developer!” :-). Easy, Easy I’ll explain it to you now.

First of all you may wonder why you should have to integrate to this product? Well, there are many “whys” but like Episerver CMS/Commerce Episerver Campaign has APIs to make it fit to the customers systems and needs. A simple use case can be if the customer has a CRM that is not known or has not been integrated to. Then you can connect the CRM that triggers different MA flows in Campaign depending on for example status in the CRM. Lets say that the people working with the CRM changes a status on a customer from “new customer” to “loyal customer”. This can trigger a specific MA Campaign that sends out a specific Campaign only for the status “loyal customer”.

There are a couple of different ways to use this product for you as a developer:

Native NuGet integration: Out of the box the customers will get integration to CMS and Commerce (will arrive in near term, still work in progress) that you install in your customers solution through NuGet. If you create a Episerver Forms you can connect to the choosen recipient list in Episerver Campaign as shown in the picture.

Image Screen Shot 2017-10-30 at 22.58.22.png

Next you choose the corresponding fields to save the data to, for example the "first name" will be saved in the same column in Episerver Campaign:

Image Screen Shot 2017-10-30 at 23.11.17.png

The data will be saved in the reciepient list as shown below:

Image Screen Shot 2017-10-30 at 23.16.49.png

And it will trigger a MA flow as shown in the picture:

Image Screen Shot 2017-10-30 at 23.22.35.png

HTTP API: Very limited functionality. What you can do is basically trigger a MA Campaign. These are the functions you can use it for:

  • Create new recipients
  • Send triggered emails
  • Blacklist recipients
  • Unsubscribe recipients

an example of this can be: "[UrlToService]/unsubscribe?" for unsubscribing.

SOAP API . This API contains all the functionality that Episerver Campaign uses so it’s the most flexible and secure way to integrate to. You can execute virtually any function of Episerver Campaign from a remote system without using the web browser and logging into your client manually. The interface is bi-directional, which means that you can send and receive data from/to Episerver Campaign. The following processes can be executed with the SOAP API:

  • Create recipient lists and add new recipients
  • Edit recipient lists and recipients
  • Update and synchronize blacklists
  • Create temporary and permanent target groups
  • Create mailings, add content and dispatch mailings
  • Bounce management

Example: To query several recipients in the RecipientWebservice, the default method getAllFlat would return an array that has been flattened to the following pattern: [email1, firstName1, lastName1, email2, firstName2, lastName2, email3, firstName3, lastName3....] To process this array, the fields must be indexed to allocate the respective fields to one recipient.

Now you may think, that wasn't hard to undrstand! Is that all? Of course there is more to read. If you as a developer have a case and want to test Episerver Campaign then contact our support. For more information about the product or APIs see

DISCLAIMER: Some of the functionality in the out of the box integration may be changed or added upon release!

Oct 31, 2017


Please login to comment.
Latest blogs
How to have a link plugin with extra link id attribute in TinyMce

Introduce Optimizely CMS Editing is using TinyMce for editing rich-text content. We need to use this control a lot in CMS site for kind of WYSWYG...

Binh Nguyen Thi | Jul 13, 2024

Create your first demo site with Optimizely SaaS/Visual Builder

Hello everyone, We are very excited about the launch of our SaaS CMS and the new Visual Builder that comes with it. Since it is the first time you'...

Patrick Lam | Jul 11, 2024

Integrate a CMP workflow step with CMS

As you might know Optimizely has an integration where you can create and edit pages in the CMS directly from the CMP. One of the benefits of this i...

Marcus Hoffmann | Jul 10, 2024

GetNextSegment with empty Remaining causing fuzzes

Optimizely CMS offers you to create partial routers. This concept allows you display content differently depending on the routed content in the URL...

David Drouin-Prince | Jul 8, 2024 | Syndicated blog