Integrate Salesforce: Install the Data and Attribution app

  • Updated
  • Optimizely Web Experimentation
  • Optimizely Performance Edge
  • Optimizely Full Stack (Legacy)

Install and authenticate the Optimizely Web Experimentation Data and Attribution for Salesforce app

The Optimizely Web Experimentation Data and Attribution for Salesforce app (DNA) enables you to track down-funnel metrics and conversions by associating a user’s online experience to a specific lead or contact and to send events between Salesforce and Optimizely Web Experimentation.

Salesforce users can use DNA to see the experiment history—that is, a combination of visitor IDs and experiments, and the specific variations within that experiment—of a lead or contact to understand how that visitor experienced your site. For example, your sales or support team could see if a customer was offered a coupon or exposed to a different service experience as part of an experiment.

You can also use DNA to measure the impact of an experiment on valuable, down-funnel events by tracking Salesforce events associated with an Optimizely Web Experimentation experiment. For example, instead of using an experiment to drive more leads, you can use it to drive more qualified leads or new opportunity creation.

experiment history top level view.png

After you complete the installation and authentication steps, configure the DNA app before you run it. 

Install the DNA app

First, invite your Salesforce account Admin to your Optimizely Web Experimentation account. Provide them with Optimizely Web Experimentation Admin privilege before following this user collaboration guide. Your Salesforce admin can complete installation once they have accepted the Optimizely Web Experimentation admin collaborator invitation and can successfully log in to your team's account at

You can share the following sample email with your Salesforce admin to complete installation:

Email Subject: Please Help Install Salesforce App
Email Body:
Hi [SFDC Admin],
We’re using a digital experimentation platform called Optimizely Web
Experimentation, and we’d like to install their Salesforce app to enable
data syncing and advanced experimentation. Can you help install it in
our Sandbox environment this week? It should take less than 30 minutes.

You'll first need to join our Optimizely Web Experimentation account.
We'll share an email invite with you shortly. Once you accept the invite
and are able to log in to, install the Optimizely
Web Experimentation Data and Attribution App following these instructions.

If you have any questions along the way, you can file a support ticket here, or
let me know, and I'll reach out to our customer support contact. We
really appreciate your help.

There are additional configuration steps to complete after finishing the installation. Your Salesforce admin should become familiar with the configuration steps when installing the app into your Salesforce Sandbox environment, but your admin does not need to complete the configuration steps until your admin installs the app in your Salesforce Production environment. 

Installation steps

The DNA app requires the Salesforce Enterprise, Unlimited, or Performance edition, and the Salesforce Sales or Service Cloud product. Also, use the Lightning interface and support Lightning apps.
  1. Log in to Optimizely Web Experimentation.

  2. Log in to your Salesforce Sandbox environment, visit Salesforce AppExchange and install the app. You should install the app in your Sandbox environment before production.

    If you find yourself in a loop where Salesforce asks you to log in, install, login, install then try opening a new browser (for example, if you normally use Chrome, open Firefox) to proceed with the installation. Alternately, try clearing your cache, opening an incognito window, and then installing. 
  3. Select the group of users you want to have access to the installation. You should install for admins only at this point.
  4. Click Install.

This part of the installation usually takes about ten minutes. You will receive a notification email when the process is complete.

Assign Optimizely Web Experimentation app permission to Salesforce admins

Your Salesforce Admin will now need to grant themselves (and optionally other Admins) "Optimizely App Admin" permission. Completing this step ensures that the Optimizely Web Experimentation app will be accessible for the Salesforce Admin to configure.

  1. Open Salesforce Setup.
  2. Click Permission Set.
  3. Scroll to the Optimizely Web Experimentation permissions, then click Optimizely App Admin.
  4. Click Manage Assignments.
  5. Select which Admins should have access, then click Add Assignments.

You can confirm that the permissions are assigned by clicking on a user record—you should see the Optimizely App Admin permission under Permission Set Assignments

