Commerce Marketing Automation campaigns data flow

Abstract

Overview of the roles involved when a customer visits the storefront, makes a purchase, and is enrolled in a Commerce Marketing Automation campaign.

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.

Note

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.

Role

Data flow

Content Delivery (CD)

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

Marketing Automation (MA) Operations

The Marketing Automation (MA) Operations role enrolls the customer into the Commerce Marketing Automation campaign and the MA Operations client communicates with the MA Operations endpoint, which is hosted on an xConnect server instance. In Azure, this is the MA Operations AppService.

The MA Operations endpoint sends the email message to the Message Bus.

Note

Processing is not done by the Marketing Automation Engine, but is processed in real time on the Marketing Automation Operations endpoint (the xConnect instance).

Marketing Automation Engine

The Marketing Automation Engine is only involved when there is a Delay activity or a Listener activity in the Commerce Marketing Automation plan. If there are no pauses in the campaign, the Marketing Automation Engine is not involved in the data flow.

Message Bus

Sends the email message to the EXM CM role.

EXM Dedicated Dispatch Server (DDS)

The EXM Dedicated Dispatch Server role sends the commerce email to the customer. This role is only used in a scaled environment (as indicated by the dashed lines in the above diagram).

Note

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).

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.

Note

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

Package

Contains

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