S4S supports personalizing Sitecore from Salesforce but there may be some pre-population groundwork required pending your needs.

Introduction

Salesforce operators can personalize Sitecore in several ways. Usually, customers choose to personalize Sitecore content based on the value in a particular Salesforce lead or contact field. Another way is to change the Sitecore pattern card in Salesforce. In both instances, the changes in Salesforce are recognized by S4S which instantly updates facet values in the corresponding Sitecore contact record.

For explicit personalization, Sitecore rules are used to monitor the facet values and render targeted content to the returning visitor. An example is setting the Salesforce contact Membership Status field to "Premier". This would cause Sitecore to show content that better targets high-end customers. 

S4S also supports implicit personalization but this is outside the scope of this post. 

Personalization

OOTB Behavior

The first step is to push Sitecore analytics to Salesforce. The full out-of-the-box S4S process is:

  1. Setup: In Sitecore, use the S4S Mapping Wizard to map a web form to a Salesforce lead
  2. Website visitor completes a lead form 
  3. S4S creates a new lead in Salesforce
  4. The Salesforce lead contains the Sitecore AliasID identifier and the Sitecore analytics data 
  5. S4S uses the AliasID to periodically update the analytics in Salesforce from Sitecore 

How do I personalize Sitecore based on Salesforce field values?

  1. Setup: In Sitecore, add a custom facet and create personalizations based on the facet values 
  2. Setup: In Salesforce, use the S4S Personalization feature to map a field to the Sitecore facet
  3. Salesforce operator changes the value in the lead field e.g. Set Membership Status to "Premier"
  4. S4S pushes the field value to the Sitecore facet
  5. Sitecore rules personalize the content when the lead revisits the website

Pre-population

This process above works well if a visitor has submitted a Sitecore form (the AliasID is in both systems) but what about populating preexisting leads/contacts in Salesforce and xDB contacts in Sitecore?

How do I populate preexisting Sitecore xDB contacts that don't have values in their personalization facets?

  • Partial Answer A: These will be populated if a visitor submits a Sitecore web form.
  • Partial Answer B: Create a Sitecore scheduled job that queries Sitecore xDB looking for contacts that don't have personalization values. For each contact, bulk query Salesforce to get the field value by matching an identifying field like the email address in Sitecore, if it exists. Populate the AliasID in Salesforce if it has no value.
  • Partial Answer C: Create an email campaign from Salesforce (or via Marketing Cloud, Pardot etc.). In the email body, add a clickthrough link to the website. Append the link with a URL parameter that uniquely identifies the individual in Salesforce. When an email recipient clicks the link to open the website, use S4S to query Salesforce for the personalization field value then populate the xDB contact facet with the value. Populate the AliasID in Salesforce if that has no value.

How do I populate preexisting leads in Salesforce that don't have an AliasID?

  • Partial Answer D: Create a Sitecore scheduled job that queries Salesforce leads that don't have an AliasID. Add the AliasID to these records by matching an identifying field like the email address in Sitecore, if it exists. Populate the xDB contact facet if it has no value.  
  • Partial Answer E: Create an email campaign from Salesforce (or via Marketing Cloud, Pardot etc.). In the email body, add a clickthrough link to the website. Append the link with a URL parameter that uniquely identifies the individual in Salesforce. When an email recipient clicks the link to open the website, use S4S to add the AliasID to the Salesforce lead by matching the unique identifier. Populate the xDB contact facet if it has no value.  

Conclusion

 S4S provides the mechanism to implement implicit or explicit personalization from Salesforce. If there is a significant number of preexisting leads/contacts in Salesforce, it may be necessary to update those records with Sitecore identifiers that enable the two systems to sync.  Similar, it may be necessary to update Sitecore xDB contact facets if personalization is required for all known visitors.

To learn about the benefits of systems integration and the features of S4S please call us.