This article describes how to install Pendo on a Salesforce digital experience, such as Salesforce Communities, and send a Visitor ID value from Salesforce to Pendo.
If you want to also send Account ID or any visitor or account metadata from Salesforce to Pendo, you need additional engineering effort within Salesforce. For more information, see How it works in this article.
If you're trying to install on the Salesforce CRM platform, follow the instructions to install Pendo through the Pendo Launcher browser extension instead.
How it works
The instructions that follow describe how to send usage data from Salesforce digital experiences to Pendo. For this, you must edit the JavaScript within the head markup. This allows the ID of an authenticated Salesforce user to be sent to Pendo as the Visitor ID.
Account ID and visitor or account metadata can't be accessed through JavaScript and so can't be sent from Salesforce to Pendo based on the instructions in this article. If you want to send Account ID and metadata to Pendo, your engineers must additionally develop a custom Salesforce component. You might try using a custom Salesforce Lightning component. For instructions, see Identify visitors and metadata using a Salesforce component. You can also contact Pendo Professional Services for a paid engagement with Pendo.
Prerequisites
- Pendo Admin permissions.
- Salesforce Admin permissions.
- Access to the head markup in Salesforce.
Step 1. Find and edit your Pendo install script
To install Pendo on a Salesforce digital experience, you must first find your Pendo install script. Pendo admins can find the install script in Install Settings:
- In Pendo, go to Settings > Subscription Settings.
- Open the Applications tab.
- Find and open your application from the Applications table.
- Open the Install Settings tab.
- Copy the code into a text editor to edit it.
- Replace the placeholder IDs:
<visitor-id-goes-here>
and<account-id-goes-here>
.
- If the identity of your visitors is unknown and you want Pendo to generate anonymous Visitor IDs, replace
<visitor-id-goes-here>
with an empty string. - Additional custom code is required to send Account ID and any additional visitor or account metadata. If account information isn't available, remove the account object from the install script.
- If the identity of your visitors is unknown and you want Pendo to generate anonymous Visitor IDs, replace
Step 2. Add the Pendo install script to the Head Markup in Salesforce
As an Admin user in Salesforce:
- Go to Settings > Features and Settings > Digital Experiences > All Sites.
- Select Builder for the digital experience that you want to install Pendo on.
- From the left-side menu, select the gear icon. This opens a Settings menu.
- Open the Advanced tab of the Settings menu.
- Select Edit Head Markup.
- Add the edited Pendo install script into the head markup.
- If you get a Content Security Policy warning, select OK to close it.
Step 3. Update security and privacy settings in Salesforce
From the same Settings menu:
- Select Security & Privacy from the left-side menu.
- Change the CSP security level to Relaxed CSP: Permit Access to Inline Scripts and Allowed Hosts.
- Add Trusted Sites for Scripts for the directives and in the Domains lists section of this article. Choose the appropriate domain based on your subscription location.
- Open the gear icon in the top-right corner and choose Setup > Trusted URLs.
- Add the necessary CSP directives. These directives are the same as those entered in the previous step and in the Domains lists section of this article.
Step 4. Publish and verify the installation
In Salesforce, go back to the experience builder and then:
- Select Publish in the top-right corner of the Builder toolbar.
- Wait for an email from Salesforce confirming that the changes have been successfully published.
- Select the page icon in the top-left corner, next to the Home menu.
- Select View [app name].
- Verify your installation. For instructions, see Verify the installation in the Developers guide to implementing Pendo using the install script. If you encounter unexpected results, see Troubleshoot a direct Pendo installation.
Step 5. Exclude internal usage data (optional)
With this type of installation, Pendo also collects usage data when the Salesforce app integration Builder is open or in Preview. To separate customer usage data from data produced by internal users, add the domains for the Builder and Preview to the Exclude List. For more information, see Exclude and Include Lists.
Domains lists
The following lists provide the site names that you need for Step 3. Update security and privacy settings in Salesforce in this article. Choose the appropriate domains based on your subscription location. For more information about location-based changes to the source for EU, US1, and Japan customers, see Content Security Policy (CSP).
US
cdn.pendo.io
data.pendo.io
content.pendo.io
pendo-static.storage.googleapis.com
-
pendo-static-SUBID.storage.googleapis.com
(replaceSUBID
with your unique subscription ID , which you can find in your Pendo URL as a signed-in user, for examplehttps://app.pendo.io/s/SUBID
) app.pendo.io
US1
us1.cdn.pendo.io
us1.data.pendo.io
content.pendo.io
pendo-us1-static.storage.googleapis.com
-
pendo-us1-static-SUBID.storage.googleapis.com
(replaceSUBID
with your unique subscription ID, which you can find in your Pendo URL as a signed-in user, for examplehttps://us1.app.pendo.io/s/SUBID
) us1.app.pendo.io
EU
cdn.eu.pendo.io
data.eu.pendo.io
content.pendo.io
pendo-eu-static.storage.googleapis.com
-
pendo-eu-static-SUBID.storage.googleapis.com
(replaceSUBID
with your unique subscription ID, which you can find in your Pendo URL as a signed-in user, for examplehttp://app.eu.pendo.io/s/SUBID
) app.eu.pendo.io
Japan
cdn.jpn.pendo.io
data.jpn.pendo.io
content.pendo.io
pendo-jp-static.storage.googleapis.com
-
pendo-jp-static-SUBID.storage.googleapis.com
(replaceSUBID
with your unique subscription ID, which you can find in your Pendo URL as a signed-in user, for examplehttp://app.jpn.pendo.io/s/SUBID
) app.jpn.pendo.io