Data mapping and data types in Pendo

Last updated:

Data mapping is the process of connecting data from your systems, such as Salesforce, with data collected by Pendo, such as account type or visitor role. Mappings are split into account-level and visitor-level metadata.

It's important to select the correct type of data that you're sending to Pendo for a data mapping. A data type is defined by the values it can take: text, boolean, numbers, and so on. Selecting the appropriate data type ensures that the data displays correctly in Pendo and can be used correctly in segmentation rules. 

Data mappings

To view your data mappings, you must be an Admin. Navigate to Settings > Data Mappings, where you can see the names and types of data Pendo uses for analytics.

From this page, you can select the data type for any specific piece of visitor or account metadata. For more information, see Configure visitor and account metadata.

Tip: While there's no currently enforced limit to the amount of metadata fields you can pass into Pendo, we recommend being selective about which fields you include. This helps optimize search performance, loading times, and overall data governance.

Available data types

There are currently six data types available in Pendo. The data you send to Pendo through the install script (commonly referred to as "the snippet") must match the format of the data type you want to map the data to. This section outlines each data type and provides an example of data that matches that type. 

Text

Text is the most basic data type in Pendo and is intended for any fields that should be represented as simple text in Pendo, such as an email address:

visitor:{
id:62343,
email:'john@doe.com',

Note: We don't recommend metadata string values to exceed 1500 characters.

Boolean

The boolean data type is used for setting a value to either true or false, such as whether a visitor is an admin user:

visitor:{
id:62343,
isAdmin: true,

Number (int)

Integers are whole numbers – a type of numerical data without a decimal point, such as a dashboard count:

visitor:{
id:62343,
dashboardCount: 3,

Number (float)

Floating-point numbers are a type of numerical data that can have a decimal point, such as a percent storage used:

visitor:{
id:62343,
percentStorageUsed: .776,

Date

Date is used for any date that you pass to Pendo, such as subscription start:

visitor:{
id:62343,
subscriptionStart: "2006-01-02T15:04:05.999-05:00",

The date values you pass must be in a supported format. For information about supported date formats, see Visitor and account metadata. For a list of supported date formats, see the Engage API documentation.

List

List is used for data fields that might contain more than one value, such as roles:

 visitor:{
id:62343,
roles: ['admin', 'end-user', 'super-user'],

This data type is only available for agent metadata.

Segmentation rules for data types

Each data type in Pendo has associated segmentation rules that can be used with it. For example, a date field can have segmentation rules that relate to dates (before, after) while a number field can have rules that relate to numbers (equal to, not equal to).

Data mapping type Available segmentation rules
Text

equal to
not equal to
contains
does not contain
is empty
is not empty

Boolean is true
is false
Number (int)

equal to
not equal to
less or equal to
greater or equal to
is empty
is not empty

Number (float) equal to
not equal to
less or equal to
greater or equal to
is empty
is not empty
Date since
before
within last
not within last
within next
not within next
between
is empty
is not empty
List

contains
does not contain 

is empty
is not empty

It's important to note that metadata configured as text and list behave differently when it comes to using "contains" in a segment rule.

  • When using a "contains" rule with a text-type metadata field, Pendo searches for partial matches. For example, a rule like contains employee includes any metadata value containing "employee", such as "Pendo employee" or "Mind the Product employee".
  • In contrast, using a "contains" rule with a list-type metadata field requires an exact string match. For instance, contains employee would only match values that exactly match "employee" and variations like "Pendo employee" or "Mind the Product employee" wouldn't be eligible for the segment.
Was this article helpful?
8 out of 16 found this helpful