Authenticate the DNA app

  1. Find the Optimizely app in the Salesforce App Launcher.
  2. In the Instructions tab that appears after you select the Optimizely Web Experimentation app, click Get Started or Next to begin.

    The Authentications tab is where you connect to your Optimizely Web Experimentation instance. This is a critical part of the authentication process. But before that can happen, collect three authentications: account ID, client ID, and client secret. You must be an Optimizely Web Experimentation account admin to collect this information.

    authentication view - install.png

  3. To collect the account ID, click Account. 
  4. Click the Plan tab.
  5. Copy the account ID number and paste it into the Account ID field in the Salesforce Authentication tab.
  6. To create a client ID and client secret, register a new app in Optimizely Web Experimentation's platform:
    1. Click Account Settings.
    2. Click the Registered Apps tab.

    3. Click the Register New Application. The Application Settings modal displays.


  7. Enter the Application Name (for example, Sandbox Salesforce App).
  8. In your Salesforce Authentication tab, click the copy icon next to the Salesforce Redirect URI.
  9. In Optimizely Web Experimentation's app registration view, paste the URI into the Redirect URI field.
  10. Under Client Type, click Confidential.
  11. Click Apply.
  12. In Optimizely Web Experimentation's Registered Apps tab, click the clipboard icon next to the Client ID to copy it to the clipboard. Then paste the client ID into the Client ID field in Salesforce’s authentication window. Repeat this process for the client secret.
  13. Ensure you are still logged in to Optimizely Web Experimentation's in another browser tab.
  14. In the Salesforce Authentication tab, click Connect to Optimizely.
  15. When asked to connect with your Optimizely Web Experimentation account, click Accept. The Authentication tab displays. Click Next.

Assign permission sets

Assign one of these available permissions options to your Salesforce users:

  • Optimizely App Admin - Can install the app, modify Optimizely Web Experimentation records, and view experiment history related to Salesforce records.
  • Optimizely App User - Can modify Optimizely Web Experimentation records and view experiment history related to Salesforce records.
  • Optimizely Experiment History User - Can view experiment history related to Salesforce records. This is the recommended permission setting for most users.

At a minimum, as a Salesforce admin installing the app, you should have Optimizely Web Experimentation App Admin permission. If you are not sure who else to assign permissions to at this point you can complete the rest of the installation and revisit this at a later time.

  1. In the Permission Sets tab, click the Select a Permission to Assign drop-down menu to choose the permission level you want to begin assigning to users.

    perm set 2.png

  2. Select an appropriate subset of users from the Select Profile to Assign Permissions to drop-down menu. The users in that subset are listed. Check the box next to each user you want to set Optimizely Web Experimentation app permissions for.
  3. Click Add Selected to add the designated users to the permission set you selected in step one above.
  4. Repeat Step 1 to 3 for each permission set you want to assign.
  5. To remove a user from a permission set, check the box next to their name in the Assigned to section and click Remove Selected.
  6. When you are finished, click Next at the bottom right of your screen.

An Optimizely Web Experimentation admin can change permission assignments from the Permission Sets section within the Optimizely Web Experimentation app. Alternately, follow these steps:

  1. Go to Settings > Permission Sets.
  2. Click the desired Optimizely Web Experimentation app permission.
  3. Click Manage Assignments.
  4. Update the assignments for your users as needed.

Schedule jobs

Completing this step of configuration ensures your team has fresh data needed to power the experiment history display and valuable reports — for example, you can create a report that highlights the rate at which experimented leads convert to opportunities over time.

You schedule jobs for both Leads and Contacts. Select your desired Frequency in the option picklist, then click Schedule. You should set Frequency to hourly or daily.

jobs 1.png

After you schedule the jobs, you will see the next run time and have the option of manually running the job by clicking Run Now.

If you would like to modify the job schedule, click Stop Job. You will then have access to the schedule configuration options again.

jobs 2.png

Your team can alternately schedule jobs using Salesforce's standard scheduler. While Salesforce's standard scheduler provides more granular control, it is more time-intensive to configure and manage. For example, if you wanted to schedule an Apex job to update Lead experiment data every hour, you would need to schedule 24 separate jobs via Salesforce's standard scheduler. In contrast, with Optimizely Web Experimentation's app, you can accomplish this same outcome in a few clicks. If you would like to use Salesforce's standard scheduler instead of Optimizely Web Experimentation's easy scheduler described above, please visit "Schedule Apex Jobs" in the configuration guide.

Regardless of which scheduling approach is used, in this initial version of the DNA app, experiment data for Leads and Contacts is updated for just the first 7 days after a Lead or Contact is bucketed into an Optimizely Web Experimentation experiment, which is determined by the time a visitor ID is assigned to a given Lead or Contact. In subsequent versions of the DNA app, Optimizely Web Experimentation will extend the available timeframe for data updates. We discuss data updates in more depth in the configuration guide.

Configure the DNA App

That’s it for the installation phase! Next, you will need to configure the DNA app to tailor the app for your team and ensure information is communicated between Optimizely Web Experimentation and Salesforce.