25 Days of Sitecore EXM!
Welcome to Sitecore Email Experience Manager!
Today, we’re going to provide an entry-level introduction to Sitecore Email Experience Manager. Marketers and Developers will be able to gain something from this post but will do my best to not get too in-depth. We’ll save that for the following blog posts during this series. The goal of this blog post is to provide you with enough familiarity that will be built upon by future blogs in this series.
What is Email Experience Manager?
Email Experience Manager (a.k.a. EXM) is the email campaign management and distribution part of the Sitecore Experience Platform. As a module, it has been around for 5 years, but as of January 2018 with the introduction of Sitecore Experience Platform v. 9.0.1, it was introduced as a native part of the platform as a whole.
If EXM is enabled (which in Sitecore 9+ it is on by default), Sitecore users with appropriate role access will see the Email Experience Manager icon on the Sitecore Launchpad. Click the icon to enter the EXM module.
The EXM Dashboard provides an overview of analytics for a number of different facets. This Dashboard, in much the same way as Sitecore’s Experience Analytics reports, has a date range drop down that allows you to slice the dashboard analytics by time. It also has the ability to change to a different Manager Root which is a concept we’ll discuss later on. Last but not least, you have the big blue create button that is the starting point for being able to create email campaign content.
Primary Functions of EXM
There are three primary functions of EXM: the creation of email messages, subscription management, and email dispatch. Other features of Sitecore are responsible for managing other elements that EXM uses, such as list management, contact management, and campaign/analytics. The reason I make this distinction is that it’s important to realize that EXM exists in a larger platform. An example of this is in the creation of recipient lists. EXM is not actually creating lists, it’s utilizing Sitecore’s List Manager feature.
Creation of Email Messages
Authoring emails in EXM have the exact same editing experience as editing website content within Sitecore. It uses Sitecore’s Experience Editor within the EXM application and provides component rendering, personalization, and even tokenized personalization.
There are two primary types of messages: Regular Message and Automated Message. On December 12th, I dive into the differences between Regular and Automated messages. In a nutshell, though, Regular messages are an email campaign that is sent to a mass distribution of contacts contained in a list(s) from List Manager, in a single dispatch. Automated Messages are email campaigns that are sent to a single contact at any given time through some kind of automated process (think Marketing Automation).
Clicking on one of the email types will open up a window offering a list of different email templates. It’s important to note that developers create email templates and marketers use the email templates to create their email content. The templates shown here are customizable and extendable. Additionally, the Sample Newsletter is a component-based email template that offers up an example of how to properly create an Experience Editor driven email message that can support personalization. Starting December 9th, be sure to check out a 3 part series on how your developers can create a custom email template.
The dispatching of email through EXM has been the strongest characteristic of EXM for several years now. The way the dispatch process works is that it queues up all of the contacts that it needs to send to and begins a multi-threaded dispatching process that can dispatch emails to a Delivery Provider. Out of the box, there are two delivery providers:
- Sitecore Email Delivery Cloud Service
- This is Sitecore’s branded email delivery service that provides top-notch domain reputation management.
- The provider also takes advantage of a batching mechanism that reduces round-trip latency and makes dispatching to the Sitecore EDS much faster.
- There is a separate subscription fee for this service. If you’re interested check with your Sitecore Account Manager.
- Custom SMTP
- The default OOTB provider is the Custom SMTP provider. This provider makes use of configured SMTP settings that will dispatch messages to an external SMTP server for dispatching out to the wild.
- The biggest downside to using Custom SMTP is that it places the burden on the client or the 3rd party SMTP provider on managing the domain reputation.
- The upside is that it opens that doors to many other options that just Sitecore, like SendGrid. For developers, SendGrid offers a few Azure subscriptions for SMTP where you can send up to 25,000 emails a month on Azure for free. If anyone has seen my presentations over this past year or enrolled Corewarts, I use SendGrid on Azure for email delivery.
In addition to dispatching emails, the dispatch process also have the capability of processing each message for personalization rules. This does slow down the dispatch process to some degree though as, for each message, it renders the message on the Content Management or Dedicated Delivery servers in order to process the personalization rules. When doing automated messages, like through Marketing Automation, this is less of a concern. However, if dispatching to millions of emails there is a performance cost based on the number of personalization rules it has to process.
There is a setting in the Deliver tab to enable Personalization processing.
Subscription management in EXM is provided as more of a full featured API with the expectation that it would be implemented to the client’s desires. So many business requirements can differ between implementations that building something out of the box would be insufficient or always need some modification. Instead, the route Sitecore has taken is to provide all of the endpoints and hooks needed, and allow the client to implement subscription management in the way they see fit.
So what are these hooks and endpoints? They include the following:
- EXM Client API (Updated in Sitecore 9.1)
- This is meant to be used on Content Delivery servers and exposes methods for subscribing, unsubscribing, and confirming subscriptions.
- Subscription Control
- On the manager root, there are several fields that provide item links to content items that the client API uses for redirection during various activities.
- Marketing Automation (Introduced in 9.0.1)
- Indirectly, Marketing Automation provides marketing actions for the handling of adding contacts to lists and unsubscribing contacts from lists. This can be a tool used to allow automation and actions taken by contacts on the website to handle subscriptions.
- Email Preference Center (New in 9.1)
- The email preference center is the first step towards providing an out of the box solution for creating a subscription management form. While at the heart of the preference center is simply making changes to a contact’s metadata for marketing preferences, there is also an option for unsubscribing from EXM for the entire manager root.
The Email Manager Root
The Email Manager Root is the main configuration element of Email Experience Manager. Multiple manager roots can be utilized to provide email “domains”. This is helpful is in a multi-site solution, where you can have separate Opt Out Lists, or separate message templates, and separate analytics.
This conclude’s Day 2 of 25 Days of Sitecore EXM! Tomorrow, we’ll cover the EXM Manager Root in more detail! To see EXM in action, be sure to register for the EXM Live! webinar on December 13th!