Integrate analytics with Salesforce

  • Updated

This topic describes integrating the Content Marketing Platform (CMP) with Salesforce. Salesforce is a cloud computing software-as-a-service (SaaS) company specializing in customer relationship management (CRM).

Integrating Salesforce into your CMP instance shows how your content influences closed-won opportunities in Salesforce. Deals Influenced, and Revenue Influenced metrics correspond to the number of deals and revenue related to Salesforce contacts who saw your content. Additionally, you can see which deals were influenced by each piece of content.

Set up Salesforce with CMP

For the analytics integration with Salesforce to fully work, integrate CMP with a marketing automation platform to capture lead data such as Eloqua, Marketo, or Pardot. See Integrate analytics with Eloqua or Integrate analytics with Marketo. If you use Pardot, follow the steps below to integrate Salesforce and provide a Business Unit ID so that you can also integrate Pardot.
  1.  In Salesforce, select Manage Users > Profiles and click New Profile.


  2. Select Read Only in Existing Profile and enter a Profile Name: Read Only - Password never expires


  3. Make sure that you enable Password Never Expires.


  4. Go to the Password Policies section to select Never Expires in User passwords expire in.


    Ensure the profile has View All access to Accounts, Contacts, and Opportunities.


  5. Go to Administer > Manage Users > Users, and create a user in Salesforce with the Read Only - Password never expires profile.


  6. In Content Marketing Platform (CMP), go to your avatar > Salesforce.


  7. Click Add a Salesforce Account and log in with the user's username and password. This action may happen automatically if your browser is already logged into Salesforce.


  8. Click Allow.


    The following message displays, indicating a successful integration of your Salesforce account.


If you go to the newly authenticated user's page in Salesforce, the Content Marketing Platform displays in OAuth Connected Apps and Login History.

CMP uses Business Unit ID for Pardot integration. You must fill out Business Unit ID to use Pardot as the marketing automation system for ROI Analytics. If you are not connecting to Pardot, leave it blank.

Questions and answers

How are deals and revenue influenced calculated?

See Measure ROI.

What are the requirements?

How does it work?

First, authenticate a Salesforce user account with Salesforce’s OAuth2.0 integrations. CMP periodically synchs your Accounts, Contacts, Opportunities, Opportunity Contact Roles, Record Types, and Users to the system by making calls to Salesforce’s API on behalf of your authenticated user. CMP then relates your closed or won opportunities to contacts who have viewed content on your site and calculates the number of deals and revenue influenced.

How does CMP know what content contacts have viewed?

If a Salesforce Contact exists in Marketo or Eloqua as a Lead or Contact, you can join them using their email address. CMP uses the web viewing history of Leads or Contacts to identify the content that Salesforce contacts have interacted with.

Is giving CMP access to my organization’s Salesforce instance risky?

No, because CMP never modifies any data in your Salesforce instance because the user has a Read-Only profile. CMP does not store your Salesforce login credentials. Authentication happens through Salesforce’s OAuth2.0 Integration, which returns an access token that Optimizely Content Marketing Platform (CMP) uses to make requests to Salesforce’s API. CMP stores encrypted data, and only your organization in CMP can access it.

Will CMP exceed my daily Salesforce instance API call quota?

The answer depends on your current daily API call usage. Salesforce bases the maximum number of daily requests on your Salesforce Edition and the number of licenses

CMP only requests Opportunities and Contacts created or modified in the past day, which amounts to only a few API calls daily. CMP makes two requests to get IDs of created or modified contacts and opportunities and two requests to get each set of objects for each data page. The requests occur twice daily, so CMP makes at least 8 API calls. The maximum would be however many Contact or Opportunity objects were created or modified per day divided by SFDC page size (500). Upon initial ingestion, CMP can sync your Contacts and Opportunities in periodic batches to ensure you do not exceed your API call quotas.

What data does CMP store from Salesforce?

CMP fetches recently created or updated Salesforce Accounts, Contacts, Opportunities, Opportunity Contact Roles, Record Types, and Users using the Salesforce REST API; see Execute a SOQL Query.

Account fields store:

  • Id
  • IsDeleted
  • Name
  • ParentId
  • Website
  • LastModified
  • CreatedDate
  • AccountSource
  • RecordTypeId
  • CurrencyIsoCode
  • Industry

Contact fields stored:

  • CreatedDate
  • Email
  • Name
  • AccountId
  • LeadSource

Opportunity fields stored:

  • Id
  • CreatedDate
  • Name
  • AccountId
  • Amount
  • CloseDate
  • IsClosed
  • IsDeleted
  • IsWon
  • Type
  • LeadSource
  • StageName
  • OwnerId
  • RecordTypeId

Opportunity Contact Role fields stored:

  • Id
  • ContactId
  • IsDeleted
  • IsPrimary
  • OpportunityId
  • Role
  • CreatedDate
  • LastModifiedDate

Record Type fields stored:

  • Id
  • CreatedDate
  • LastModifiedDate
  • Description
  • Name
  • IsActive
  • SObjectType

User fields stored:

  • Id
  • CreatedDate
  • LastModifiedDate
  • FirstName
  • LastName
  • Email
  • Name

How often does CMP request data from Salesforce?

CMP automatically fetches Accounts, Contacts, Opportunities, Opportunity Contact Roles, Record Types, and Users twice daily at 0400 and 1000 UTC for records created or updated the previous day.

What about historical data?

Historical data from Accounts, Contacts, Opportunities, Opportunity Contact Roles, Record Types, and Users from Salesforce must be manually back-filled by CMP through the API to have existing contacts. If a known contact related to a Salesforce opportunity visits content published from CMP, it counts toward ROI Analytics metrics. Otherwise, no contact record can exist in CMP and cannot count towards ROI Analytics metrics.