Commerce Marketing Automation campaigns data flow

Current version: 10.0

When a customer visits your storefront, makes a purchase, and is enrolled in a Commerce marketing automation campaign (such as the Abandoned Cart campaign or the New Order Placed campaign), several Sitecore roles are involved:

  • Content Delivery (CD)

  • Marketing Automation Operations

  • Marketing Automation Engine

  • EXM Content Management (CM)

  • EXM Dedicated Dispatch Server (DDS)

The following diagram shows you the flow of information between the roles, the MA and EXM databases, and the EXM DDS and is detailed in the table that follows.


Three custom values are passed into Commerce Marketing Automation campaigns: the Shop name, the Order ID for new orders placed and the Cart ID for abandoned carts.

Diagram showing the flow of data between the roles used in Commerce Marketing Automation campaigns.


Data flow

Content Delivery (CD)

The CD role passes information to the Marketing Automation Operations role.


By default, EXM does queuing, rendering, and dispatching of the email messages on the Content Management (CM) server. In a scaled environment, when there are a lot of email messages to send, these activities are offloaded onto the EXM Dedicated Dispatch Server (DDS).

Prerequisites for Commerce Marketing Automation campaigns

Commerce Marketing Automation campaigns use the following packages by default. They are automatically added to a site when you select a Commerce MA campaign module during site creation.


You can take advantage of Commerce Marketing Automation campaigns without installing the Storefront site template, Storefront themes, or using the Habitat catalog.



Commerce Engine

  • Micro-services that enable commerce functionality. The Commerce Engine exposes a framework that allows you to create your own plugins when you want to extend, customize, or remove functionality to meet specific requirements.

Commerce Connect

  • Commerce Marketing Automation templates

  • The interface and implementation of the campaign provider that resolves which campaign to use. The default implementation is based on a default naming convention where the campaign name is shopName+" "+templateName, for example Storefront Abandoned Cart or Storefront New Order Placed.

  • Abstract APIs for communication with Commerce Engine

Commerce Engine Connect

  • Data provider

  • Indexing

  • Implementation of Connect APIs for communication with Commerce Engine

CXA Foundation Layer

  • The processor that enrolls contacts into the Marketing Automation campaigns 

  • The logic that sets the custom values

  • The custom SendEmail Marketing Automation activity

  • The Abandoned Cart event activity

  • Base repositories

  • Base models

CXA Feature Layer (components)

  • MVC views, controllers, and models

  • Layouts

  • Branch templates for Email Experience Manager (EXM) messages

  • The scaffolding logic that adds the Marketing Automation campaigns and EXM email templates during site creation

Do you have some feedback for us?

If you have suggestions for improving this article,