In this blog, let us understand the Sitecore Marketing Automation with a real world scenario.
Sitecore Marketing Automation is a Module that provides rich set of Marketing tools to build online marketing campaigns with business rules. It helps the marketers to define the business process flow for the contacts interacting with brands.
Some of the Sitecore Automation capabilities
• Enrol xDB contacts in automation campaigns
• Define business process flow for contacts based on business rules
• Perform Marketing Actions for the enrolled contacts
• Streamline Content, contacts interactions and responses across all channels
Refer below links for more info on EXM
1. https://doc.sitecore.com/users/90/sitecore-experience-platform/en/marketing-automation-288242.html
2. https://www.linkedin.com/pulse/how-sitecore-9-marketing-automation-works-deep-dive-emmerzaal
Let us consider a business case
Business Case
Company xyz provides an ABC service to its customers whose details are stored in MS Dynamics CRM. The customers must subscribe to the ABC service to get entitled to the ABC service and the subscription duration is 1 year. Whenever customers subscription is about to expire, subscription renewal notification must be sent and if customer is not turning up within few days a renewal reminder notification must be sent. If customer is not turning up even after Service expirydate, service cancellation mail must be sent.
CRM custom Fields used for the Automation
Email Templates used for the Automation
Email templates are created using EXM. Please refer the details here.
MS Dynamics CRM contacts import into Sitecore xDB
Sitecore Connector for MS Dynamics has been used for importing CRM contacts into Sitecore xDB. Please refer the details here.
CRM Custom Facet
In order to import CRM custom fields along with CRM contacts data, a custom facet need to be implemented and deployed to xConnect App_Data model and xConnect index worker model.
Custom Rules for CRM Dynamics Fields
Custom rules for the Sitecore Rules Engine need to be setup as follows.
Rules Path
/sitecore/system/Settings/Rules/Definitions/Tags
/sitecore/system/Settings/Rules/Definitions/Elements
/sitecore/system/Settings/Rules/Conditional Renderings/Tags/Default
Set up rules Tags
Custom Rule1: Entitlement Status comparison rule implementation
This rule checks the given status is equal to the incoming contact’s Entitlement status.
Custom Rule2: ExpiryDateMatches rule
This rule verifies the entitlement expiry date of incoming contact falls within given rage or not.
Custom Rule3: Set ‘Entitlement renewal flag’ rule
This flag sets the ‘Entitlement Renewal Flag’ with the given text (stage-A/ stage-B / Inactive)
Select the custom rules in conditional rendering (/sitecore/system/Settings/Rules/Conditional Renderings/Tags/Default)
Once the rule is set, it appears in the rule set engine as shown below.
These rules set can be used for Personalization/ Marketing automations/ AB testing etc.
Marketing Automation service Settings
Add custom predicates
Create a custom predicate config for all the custom rules {InstanceRoot}\SC92xconnect.dev.local\App_Data\jobs\continuous\AutomationEngine\App_Data\Config\sitecore\Segmentation\sc.CustomPredicates.xml
Add custom facet entry to Marketing Automation service
Create config file at {InstanceRoot}\SC92xconnect.dev.local\App_Data\jobs\continuous\AutomationEngine\App_Data\Config\sitecore\XConnect\sc.CustomModel.xml
Add custom facet name [DynamicsEntitlement] to <IncludeFacetNames> section of {InstanceRoot}\SC92xconnect.dev.local\App_Data\jobs\continuous\AutomationEngine\App_Data\Config\sitecore\MarketingAutomation\sc.MarketingAutomation.ContactLoader.xml as shown below.
Deploy the custom rules dll’s to Sitecore Automation engine at xConnect {InstanceRoot}\SC92xconnect.dev.local\App_Data\jobs\continuous\AutomationEngine
Marketing Automation Campaign
Create a Marketing Automation Campaign and build the automation plan by drag and drop of Marketing Components. Set the business rule for each component.
An automation component for XYZ company's ABC Service renewal process (Business rules are explained in the beginning of this page) has been implemented as follows.
Process Flow
When the automation campaign starts, it enrols the contacts whose Contact Identifier Source is equal to Dynamics.ContactId and adds it to the ‘Full Dynamics Contacts List’. Then each contact will be verified for its Entitlement ExpiryDate is within 30 to 60 days range. Contacts within this range will follow the first path from the right and gets added to ‘Renewal Contact List’ and Service renewal notification will be sent and set the contact’s ‘RenewalFlag’ to ‘stage-A’.
Contacts whose ExpiryDate falls within the range of 0 to 30 days range will follow the second path and gets added to ‘Renewal Reminder Contact List’ and Service renewal reminder notification will be sent and set the contact’s ‘RenewalFlag’ to ‘stage-B’.
Contacts whose ExpiryDate falls within the range of 0 to -10 days range will follow the third path and gets added to ‘Renewal Cancellation List’ and Service cancellation notification will be sent and set the contact’s ‘RenewalFlag’ to ‘stage-C’ and the status to ‘InActive’.
Contacts who doesn’t belong to any of the above category will fallow the fourth path and gets added to temp contact list.
The visualization diagram for the complete scenario is as follows
This diagram shows how the data flow happens from CRM dynamics to Sitecore through DEF (Data Exchange Framework) module. On execution of Pipeline batch (Import) in the DEF Tenant, contact data gets moved to Sitecore xDB. On execution of Marketing Automation Campaign, the contacts data gets enrolled based on the criteria specified and passes through the marketing automation paths based on their eligibility and the defined actions (for ex sending emails, updating status etc.) takes place. In this scenario various emails (welcome, service renewal, renewal reminder, service cancellation) will be sent and the contacts status will be updated in xDB. Again, on execution of the pipeline batch (Export) contacts data gets updated back to CRM from Sitecore xDB.
Happy Learning😀
Sitecore Marketing Automation is a Module that provides rich set of Marketing tools to build online marketing campaigns with business rules. It helps the marketers to define the business process flow for the contacts interacting with brands.
Some of the Sitecore Automation capabilities
• Enrol xDB contacts in automation campaigns
• Define business process flow for contacts based on business rules
• Perform Marketing Actions for the enrolled contacts
• Streamline Content, contacts interactions and responses across all channels
Refer below links for more info on EXM
1. https://doc.sitecore.com/users/90/sitecore-experience-platform/en/marketing-automation-288242.html
2. https://www.linkedin.com/pulse/how-sitecore-9-marketing-automation-works-deep-dive-emmerzaal
Let us consider a business case
Business Case
Company xyz provides an ABC service to its customers whose details are stored in MS Dynamics CRM. The customers must subscribe to the ABC service to get entitled to the ABC service and the subscription duration is 1 year. Whenever customers subscription is about to expire, subscription renewal notification must be sent and if customer is not turning up within few days a renewal reminder notification must be sent. If customer is not turning up even after Service expirydate, service cancellation mail must be sent.
- 30 days <= Entitlement ExpiryDate <= 60 days and Status is Active then Send ‘ABC service renewal notification’. Set the ‘Renewal Flag’ field to ‘Stage-A’
- 1 day <= Entitlement ExpiryDate <= 30 days and Status is Active then Send ‘ABC service renewal reminder notification’. Set the ‘Renewal Flag’ field to ‘Stage-B’
- -10 days <= Entitlement ExpiryDate <= 0 days and Status is Active then Send ‘ABC service cancellation notification’. Set the ‘Renewal Flag’ field to ‘Stage-C’ and the Status to ‘Inactive’.
CRM custom Fields used for the Automation
Email Templates used for the Automation
Email templates are created using EXM. Please refer the details here.
MS Dynamics CRM contacts import into Sitecore xDB
Sitecore Connector for MS Dynamics has been used for importing CRM contacts into Sitecore xDB. Please refer the details here.
CRM Custom Facet
In order to import CRM custom fields along with CRM contacts data, a custom facet need to be implemented and deployed to xConnect App_Data model and xConnect index worker model.
Custom Rules for CRM Dynamics Fields
Custom rules for the Sitecore Rules Engine need to be setup as follows.
Rules Path
/sitecore/system/Settings/Rules/Definitions/Tags
/sitecore/system/Settings/Rules/Definitions/Elements
/sitecore/system/Settings/Rules/Conditional Renderings/Tags/Default
Set up rules Tags
Add the Tags in the ‘Elements’ section of the ‘Default’ item.
Define the Rules items
Create rule definitions and configure the rules as shown.
Custom Rule1: Entitlement Status comparison rule implementation
This rule checks the given status is equal to the incoming contact’s Entitlement status.
Custom Rule2: ExpiryDateMatches rule
This rule verifies the entitlement expiry date of incoming contact falls within given rage or not.
Custom Rule3: Set ‘Entitlement renewal flag’ rule
This flag sets the ‘Entitlement Renewal Flag’ with the given text (stage-A/ stage-B / Inactive)
Select the custom rules in conditional rendering (/sitecore/system/Settings/Rules/Conditional Renderings/Tags/Default)
Once the rule is set, it appears in the rule set engine as shown below.
These rules set can be used for Personalization/ Marketing automations/ AB testing etc.
Marketing Automation service Settings
Add custom predicates
Create a custom predicate config for all the custom rules {InstanceRoot}\SC92xconnect.dev.local\App_Data\jobs\continuous\AutomationEngine\App_Data\Config\sitecore\Segmentation\sc.CustomPredicates.xml
Add custom facet entry to Marketing Automation service
Create config file at {InstanceRoot}\SC92xconnect.dev.local\App_Data\jobs\continuous\AutomationEngine\App_Data\Config\sitecore\XConnect\sc.CustomModel.xml
Add custom facet name [DynamicsEntitlement] to <IncludeFacetNames> section of {InstanceRoot}\SC92xconnect.dev.local\App_Data\jobs\continuous\AutomationEngine\App_Data\Config\sitecore\MarketingAutomation\sc.MarketingAutomation.ContactLoader.xml as shown below.
Deploy the custom rules dll’s to Sitecore Automation engine at xConnect {InstanceRoot}\SC92xconnect.dev.local\App_Data\jobs\continuous\AutomationEngine
Marketing Automation Campaign
Create a Marketing Automation Campaign and build the automation plan by drag and drop of Marketing Components. Set the business rule for each component.
An automation component for XYZ company's ABC Service renewal process (Business rules are explained in the beginning of this page) has been implemented as follows.
Process Flow
When the automation campaign starts, it enrols the contacts whose Contact Identifier Source is equal to Dynamics.ContactId and adds it to the ‘Full Dynamics Contacts List’. Then each contact will be verified for its Entitlement ExpiryDate is within 30 to 60 days range. Contacts within this range will follow the first path from the right and gets added to ‘Renewal Contact List’ and Service renewal notification will be sent and set the contact’s ‘RenewalFlag’ to ‘stage-A’.
Contacts whose ExpiryDate falls within the range of 0 to 30 days range will follow the second path and gets added to ‘Renewal Reminder Contact List’ and Service renewal reminder notification will be sent and set the contact’s ‘RenewalFlag’ to ‘stage-B’.
Contacts whose ExpiryDate falls within the range of 0 to -10 days range will follow the third path and gets added to ‘Renewal Cancellation List’ and Service cancellation notification will be sent and set the contact’s ‘RenewalFlag’ to ‘stage-C’ and the status to ‘InActive’.
Contacts who doesn’t belong to any of the above category will fallow the fourth path and gets added to temp contact list.
The visualization diagram for the complete scenario is as follows
This diagram shows how the data flow happens from CRM dynamics to Sitecore through DEF (Data Exchange Framework) module. On execution of Pipeline batch (Import) in the DEF Tenant, contact data gets moved to Sitecore xDB. On execution of Marketing Automation Campaign, the contacts data gets enrolled based on the criteria specified and passes through the marketing automation paths based on their eligibility and the defined actions (for ex sending emails, updating status etc.) takes place. In this scenario various emails (welcome, service renewal, renewal reminder, service cancellation) will be sent and the contacts status will be updated in xDB. Again, on execution of the pipeline batch (Export) contacts data gets updated back to CRM from Sitecore xDB.
Happy Learning😀
No comments:
Post a Comment
Please share your thoughts......