Resolve xDB Contact from Salesforce Pipeline

This pipeline enables an xDB contact to be resolved from a Salesforce object identified by a particular query string parameter in the page request URL. 

This can be useful to identify xDB contacts that are coming from an external system such as Salesforce Marketing Cloud that have not been identified originally through the S4S save action on a form. The Salesforce Marketing Cloud campaign would have a click thorough in the sent email which contains a query string parameter that uniquely identifies the associated Salesforce object such as a Contact or Lead. The pipeline then performs the following steps:

  1. Find the unique identifier in the query string. If no unique identifier is found the pipeline finishes.
  2. Try to match a Salesforce object with the unique identifier. If no matching object is found then the pipeline finishes.
  3. Resolve the Salesforce object to an xDB contact.
  4. Populate the Sitecore and S4S facets with the data from the Salesforce object.
  5. Create the link in Salesforce between the xDB contact and Salesforce object to enable Analytics to be pushed to Salesforce.
  6. Update the S4S facet with the data that has been mapped in Salesforce from within S4S personalization

When the previous steps have been completed the Sitecore content will personalize based on the xDB and the associated S4S facet data.


Note: This pipeline can use several Salesforce API calls to find the associated Salesforce object, determine if the link between the xDB contact and the Salesforce object is present, create the link if not present, get the field mapping for personalization and populate the S4S facet from those fields. Consider an alternative solution if you frequently dispatch large email campaigns and your current API consumption is high.

The pipeline consists of a number of processors that need to be configured. In addition, there are processors that can be commented out if not required e.g. if you only ever need to find the associated Salesforce Contact then the processors to find Salesforce Leads and resolve the xDB contact from a Salesforce Lead can be commented out.

This pipeline is disabled by default. To enable the pipeline uncomment the startTracking pipeline in the S4SAnalytics.config configuration file.

  <processor type="FuseIT.S4S.WebToSalesforce.Pipelines.StartTracking.ResolveXdbContactFromSalesforce, FuseIT.S4S.WebToSalesforce"
             patch:after="processor[@type='Sitecore.Analytics.Pipelines.StartTracking.TrackerInitialized, Sitecore.Analytics']">

Next Step

Get External Identifier