The Emarsys Salesforce B2C Commerce plug-in was certified by Salesforce in August 2021. The integration and documentation are available on Salesforce Marketplace.
Data storage
The integration uses several custom objects to store the saved configurations for newsletter subscriptions, external events defined on the Emarsys side, transactional emails configuration, initial database load and Emarsys profile fields. Please find details about each of these custom objects below:
- EmarsysExternalEvents - used for storing the Emarsys external event configuration. Source fields store whitelisted SFCC events while result fields store mapping between SFCC side events and Emarsys side events. The job Emarsys-Setup creates all necessary events on the Emarsys side and sets initial events mapping but needs source fields to be filled.
- EmarsysNewsletterSubscription - used for storing the configuration for each newsletter subscription type (global footer subscription, checkout subscription and my account subscription). Instances of this custom object are created on the fly, when the merchant makes the configurations for newsletter subscriptions using the Emarsys Business Manager extension.
- EmarsysTransactionalEmailsConfig - used for storing the configurations for Emarsys transactional emails. There will be two instances of this custom object, which will be created automatically when the merchant saves the configurations for order and shipping confirmation emails through Business Manager extension.
- EmarsysDBLoadConfig - used for storing the mapping between the Salesforce B2C Commerce and Emarsys fields for the initial database load. There will be only one instance of the custom object, which will be automatically created when the merchant saves the initial database load mapping through the Business Manager extension.
- EmarsysProfileFields - used for storing the Emarsys profile fields. It’s automatically populated after the Emarsys-Setup job schedule has finished running.
There are also several custom site preference attributes used to define the Salesforce B2C Commerce fields that appear in the Emarsys Business Manager extension - these custom attributes are used to define the values that will appear in the dropdown from the configuration screens. Please find details about each of these attributes below:
- emarsysOrderConfirmationElements - JSON used to define the Salesforce B2C Commerce available fields that can be added to the order confirmation emails.
- emarsysShippingInformationElements - JSON used to define the Salesforce B2C Commerce available fields that can be added to the shipping confirmation emails.
- emarsysDBLoadAttributes - JSON used to define the Salesforce B2C Commerce available fields that can be added to the CSV file that is generated for the initial database load.
- emarsysSingleChoiceValueMapping - JSON used to store all Emarsys single choice fields and the available values for each field. This attribute is used when creating the Emarsys auto-import profile for the initial database load, and it is automatically populated after the Emarsys-Setup job schedule has finished running.
- emarsysContactFieldsMap - JSON used to define the mapping between several Salesforce B2C Commerce fields and the corresponding IDs for these fields on the Emarsys side.
Emarsys Catalog uses the EmarsysCatalogConfig custom object type to store the list of field mapping for catalog configuration. This custom object is updated by the Catalog BM extension when configs are set up (see Emarsys Salesforce Commerce Cloud plug-in - SFRA Link Cartridge - User manual - from 2020).
Example of generated mapped fields
[{"field":"product.ID","placeholder":"item"},{"field":"product.availability","placeholder:"available"},{"field":"product.name","placeholder":"title"},{"field":"product.url","placeholder":"link"},{"field":"product.image","placeholder":"image"},{"field":"product.categories","placeholder":"category"},{"field":"product.price","placeholder":"price"}]
Emarsys SmartInsight uses the EmarsysSmartInsightConfiguration custom object type to store the list of field mapping for the SmartInsight configuration. This custom object is updated automatically when configs are set up in the SmartInsight BM extension (see Emarsys Salesforce Commerce Cloud plug-in - SFRA Link Cartridge - User manual - from 2020).
Example of generated mapped fields
[{"field":"order.orderNo","placeholder":"order"},{"field":"product.ID","placeholder":"item"},{"field":"product.quantity","placeholder":"quantity"},{"field":"order.customerEmail","placeholder":"c_email"},{"field":"order.totalGrossPrice","placeholder":"c_sales_amount"},{"field":"order.creationDate","placeholder":"date"}]
Availability
The Emarsys platform is expected to be available 24/7. However, for the scenario when the platform is not available a custom error message is logged in Salesforce B2C Commerce.
Support
Please contact Emarsys Support via the Emarsys Help Portal if you need support for this integration.