This integration is powered by Singer's Pendo tap and certified by Stitch. Check out and contribute to the repo on GitHub.
For support, contact Stitch support.
Pendo integration summary
Stitch’s Pendo integration replicates data using the Pendo v1 API. Refer to the Schema section for a list of objects available for replication.
Pendo feature snapshot
A high-level look at Stitch's Pendo (v1) integration, including release status, useful links, and the features supported in Stitch.
STITCH | |||
Release status |
Released on July 26th, 2023 |
Supported by | |
Stitch plan |
Standard |
API availability |
Available |
Singer GitHub repository | |||
REPLICATION SETTINGS | |||
Anchor Scheduling |
Supported |
Advanced Scheduling |
Supported |
Table-level reset |
Unsupported |
Configurable Replication Methods |
Unsupported |
DATA SELECTION | |||
Table selection |
Supported |
Column selection |
Supported |
Select all |
Supported |
||
TRANSPARENCY | |||
Extraction Logs |
Supported |
Loading Reports |
Supported |
Connecting Pendo
Pendo setup requirements
To set up Pendo in Stitch, you need:
-
Admin privileges in Pendo. These privileges are required to create an integration key, which Stitch needs to successfully connect to your Pendo account.
Step 1: Create a Pendo integration key
- Sign into your Pendo account as a user with Admin privileges.
- Click Settings > Integrations.
- On the Integrations page, click the Integration Keys tab.
- Click + Add Integration Key.
- In Description field of the window that displays, enter a description. For example:
Stitch
- Click Create.
The integration key will dispay in the Key column:
Keep the integration key handy - you’ll need it to complete the setup in the next step.
Step 2: Add Pendo as a Stitch data source
- Sign into your Stitch account.
-
On the Stitch Dashboard page, click the Add Integration button.
-
Click the Pendo icon.
-
Enter a name for the integration. This is the name that will display on the Stitch Dashboard for the integration; it’ll also be used to create the schema in your destination.
For example, the name “Stitch Pendo” would create a schema called
stitch_pendo
in the destination. Note: Schema names cannot be changed after you save the integration. -
In the Period field, select how you want data for event tables to be aggregated:
- Day - Data will be aggregated by day
- Hour - Data will be aggregated by hour
Note: The
Period
field is configured during integration creation. Once set, thisPeriod
field will remain disabled on the edit page. Refer to the Event replication section for more info. - In the X Pendo Integration Key field, paste the integration key you created in Step 1.
- Optional: If you want to extract data for specific apps, enter a comma-separated list of app IDs in the App Ids field. If this field is empty, Stitch will extract data for all apps available in your Pendo account.
- Optional: Check the Inlude Anonymous Visitors checkbox to have Stitch include anonymous vistors in replication.
Step 3: Define the historical replication start date
The Sync Historical Data setting defines the starting date for your Pendo integration. This means that data equal to or newer than this date will be replicated to your data warehouse.
Change this setting if you want to replicate data beyond Pendo’s default setting of 1 year. For a detailed look at historical replication jobs, check out the Syncing Historical SaaS Data guide.
Step 4: Create a replication schedule
In the Replication Frequency section, you’ll create the integration’s replication schedule. An integration’s replication schedule determines how often Stitch runs a replication job, and the time that job begins.
Pendo integrations support the following replication scheduling methods:
-
Advanced Scheduling using Cron (Advanced or Premium plans only)
To keep your row usage low, consider setting the integration to replicate less frequently. See the Understanding and Reducing Your Row Usage guide for tips on reducing your usage.
Step 5: Set objects to replicate
The last step is to select the tables and columns you want to replicate. Learn about the available tables for this integration.
Note: If a replication job is currently in progress, new selections won’t be used until the next job starts.
For Pendo integrations, you can select:
-
Individual tables and columns
-
All tables and columns
Click the tabs to view instructions for each selection method.
- In the integration’s Tables to Replicate tab, locate a table you want to replicate.
-
To track a table, click the checkbox next to the table’s name. A blue checkmark means the table is set to replicate.
-
To track a column, click the checkbox next to the column’s name. A blue checkmark means the column is set to replicate.
- Repeat this process for all the tables and columns you want to replicate.
- When finished, click the Finalize Your Selections button at the bottom of the screen to save your selections.
- Click into the integration from the Stitch Dashboard page.
-
Click the Tables to Replicate tab.
- In the list of tables, click the box next to the Table Names column.
-
In the menu that displays, click Track all Tables and Fields:
- Click the Finalize Your Selections button at the bottom of the page to save your data selections.
Initial and historical replication jobs
After you finish setting up Pendo, its Sync Status may show as Pending on either the Stitch Dashboard or in the Integration Details page.
For a new integration, a Pending status indicates that Stitch is in the process of scheduling the initial replication job for the integration. This may take some time to complete.
Initial replication jobs with Anchor Scheduling
If using Anchor Scheduling, an initial replication job may not kick off immediately. This depends on the selected Replication Frequency and Anchor Time. Refer to the Anchor Scheduling documentation for more information.
Free historical data loads
The first seven days of replication, beginning when data is first replicated, are free. Rows replicated from the new integration during this time won’t count towards your quota. Stitch offers this as a way of testing new integrations, measuring usage, and ensuring historical data volumes don’t quickly consume your quota.
Pendo replication
Event replication
Applicable event tables
The info in this section applies to the following tables:
Data aggregation for events
Pendo’s API allows data for event tables to be aggregated by day or by hour. In Stitch, this is controlled using the Period setting.
When the Period setting is set to:
Day
, each row of event data will pertain to a specific dayHour
, each row of event data will pertain to a specific hour of a given day
Pendo table reference
Schemas and versioning
Schemas and naming conventions can change from version to version, so we recommend verifying your integration’s version before continuing.
The schema and info displayed below is for version 1 of this integration.
This is the latest version of the Pendo integration.
Table and column names in your destination
Depending on your destination, table and column names may not appear as they are outlined below.
For example: Object names are lowercased in Redshift (CusTomERs
> customers
), while case is maintained in PostgreSQL destinations (CusTomERs
> CusTomERs
). Refer to the Loading Guide for your destination for more info.
accounts
The accounts
table contains info about your customer accounts in Pendo.
Key-based Incremental |
|
Primary Key |
account_id |
Replication Key |
lastupdated |
Useful links |
Join accounts with | on |
---|---|
events |
accounts.account_id = events.account_id |
feature_events |
accounts.account_id = feature_events.account_id |
guide_events |
accounts.account_id = guide_events.account_id accounts.account_id = guide_events.account_ids |
page_events |
accounts.account_id = page_events.account_id |
poll_events |
accounts.account_id = poll_events.account_id accounts.account_id = poll_events.account_ids |
track_events |
accounts.account_id = track_events.account_id |
visitors |
accounts.account_id = visitors.metadata_auto.accountid accounts.account_id = visitors.metadata_auto.accountids |
account_id STRING |
|||||
lastupdated DATE-TIME |
|||||
metadata_auto OBJECT
|
|||||
metadata_custom OBJECT |
events
The events
table contains info about events recorded in your Pendo account.
Note: The Period setting you define during setup determine how this table is replicated, including the field used as a Replication Key. Refer to the Replication section for more info.
Key-based Incremental |
|
Primary Keys |
account_id server remote_ip |
Useful links |
Join events with | on |
---|---|
accounts |
events.account_id = accounts.account_id |
feature_events |
events.account_id = feature_events.account_id events.app_id = feature_events.app_id events.feature_id = feature_events.feature_id events.visitor_id = feature_events.visitor_id |
guide_events |
events.account_id = guide_events.account_id events.account_id = guide_events.account_ids events.app_id = guide_events.app_id events.visitor_id = guide_events.visitor_id |
page_events |
events.account_id = page_events.account_id events.app_id = page_events.app_id events.page_id = page_events.page_id events.visitor_id = page_events.visitor_id |
poll_events |
events.account_id = poll_events.account_id events.account_id = poll_events.account_ids events.visitor_id = poll_events.visitor_id |
track_events |
events.account_id = track_events.account_id events.app_id = track_events.app_id events.visitor_id = track_events.visitor_id |
visitors |
events.account_id = visitors.metadata_auto.accountid events.account_id = visitors.metadata_auto.accountids events.visitor_id = visitors.visitor_id |
features |
events.app_id = features.created_by_user.app_id events.feature_id = features.id events.page_id = features.page_id |
visitor_history |
events.app_id = visitor_history.app_id events.feature_id = visitor_history.feature_id events.page_id = visitor_history.page_id events.visitor_id = visitor_history.visitor_id |
guides |
events.page_id = guides.steps.page_id events.visitor_id = guides.audience.select.visitor_id |
pages |
events.page_id = pages.id |
account_id STRING |
app_id NUMBER |
day DATE-TIME |
feature_id STRING |
hour DATE-TIME |
num_events INTEGER |
num_minutes INTEGER |
page_id STRING |
parameters STRING |
remote_ip STRING |
server STRING |
user_agent STRING |
visitor_id STRING |
feature_events
The feature_events
table contains info about feature events recorded in your Pendo account.
Note: The Period setting you define during setup determine how this table is replicated, including the field used as a Replication Key. Refer to the Replication section for more info.
Key-based Incremental |
|
Primary Keys |
account_id server remote_ip visitor_id day feature_id user_agent |
Useful links |
Join feature_events with | on |
---|---|
accounts |
feature_events.account_id = accounts.account_id |
events |
feature_events.account_id = events.account_id feature_events.app_id = events.app_id feature_events.feature_id = events.feature_id feature_events.visitor_id = events.visitor_id |
guide_events |
feature_events.account_id = guide_events.account_id feature_events.account_id = guide_events.account_ids feature_events.app_id = guide_events.app_id feature_events.visitor_id = guide_events.visitor_id |
page_events |
feature_events.account_id = page_events.account_id feature_events.app_id = page_events.app_id feature_events.visitor_id = page_events.visitor_id |
poll_events |
feature_events.account_id = poll_events.account_id feature_events.account_id = poll_events.account_ids feature_events.visitor_id = poll_events.visitor_id |
track_events |
feature_events.account_id = track_events.account_id feature_events.app_id = track_events.app_id feature_events.visitor_id = track_events.visitor_id |
visitors |
feature_events.account_id = visitors.metadata_auto.accountid feature_events.account_id = visitors.metadata_auto.accountids feature_events.visitor_id = visitors.visitor_id |
features |
feature_events.app_id = features.created_by_user.app_id feature_events.feature_id = features.id |
visitor_history |
feature_events.app_id = visitor_history.app_id feature_events.feature_id = visitor_history.feature_id feature_events.visitor_id = visitor_history.visitor_id |
guides |
feature_events.visitor_id = guides.audience.select.visitor_id |
account_id STRING |
app_id NUMBER |
day DATE-TIME |
feature_id STRING |
hour DATE-TIME |
num_events INTEGER |
num_minutes INTEGER |
parameters STRING |
remote_ip STRING |
server STRING |
user_agent STRING |
visitor_id STRING |
features
The features
table contains info about app features listed in your Pendo account.
Key-based Incremental |
|
Primary Key |
id |
Replication Key |
last_updated_at |
Useful links |
Join features with | on |
---|---|
events |
features.created_by_user.app_id = events.app_id features.id = events.feature_id features.page_id = events.page_id |
feature_events |
features.created_by_user.app_id = feature_events.app_id features.id = feature_events.feature_id |
guide_events |
features.created_by_user.app_id = guide_events.app_id |
page_events |
features.created_by_user.app_id = page_events.app_id features.page_id = page_events.page_id |
track_events |
features.created_by_user.app_id = track_events.app_id |
visitor_history |
features.created_by_user.app_id = visitor_history.app_id features.id = visitor_history.feature_id features.page_id = visitor_history.page_id |
pages |
features.group.id = pages.group.id features.page_id = pages.id features.created_by_user.id = pages.created_by_user.id features.group.created_by_user.id = pages.created_by_user.id features.group.last_updated_by_user.id = pages.created_by_user.id features.last_updated_by_user.id = pages.created_by_user.id features.created_by_user.id = pages.group.created_by_user.id features.group.created_by_user.id = pages.group.created_by_user.id features.group.last_updated_by_user.id = pages.group.created_by_user.id features.last_updated_by_user.id = pages.group.created_by_user.id features.created_by_user.id = pages.group.last_updated_by_user.id features.group.created_by_user.id = pages.group.last_updated_by_user.id features.group.last_updated_by_user.id = pages.group.last_updated_by_user.id features.last_updated_by_user.id = pages.group.last_updated_by_user.id features.created_by_user.id = pages.last_updated_by_user.id features.group.created_by_user.id = pages.last_updated_by_user.id features.group.last_updated_by_user.id = pages.last_updated_by_user.id features.last_updated_by_user.id = pages.last_updated_by_user.id |
track_types |
features.group.id = track_types.group.id features.created_by_user.id = track_types.created_by_user.id features.group.created_by_user.id = track_types.created_by_user.id features.group.last_updated_by_user.id = track_types.created_by_user.id features.last_updated_by_user.id = track_types.created_by_user.id features.created_by_user.id = track_types.last_updated_by_user.id features.group.created_by_user.id = track_types.last_updated_by_user.id features.group.last_updated_by_user.id = track_types.last_updated_by_user.id features.last_updated_by_user.id = track_types.last_updated_by_user.id |
guides |
features.page_id = guides.steps.page_id features.created_by_user.id = guides.created_by_user.id features.group.created_by_user.id = guides.created_by_user.id features.group.last_updated_by_user.id = guides.created_by_user.id features.last_updated_by_user.id = guides.created_by_user.id features.created_by_user.id = guides.last_updated_by_user.id features.group.created_by_user.id = guides.last_updated_by_user.id features.group.last_updated_by_user.id = guides.last_updated_by_user.id features.last_updated_by_user.id = guides.last_updated_by_user.id |
app_id NUMBER |
||||||||||||||||||||
color STRING |
||||||||||||||||||||
created_at DATE-TIME |
||||||||||||||||||||
created_by_user OBJECT
|
||||||||||||||||||||
dirty BOOLEAN |
||||||||||||||||||||
element_path_rules ARRAY |
||||||||||||||||||||
group OBJECT
|
||||||||||||||||||||
id STRING |
||||||||||||||||||||
kind STRING |
||||||||||||||||||||
last_updated_at DATE-TIME |
||||||||||||||||||||
last_updated_by_user OBJECT
|
||||||||||||||||||||
name STRING |
||||||||||||||||||||
page_id STRING |
||||||||||||||||||||
root_version_id STRING |
||||||||||||||||||||
stable_version_id STRING |
guide_events
The guide_events
table contains info about guide events recorded in your Pendo account.
Note: The Period setting you define during setup determine how this table is replicated, including the field used as a Replication Key. Refer to the Replication section for more info.
Key-based Incremental |
|
Primary Keys |
account_id browser_time guide_id guide_step_id remote_ip type url visitor_id |
Replication Key |
browser_time |
Useful links |
Join guide_events with | on |
---|---|
accounts |
guide_events.account_id = accounts.account_id guide_events.account_ids = accounts.account_id |
events |
guide_events.account_id = events.account_id guide_events.account_ids = events.account_id guide_events.app_id = events.app_id guide_events.visitor_id = events.visitor_id |
feature_events |
guide_events.account_id = feature_events.account_id guide_events.account_ids = feature_events.account_id guide_events.app_id = feature_events.app_id guide_events.visitor_id = feature_events.visitor_id |
page_events |
guide_events.account_id = page_events.account_id guide_events.account_ids = page_events.account_id guide_events.app_id = page_events.app_id guide_events.visitor_id = page_events.visitor_id |
poll_events |
guide_events.account_id = poll_events.account_id guide_events.account_ids = poll_events.account_id guide_events.account_id = poll_events.account_ids guide_events.account_ids = poll_events.account_ids guide_events.guide_id = poll_events.guide_id guide_events.poll_id = poll_events.poll_id guide_events.visitor_id = poll_events.visitor_id |
track_events |
guide_events.account_id = track_events.account_id guide_events.account_ids = track_events.account_id guide_events.app_id = track_events.app_id guide_events.visitor_id = track_events.visitor_id |
visitors |
guide_events.account_id = visitors.metadata_auto.accountid guide_events.account_ids = visitors.metadata_auto.accountid guide_events.account_id = visitors.metadata_auto.accountids guide_events.account_ids = visitors.metadata_auto.accountids guide_events.visitor_id = visitors.visitor_id |
features |
guide_events.app_id = features.created_by_user.app_id |
visitor_history |
guide_events.app_id = visitor_history.app_id guide_events.guide_id = visitor_history.guide_id guide_events.visitor_id = visitor_history.visitor_id |
guides |
guide_events.guide_id = guides.id guide_events.guide_id = guides.steps.guide_id guide_events.visitor_id = guides.audience.select.visitor_id |
account_id STRING |
account_ids
ARRAY |
app_id NUMBER |
browser_time DATE-TIME |
country STRING |
guide_id STRING |
guide_step_id STRING |
latitude NUMBER |
load_time INTEGER |
longitude NUMBER |
poll_id STRING |
poll_response STRING |
region STRING |
remote_ip STRING |
server_name STRING |
type STRING |
url STRING |
user_agent STRING |
visitor_id STRING |
guides
The guides
table contains info about the guides in your Pendo account.
Key-based Incremental |
|
Primary Key |
id |
Replication Key |
last_updated_at |
Useful links |
Join guides with | on |
---|---|
guide_events |
guides.id = guide_events.guide_id guides.steps.guide_id = guide_events.guide_id guides.audience.select.visitor_id = guide_events.visitor_id |
poll_events |
guides.id = poll_events.guide_id guides.steps.guide_id = poll_events.guide_id guides.audience.select.visitor_id = poll_events.visitor_id |
visitor_history |
guides.id = visitor_history.guide_id guides.steps.guide_id = visitor_history.guide_id guides.steps.id = visitor_history.guide_id guides.steps.page_id = visitor_history.page_id guides.audience.select.visitor_id = visitor_history.visitor_id |
events |
guides.steps.page_id = events.page_id guides.audience.select.visitor_id = events.visitor_id |
features |
guides.steps.page_id = features.page_id guides.created_by_user.id = features.created_by_user.id guides.last_updated_by_user.id = features.created_by_user.id guides.created_by_user.id = features.group.created_by_user.id guides.last_updated_by_user.id = features.group.created_by_user.id guides.created_by_user.id = features.group.last_updated_by_user.id guides.last_updated_by_user.id = features.group.last_updated_by_user.id guides.created_by_user.id = features.last_updated_by_user.id guides.last_updated_by_user.id = features.last_updated_by_user.id |
page_events |
guides.steps.page_id = page_events.page_id guides.audience.select.visitor_id = page_events.visitor_id |
pages |
guides.steps.page_id = pages.id guides.created_by_user.id = pages.created_by_user.id guides.last_updated_by_user.id = pages.created_by_user.id guides.created_by_user.id = pages.group.created_by_user.id guides.last_updated_by_user.id = pages.group.created_by_user.id guides.created_by_user.id = pages.group.last_updated_by_user.id guides.last_updated_by_user.id = pages.group.last_updated_by_user.id guides.created_by_user.id = pages.last_updated_by_user.id guides.last_updated_by_user.id = pages.last_updated_by_user.id |
track_types |
guides.created_by_user.id = track_types.created_by_user.id guides.last_updated_by_user.id = track_types.created_by_user.id guides.created_by_user.id = track_types.last_updated_by_user.id guides.last_updated_by_user.id = track_types.last_updated_by_user.id |
feature_events |
guides.audience.select.visitor_id = feature_events.visitor_id |
track_events |
guides.audience.select.visitor_id = track_events.visitor_id |
visitors |
guides.audience.select.visitor_id = visitors.visitor_id |
app_id NUMBER |
|||||||||||||||||||
attributes OBJECT
|
|||||||||||||||||||
audience ARRAY
|
|||||||||||||||||||
created_at DATE-TIME |
|||||||||||||||||||
created_by_user OBJECT
|
|||||||||||||||||||
id STRING |
|||||||||||||||||||
is_multi_step BOOLEAN |
|||||||||||||||||||
kind STRING |
|||||||||||||||||||
last_updated_at DATE-TIME |
|||||||||||||||||||
last_updated_by_user OBJECT
|
|||||||||||||||||||
launch_method STRING |
|||||||||||||||||||
name STRING |
|||||||||||||||||||
published_at DATE-TIME |
|||||||||||||||||||
reset_at DATE-TIME |
|||||||||||||||||||
root_version_id STRING |
|||||||||||||||||||
stable_version_id STRING |
|||||||||||||||||||
state STRING |
|||||||||||||||||||
steps ARRAY
|
metadata_accounts
The metadata_accounts
table contains info about the metadata schema used for account objects in your Pendo account.
Full Table |
|
Useful links |
auto OBJECT
|
metadata_visitors
The metadata_visitors
table contains info about the metadata schema used for visitor objects in your Pendo account.
Full Table |
|
Useful links |
agent OBJECT
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
auto OBJECT
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
pendo OBJECT
|
page_events
The page_events
table contains info about page events recorded in your Pendo account.
Note: The Period setting you define during setup determine how this table is replicated, including the field used as a Replication Key. Refer to the Replication section for more info.
Key-based Incremental |
|
Primary Keys |
account_id server remote_ip visitor_id day page_id user_agent |
Useful links |
Join page_events with | on |
---|---|
accounts |
page_events.account_id = accounts.account_id |
events |
page_events.account_id = events.account_id page_events.app_id = events.app_id page_events.page_id = events.page_id page_events.visitor_id = events.visitor_id |
feature_events |
page_events.account_id = feature_events.account_id page_events.app_id = feature_events.app_id page_events.visitor_id = feature_events.visitor_id |
guide_events |
page_events.account_id = guide_events.account_id page_events.account_id = guide_events.account_ids page_events.app_id = guide_events.app_id page_events.visitor_id = guide_events.visitor_id |
poll_events |
page_events.account_id = poll_events.account_id page_events.account_id = poll_events.account_ids page_events.visitor_id = poll_events.visitor_id |
track_events |
page_events.account_id = track_events.account_id page_events.app_id = track_events.app_id page_events.visitor_id = track_events.visitor_id |
visitors |
page_events.account_id = visitors.metadata_auto.accountid page_events.account_id = visitors.metadata_auto.accountids page_events.visitor_id = visitors.visitor_id |
features |
page_events.app_id = features.created_by_user.app_id page_events.page_id = features.page_id |
visitor_history |
page_events.app_id = visitor_history.app_id page_events.page_id = visitor_history.page_id page_events.visitor_id = visitor_history.visitor_id |
guides |
page_events.page_id = guides.steps.page_id page_events.visitor_id = guides.audience.select.visitor_id |
pages |
page_events.page_id = pages.id |
account_id STRING |
app_id NUMBER |
day DATE-TIME |
hour DATE-TIME |
num_events INTEGER |
num_minutes INTEGER |
page_id STRING |
parameters STRING |
remote_ip STRING |
server STRING |
user_agent STRING |
visitor_id STRING |
pages
The pages
table contains info about specific pages in your Pendo app.
Key-based Incremental |
|
Primary Key |
id |
Replication Key |
last_updated_at |
Useful links |
Join pages with | on |
---|---|
features |
pages.group.id = features.group.id pages.id = features.page_id pages.created_by_user.id = features.created_by_user.id pages.group.created_by_user.id = features.created_by_user.id pages.group.last_updated_by_user.id = features.created_by_user.id pages.last_updated_by_user.id = features.created_by_user.id pages.created_by_user.id = features.group.created_by_user.id pages.group.created_by_user.id = features.group.created_by_user.id pages.group.last_updated_by_user.id = features.group.created_by_user.id pages.last_updated_by_user.id = features.group.created_by_user.id pages.created_by_user.id = features.group.last_updated_by_user.id pages.group.created_by_user.id = features.group.last_updated_by_user.id pages.group.last_updated_by_user.id = features.group.last_updated_by_user.id pages.last_updated_by_user.id = features.group.last_updated_by_user.id pages.created_by_user.id = features.last_updated_by_user.id pages.group.created_by_user.id = features.last_updated_by_user.id pages.group.last_updated_by_user.id = features.last_updated_by_user.id pages.last_updated_by_user.id = features.last_updated_by_user.id |
track_types |
pages.group.id = track_types.group.id pages.created_by_user.id = track_types.created_by_user.id pages.group.created_by_user.id = track_types.created_by_user.id pages.group.last_updated_by_user.id = track_types.created_by_user.id pages.last_updated_by_user.id = track_types.created_by_user.id pages.created_by_user.id = track_types.last_updated_by_user.id pages.group.created_by_user.id = track_types.last_updated_by_user.id pages.group.last_updated_by_user.id = track_types.last_updated_by_user.id pages.last_updated_by_user.id = track_types.last_updated_by_user.id |
events |
pages.id = events.page_id |
guides |
pages.id = guides.steps.page_id pages.created_by_user.id = guides.created_by_user.id pages.group.created_by_user.id = guides.created_by_user.id pages.group.last_updated_by_user.id = guides.created_by_user.id pages.last_updated_by_user.id = guides.created_by_user.id pages.created_by_user.id = guides.last_updated_by_user.id pages.group.created_by_user.id = guides.last_updated_by_user.id pages.group.last_updated_by_user.id = guides.last_updated_by_user.id pages.last_updated_by_user.id = guides.last_updated_by_user.id |
page_events |
pages.id = page_events.page_id |
visitor_history |
pages.id = visitor_history.page_id |
app_id NUMBER |
|||||||||||||||||||
color STRING |
|||||||||||||||||||
created_at DATE-TIME |
|||||||||||||||||||
created_by_user OBJECT
|
|||||||||||||||||||
dirty BOOLEAN |
|||||||||||||||||||
group OBJECT
|
|||||||||||||||||||
id STRING |
|||||||||||||||||||
kind STRING |
|||||||||||||||||||
last_updated_at DATE-TIME |
|||||||||||||||||||
last_updated_by_user OBJECT
|
|||||||||||||||||||
name STRING |
|||||||||||||||||||
root_version_id STRING |
|||||||||||||||||||
rules ARRAY
|
|||||||||||||||||||
stable_version_id STRING |
poll_events
The poll_events
table contains info about poll events recorded in your Pendo account.
Note: The Period setting you define during setup determine how this table is replicated, including the field used as a Replication Key. Refer to the Replication section for more info.
Key-based Incremental |
|
Primary Keys |
account_id remote_ip visitor_id browser_time poll_id |
Replication Key |
browser_time |
Useful links |
Join poll_events with | on |
---|---|
accounts |
poll_events.account_id = accounts.account_id poll_events.account_ids = accounts.account_id |
events |
poll_events.account_id = events.account_id poll_events.account_ids = events.account_id poll_events.visitor_id = events.visitor_id |
feature_events |
poll_events.account_id = feature_events.account_id poll_events.account_ids = feature_events.account_id poll_events.visitor_id = feature_events.visitor_id |
guide_events |
poll_events.account_id = guide_events.account_id poll_events.account_ids = guide_events.account_id poll_events.account_id = guide_events.account_ids poll_events.account_ids = guide_events.account_ids poll_events.guide_id = guide_events.guide_id poll_events.poll_id = guide_events.poll_id poll_events.visitor_id = guide_events.visitor_id |
page_events |
poll_events.account_id = page_events.account_id poll_events.account_ids = page_events.account_id poll_events.visitor_id = page_events.visitor_id |
track_events |
poll_events.account_id = track_events.account_id poll_events.account_ids = track_events.account_id poll_events.visitor_id = track_events.visitor_id |
visitors |
poll_events.account_id = visitors.metadata_auto.accountid poll_events.account_ids = visitors.metadata_auto.accountid poll_events.account_id = visitors.metadata_auto.accountids poll_events.account_ids = visitors.metadata_auto.accountids poll_events.visitor_id = visitors.visitor_id |
guides |
poll_events.guide_id = guides.id poll_events.guide_id = guides.steps.guide_id poll_events.visitor_id = guides.audience.select.visitor_id |
visitor_history |
poll_events.guide_id = visitor_history.guide_id poll_events.visitor_id = visitor_history.visitor_id |
account_id STRING |
account_ids
ARRAY |
app_id NUMBER |
browser_time DATE-TIME |
country STRING |
guide_id STRING |
latitude NUMBER |
load_time INTEGER |
longitude NUMBER |
poll_id STRING |
poll_response STRING |
region STRING |
remote_ip STRING |
server_name STRING |
type STRING |
user_agent STRING |
visitor_id STRING |
track_events
The track_events
table contains info about the track events recorded in your Pendo account.
Note: The Period setting you define during setup determine how this table is replicated, including the field used as a Replication Key. Refer to the Replication section for more info.
Key-based Incremental |
|
Primary Keys |
account_id remote_ip server visitor_id day track_type_id user_agent |
Useful links |
Join track_events with | on |
---|---|
accounts |
track_events.account_id = accounts.account_id |
events |
track_events.account_id = events.account_id track_events.app_id = events.app_id track_events.visitor_id = events.visitor_id |
feature_events |
track_events.account_id = feature_events.account_id track_events.app_id = feature_events.app_id track_events.visitor_id = feature_events.visitor_id |
guide_events |
track_events.account_id = guide_events.account_id track_events.account_id = guide_events.account_ids track_events.app_id = guide_events.app_id track_events.visitor_id = guide_events.visitor_id |
page_events |
track_events.account_id = page_events.account_id track_events.app_id = page_events.app_id track_events.visitor_id = page_events.visitor_id |
poll_events |
track_events.account_id = poll_events.account_id track_events.account_id = poll_events.account_ids track_events.visitor_id = poll_events.visitor_id |
visitors |
track_events.account_id = visitors.metadata_auto.accountid track_events.account_id = visitors.metadata_auto.accountids track_events.visitor_id = visitors.visitor_id |
features |
track_events.app_id = features.created_by_user.app_id |
visitor_history |
track_events.app_id = visitor_history.app_id track_events.visitor_id = visitor_history.visitor_id |
track_types |
track_events.track_type_id = track_types.id |
guides |
track_events.visitor_id = guides.audience.select.visitor_id |
account_id STRING |
|||||
app_id NUMBER |
|||||
day DATE-TIME |
|||||
hour DATE-TIME |
|||||
num_events INTEGER |
|||||
num_minutes INTEGER |
|||||
properties OBJECT
|
|||||
remote_ip STRING |
|||||
server STRING |
|||||
track_type_id STRING |
|||||
user_agent STRING |
|||||
visitor_id STRING |
track_types
The track_types
table contains info about
Key-based Incremental |
|
Primary Key |
id |
Useful links |
Join track_types with | on |
---|---|
features |
track_types.group.id = features.group.id track_types.created_by_user.id = features.created_by_user.id track_types.last_updated_by_user.id = features.created_by_user.id track_types.created_by_user.id = features.group.created_by_user.id track_types.last_updated_by_user.id = features.group.created_by_user.id track_types.created_by_user.id = features.group.last_updated_by_user.id track_types.last_updated_by_user.id = features.group.last_updated_by_user.id track_types.created_by_user.id = features.last_updated_by_user.id track_types.last_updated_by_user.id = features.last_updated_by_user.id |
pages |
track_types.group.id = pages.group.id track_types.created_by_user.id = pages.created_by_user.id track_types.last_updated_by_user.id = pages.created_by_user.id track_types.created_by_user.id = pages.group.created_by_user.id track_types.last_updated_by_user.id = pages.group.created_by_user.id track_types.created_by_user.id = pages.group.last_updated_by_user.id track_types.last_updated_by_user.id = pages.group.last_updated_by_user.id track_types.created_by_user.id = pages.last_updated_by_user.id track_types.last_updated_by_user.id = pages.last_updated_by_user.id |
track_events |
track_types.id = track_events.track_type_id |
guides |
track_types.created_by_user.id = guides.created_by_user.id track_types.last_updated_by_user.id = guides.created_by_user.id track_types.created_by_user.id = guides.last_updated_by_user.id track_types.last_updated_by_user.id = guides.last_updated_by_user.id |
app_id NUMBER |
|||||
color STRING |
|||||
created_at DATE-TIME |
|||||
created_by_user OBJECT
|
|||||
dirty BOOLEAN |
|||||
group OBJECT
|
|||||
id STRING |
|||||
kind STRING |
|||||
last_updated_at DATE-TIME |
|||||
last_updated_by_user OBJECT
|
|||||
name STRING |
|||||
root_version_id STRING |
|||||
stable_version_id STRING |
|||||
track_type_name BOOLEAN |
|||||
track_type_rules
ARRAY |
visitor_history
The visitor_history
table contains info about visitor activity.
Key-based Incremental |
|
Primary Key |
visitor_id |
Replication Key |
modified_ts |
Useful links |
Join visitor_history with | on |
---|---|
events |
visitor_history.app_id = events.app_id visitor_history.feature_id = events.feature_id visitor_history.page_id = events.page_id visitor_history.visitor_id = events.visitor_id |
feature_events |
visitor_history.app_id = feature_events.app_id visitor_history.feature_id = feature_events.feature_id visitor_history.visitor_id = feature_events.visitor_id |
features |
visitor_history.app_id = features.created_by_user.app_id visitor_history.feature_id = features.id visitor_history.page_id = features.page_id |
guide_events |
visitor_history.app_id = guide_events.app_id visitor_history.guide_id = guide_events.guide_id visitor_history.visitor_id = guide_events.visitor_id |
page_events |
visitor_history.app_id = page_events.app_id visitor_history.page_id = page_events.page_id visitor_history.visitor_id = page_events.visitor_id |
track_events |
visitor_history.app_id = track_events.app_id visitor_history.visitor_id = track_events.visitor_id |
guides |
visitor_history.guide_id = guides.id visitor_history.guide_id = guides.steps.guide_id visitor_history.guide_id = guides.steps.id visitor_history.page_id = guides.steps.page_id visitor_history.visitor_id = guides.audience.select.visitor_id |
poll_events |
visitor_history.guide_id = poll_events.guide_id visitor_history.visitor_id = poll_events.visitor_id |
pages |
visitor_history.page_id = pages.id |
visitors |
visitor_history.visitor_id = visitors.visitor_id |
app_id NUMBER |
|||
duration INTEGER |
|||
feature_id STRING |
|||
guide_id STRING |
|||
guide_step_id STRING |
|||
last_ts DATE-TIME |
|||
modified_ts DATE-TIME |
|||
page_id STRING |
|||
parsed_user_agent OBJECT
|
|||
ts DATE-TIME |
|||
type STRING |
|||
untagged_url STRING |
|||
uri STRING |
|||
visitor_id STRING |
visitors
The visitors
table contains info about the visitors recorded in your Pendo account.
Key-based Incremental |
|
Primary Key |
visitor_id |
Replication Key |
lastupdated |
Useful links |
Join visitors with | on |
---|---|
accounts |
visitors.metadata_auto.accountid = accounts.account_id visitors.metadata_auto.accountids = accounts.account_id |
events |
visitors.metadata_auto.accountid = events.account_id visitors.metadata_auto.accountids = events.account_id visitors.visitor_id = events.visitor_id |
feature_events |
visitors.metadata_auto.accountid = feature_events.account_id visitors.metadata_auto.accountids = feature_events.account_id visitors.visitor_id = feature_events.visitor_id |
guide_events |
visitors.metadata_auto.accountid = guide_events.account_id visitors.metadata_auto.accountids = guide_events.account_id visitors.metadata_auto.accountid = guide_events.account_ids visitors.metadata_auto.accountids = guide_events.account_ids visitors.visitor_id = guide_events.visitor_id |
page_events |
visitors.metadata_auto.accountid = page_events.account_id visitors.metadata_auto.accountids = page_events.account_id visitors.visitor_id = page_events.visitor_id |
poll_events |
visitors.metadata_auto.accountid = poll_events.account_id visitors.metadata_auto.accountids = poll_events.account_id visitors.metadata_auto.accountid = poll_events.account_ids visitors.metadata_auto.accountids = poll_events.account_ids visitors.visitor_id = poll_events.visitor_id |
track_events |
visitors.metadata_auto.accountid = track_events.account_id visitors.metadata_auto.accountids = track_events.account_id visitors.visitor_id = track_events.visitor_id |
guides |
visitors.visitor_id = guides.audience.select.visitor_id |
visitor_history |
visitors.visitor_id = visitor_history.visitor_id |
lastupdated DATE-TIME |
|||||||||||||
metadata_agent OBJECT
|
|||||||||||||
metadata_auto OBJECT
|
|||||||||||||
metadata_custom OBJECT |
|||||||||||||
visitor_id STRING |
Related | Troubleshooting |
Questions? Feedback?
Did this article help? If you have questions or feedback, feel free to submit a pull request with your suggestions, open an issue on GitHub, or reach out to us.