Search documentation...

K
ChangelogBook a demoSign up

Pendo

Perform deeper analysis and better understand user behavior by bringing enriched customer data into Pendo from your data warehouse

Overview

Ideally, your data warehouse should contain all your customer data. When that's the case, using your warehouse as the source for your Pendo data enables richer, more granular analysis. You can sync enriched data from your warehouse and data from other engagement tools. Moreover, you can ensure that the data in Pendo consumed by your product and growth teams is always up-to-date and in the expected format.

If your company also uses a Business Intelligence tool such as Looker or Mode alongside Pendo, you can ensure that the data is consistent across both systems since your data warehouse is the only true source of data.

Supported syncing

Sync TypeDescriptionSupported Sync ModesAPI Reference
EventsSync records as events to Pendo, often in the form of a track callInsertTrack API reference
ObjectsUpdate visitor, account, and parent account objectsUpdateAPI overview

For more information about sync modes, refer to the sync modes docs.

Connect to Pendo

Go to the Destinations overview page and click the Add destination button. Select Pendo and click Continue. You can then authenticate Hightouch to Pendo with an Integration Key and Track Event Shared Secret.

Create Pendo Integration Key

In your Pendo admin go to Settings > Integrations > Integration Keys. Then follow the instructions below:

  1. Select + Add Integration Key.
  2. Enter a meaningful description for your Integration Key, for example, "Hightouch Integration."
  3. Provide the key Allow writes access.

Integration Key creation in the Pendo UI

  1. Select Create. Securely store this key for use in Hightouch.

For more information about Integration Keys, refer to Pendo's Integration Key article.

Access Track Event Shared Secret

To access your Track Event Shared Secret go to Subscription Settings > Choose your App > App Details in your Pendo admin. You must be a Pendo Admin to have access to this Secret Key. You can find more information in Pendo's events tracking documentation.

Sync configuration

Once you've set up your Pendo destination and have a model to pull data from, you can set up your sync configuration to begin syncing data. Go to the Syncs overview page and click the Add sync button to begin. Then, select the relevant model and the Pendo destination you want to sync to.

To ensure syncs send each event, your event model must use a truly unique primary key. See the events syncs documentation for more information.

Events

The Pendo integration lets you send events to Pendo with custom properties. You must input the following information:

  • Event name: either a model column containing the event name or a static value.
  • Timestamp: a model column containing the time the event occurred; if you leave this empty, Pendo uses the time the event arrives at the server.

Field mapping

Pendo suggests that you always supply both a Visitor ID (required) and Account ID (strongly recommended).

In addition, you can choose to map additional fields to your Pendo event payload in the custom properties.

Field mapping in the Hightouch UI

Objects

The Pendo integration allows users to update existing visitors, accounts, and parent accounts with metadata—both agent and custom fields.

Record matching

You have to choose how to match records from your model to objects in Pendo. Select a column from your model that corresponds to your Pendo profile ID. The following example screenshot shows mapping the model's id column to Pendo's Visitor ID field.

Record matching in the Hightouch UI

If users aren't found in Pendo, Hightouch automatically skips the row.

Field mapping

Pendo has two field types:

  • Agent fields are API-created fields the agent integrated on your website or app.
  • Custom fields are editable in the UI and through the API,

You can choose which fields you want to update on your profiles in Pendo. The following example screenshot shows mapping the model's firstname column to the firstname field in Pendo.

Field mapping in the Hightouch UI

You cannot create agent fields in the Pendo UI. If you want to write to a new field in Pendo that doesn't exist, you can pass in the desired field's name in Hightouch. The option to create that new field will appear, and if you select it, the field will be created during the next sync.

Creating a new Pendo field in the Hightouch UI

You can create custom fields in Pendo by going to Settings > Data Mappings.

Split retries

Pendo counts all events in a batch as rejected if the request contains a single invalid event. To pinpoint which records are getting rejected with which errors and reduce the number of valid records that get retried, you can enable split retries.

Delete behavior

The delete behavior you select dictates what to do when a row no longer appears in your model's query results. You have the following options:

BehaviorDescription
Do nothingKeep the document in Pendo
DeleteRemove the document from Pendo

Tips and troubleshooting

Common errors

To date, our customers haven't experienced any errors while using this destination. If you run into any issues, please don't hesitate to . We're here to help.

Live debugger

Hightouch provides complete visibility into the API calls made during each of your sync runs. We recommend reading our article on debugging tips and tricks to learn more.

Sync alerts

Hightouch can alert you of sync issues via Slack, PagerDuty, SMS, or email. For details, please visit our article on alerting.

Ready to get started?

Jump right in or a book a demo. Your first destination is always free.

Book a demoSign upBook a demo

Need help?

Our team is relentlessly focused on your success. Don't hesitate to reach out!

Feature requests?

We'd love to hear your suggestions for integrations and other features.

Last updated: Jun 15, 2023

On this page

OverviewSupported syncingConnect to PendoCreate Pendo Integration KeyAccess Track Event Shared SecretSync configurationEventsObjectsTips and troubleshootingCommon errorsLive debuggerSync alerts

Was this page helpful?