This article describes the process for existing Pendo customers who’d like to add Feedback to the Pendo product. Before continuing, we recommend that you first read the Developer's guide to implementing Pendo using the install script.
Pendo Feedback involves editing the install script (“snippet”) in your application so that you can:
- Pass additional metadata, for example, a field for email address.
- Create auto-tags for segmentation in Feedback.
Visit the Pendo Academy for a video about installing Pendo Feedback using the install script.
If you’re a legacy Feedback customer that wants the most up-to-date experience, or a new customer of both Pendo and Pendo Feedback, follow the process for new Pendo customers, summarized in the Developer's guide to implementing Pendo using the install script, and consider the additional metadata and auto-tagging setup advice detailed under Step 1: Identify changes to the initialize method in this article.
Feedback installation process
First, if you self-host Pendo, ensure that you have the most recent version of the Pendo agent. Compare the version number deployed under Settings to the latest version listed in the Pendo Web Agent Archives. Alternatively, use the pendo.getVersion()
command in the console.
Then, identify any changes you want to make to the initialize method in the installation code. For more information, see Step 1: Identify changes to the initialize method.
Finally, add Feedback by updating the code with your changes to metadata fields. For instructions, see Step 2: Reconfigure the install script. Pendo then enables Feedback as part of the onboarding process.
Step 1: Identify changes to the initialize method
Pendo Feedback works best with the following information:
-
- Unique Account IDs (required)
- Email address as visitor metadata (strongly recommended for communication)
- Full name as visitor metadata for additional context
- Visitor-level and account-level auto-tags
- Whether or not the account is a paying customer
- Account value (typically the monthly or annual recurring value)
Account IDs in Feedback
Feedback requires Account IDs. Visitors must have an Account ID associated with them to create their unique records in Feedback. This is what provides the key details about the users submitting requests.
For accurate Feedback usage data, Account IDs mustn’t change.
Currently, Pendo Feedback doesn’t map visitors to a parent account. If an end-user belongs to multiple accounts with the same Visitor ID, Feedback counts them as unique visitors.
Multiple accounts can impact your reporting, so it’s important to check the visitors that a request is associated with. Although we create duplicate users in Feedback, we display both the visitor and account, allowing you to associate feature requests to a visitor and account.
Anonymous visitors aren’t supported in Pendo Feedback.
Email address metadata
We strongly recommend also passing email addresses in the metadata fields of the install script. This is different from using email addresses as Visitor IDs.
Email metadata is accessible in Pendo reports, can be used to create custom segments, and are a central part of Pendo Feedback. By including visitor email address in the install script, you can optionally send notification emails to your users, informing them of updates to requests that they’re subscribed to, and send engagement and product emails.
You can be selective about notification emails, and visitors can unsubscribe to a request when they create, vote on, or comment on it. For more information, see Notification emails in Feedback.
Auto-tagging in Feedback
You can add tags in the Feedback UI to requests, team users, visitors, and accounts. The most efficient way to tag at the visitor and account levels is with auto-tagging.
Auto-tagging can be used to:
- Create reports of requests in Feedback based on account-level and visitor-level tags. After adding auto-tags to the install script, you can go to Feedback > Reports > Advanced and select tags found under User Filters and Account Filters to filter on.
- Solve situations arising from metadata fields not correlating one-to-one with metadata fields for Feedback. For example, if you have visitor metadata such as user permissions, role, and departments in Pendo, you can set these up as auto-tags in Feedback.
You can auto-tag requests that originate from a specific visitor or account. You can't auto-tag requests from specific URLs or based on other criteria.
Similar to metadata, you must decide what to send as auto-tags based on your organization’s policies, keeping PII concerns in mind.
For more information on auto-tagging, see Auto-tagging in Feedback.
Step 2: Reconfigure the install script
You can reconfigure the install script using the instructions laid out in Step 2: Install Pendo on your application in the Developer's guide to implementing Pendo using the install script, or by doing the following:
- From the app.pendo.io in your browser, navigate to Pendo Products > Feedback > Product Settings.
- Select Install Feedback and then Install Snippet in Pendo Settings. This takes you to Subscription Settings in Pendo.
- Open the Applications tab.
- Find and open your application from the list of Applications.
- Open the Install Settings tab.
- Copy the code into a text editor and edit it.
- Set the field names within the visitor and account object of the install script.
- Populate the code with metadata and tags in your app.
- Copy the code to your app code by pasting it into the Head tag of your HTML template, which is present on all pages of your application.
JWT Installation
You can install Pendo Feedback with JSON Web token (JWT) to mitigate the risk of a bad actor attempting to impersonate another visitor if Feedback is published through the Resource Center. The risk of this happening is extremely low because only authenticated visitors can access the Pendo install script and API key, and because the user would need to know both the Visitor ID and Account ID of the visitor they are trying to impersonate.
The Visitor and Account IDs are the unique identifiers that you pass to Pendo through the install script and aren't publicly available. Even if a bad actor was successful, they can't see sensitive data as an end-user. They could send in requests on behalf of the visitor they're impersonating, but can't see the visitor's email address or any other data.
For more information, see Installation using signed metadata with JWT.
Additional configurations
Disable Feedback for a subset of end-users
To block Feedback access to a subset of your users, you can use disableFeedback:true
, which prevents Feedback from initializing for those users. This means that Feedback doesn't collect data for those users, which means their visitor record isn’t created and they have no way of accessing Feedback.
This doesn’t prevent the user from being tracked by Pendo.
Troubleshooting
Auto-tags not appearing in Pendo Feedback
Feedback receives visitor and account tag values that are written to the initialize method. To show metadata values collected from the Pendo agent in the Feedback UI, add key value pairs for visitor and account tags in array format.
Learn more about auto-tagging in Feedback.
Code Template
visitor:{
id:'VISITOR-UNIQUE-ID'// Required if user is logged in// email: // Recommended if using Pendo Feedback, or NPS Email// full_name: // Recommended if using Pendo Feedback// role: // Optional
// tags: // Recommended if using Pendo Feedback
// You can add any additional visitor level key-values here,// as long as it's not one of the above reserved names.},
account:{// id: 'ACCOUNT-UNIQUE-ID' // Highly recommended// name: // Optional// monthly_value:// Recommended if using Pendo Feedback// is_paying: // Recommended if using Pendo Feedback// planLevel: // Optional// planPrice: // Optional// creationDate: // Optional
// tags: // Recommended if using Pendo Feedback
// You can add any additional account level key-values here,// as long as it's not one of the above reserved names.}
Code Example with Metadata
visitor:{
id: $user.ID,
email:'$user.email',
full_name:'$user.full_name',
role:'$user.accessLevel',
creationDate: $user.creationDate,
tags: ['$user.accessLevel','$user.creationDate']
},
account:{
id:'$account.ID',
name:'$account.name',
is_paying:'$account.is_paying',
monthly_value:'$account.monthly_value',
planLevel: $account.subscriptionCost,
isFoo: $account.isFoo,
tags: ['$account.subscriptionCost','$account.isFoo']
}
Code Example sent to Pendo
visitor:{
id:62343,
email:'john@doe.com',
full_name:'John Doe',
role:'admin',
creationDate:1404326949156},
account:{
id:17,
name:'Acme, inc',
monthly_value:'99.99',
is_paying:true,
planLevel:995,
isFoo:false}