Configuring EXM in a scaled environment

Last updated Wednesday, December 13, 2017 in Email Experience Manager for

If your Sitecore solution works in a scaled environment, you must configure the Email Experience Manager (EXM) component to work in this environment.

A scaled environment usually consists of one content management (CM) server, and one or more content delivery (CD) servers. You can configure servers for a specific purpose (for example, content management, content delivery, or processing) by using rules based configuration.

In the standard multiserver Sitecore environment, all the content management and content delivery instances share the Core and Web databases, and all the CM instances share the Master database. This means that you must use the same connection strings to the databases for the configuration file of each server.

The following diagram illustrates the connections between the servers and the content databases in a standard multiserver Sitecore setup:


A multiserver environment also shares the collection database and the reporting SQL Server database.

This topic outlines how to:

Configure a content management server

To configure a content management server:

  1. Install Sitecore Experience Platform and configure it according to the Sitecore scaling recommendations for content management servers.
  2. On the primary content management server, in the \App_Config\ConnectionStrings.config file:
    • Add the EXM.DedicatedDispatchService connection string, for example:
    <add name="EXM.DedicatedDispatchService" connectionString="/sitecore%20modules/web/exm/dedicateddispatchservice.asmx" />
  3. On all the content management servers in your scaled environment, in the \App_Config\ConnectionStrings.config file, add the EXM.InternalApiKey connection string, for example:
    <add name="EXM.InternalApiKey" connectionString="0x0000000000000000000000000000000000000000000000000000000000000000" />


    The format of the connection string value is represented by a 64-character hexadecimal format. The connection string value above is just an example and should not be used.

In a scaled setup, any HTML files that you want to use as templates for your email campaigns, you must manually copy to the Website\layouts\EmailCampaign\Imported folder on all the CM servers and dedicated dispatch servers that you have configured to dispatch email campaigns.

Configure a content delivery server

To configure a content delivery server:

  1. Install Sitecore Experience Platform and configure it according to the Sitecore scaling recommendations for content delivery servers.


    In the Sitecore.Analytics.Tracking.config file, ensure that the value of the Analytics.ClusterName setting is the hostname of the content delivery server. This is required for a scaled environment to avoid contacts being locked when running EXM. If there is more than one content delivery server in your environment, use the same value for each server.

    In addition, make sure that the content management server can reach the content delivery server through HTTP using the hostname that you have specified in the Analytics.ClusterName setting of the content delivery server.

  2. In the \App_Config\ConnectionStrings.config file, add the following connection string:
    • EXM.CryptographicKey and EXM.AuthenticationKey. The keys must be represented in hexadecimal format by 64 characters, where you can use the symbols 0-9 and A-F. For example:
    <add name="EXM.CryptographicKey" connectionString=
    "E040C938FC9E4EBC3E93330B0F7837F284207B8180DB64CB5B6ABEB1AFBF6F5B" />
    <add name="EXM.AuthenticationKey" connectionString=
    "9D80B4E56AEE694058567BD89C936FB88F2DB1272A4E88F419B6501919E0BB25" /> 


    For security reasons, do not use the example key provided above.

Configure a processing server

To configure a processing server for Analytics data processing and aggregation:

Configure a reporting server

To configure a reporting server:

Send feedback about the documentation to