Pendo Data Sync allows you to send Pendo data into your data lake or warehouse so that you can combine it with other data sources and incorporate it into AI workflows, machine learning models, and business intelligence dashboards. For more information, see Overview of Pendo Data Sync.
This article describes the schema used in Data Sync exports, including event data and account and visitor metadata. Data Sync supports two delivery methods:
- Export to cloud storage. Pendo delivers Avro files to Amazon S3, Google Cloud Storage, or Azure Storage.
- Direct warehouse sync. Pendo creates and syncs tables in Snowflake, Databricks, and BigQuery.
The logical data is consistent across delivery methods, but table structure, identifier casing, and physical data types can differ by destination. Databricks and BigQuery share the same tables and columns; their warehouse-native type names differ.
Use the schema reference for your destination:
| Destination | Schema reference |
|---|---|
| Cloud storage | The Avro file and type columns in this article |
| Snowflake | Data Sync to Snowflake ERD |
| Databricks | Data Sync to Databricks ERD |
| BigQuery | Data Sync to BigQuery ERD |
All dates and timestamps are in Coordinated Universal Time (UTC). For more information, see the section Timestamps and time zones in Data Sync export handling.
Type mapping
This article uses mapping tables to show how event data, data objects, and field types correspond to each destination, and field tables to describe the fields themselves in Avro terms. The following mapping table summarizes the common physical type for each destination; field-specific exceptions and destination-only fields are documented in their descriptions and in the destination ERDs.
| Pendo field type | Field type in Pendo Data Mappings | Avro | Snowflake | Databricks | BigQuery |
|---|---|---|---|---|---|
| string | Text (string) | STRING | STRING | STRING | STRING |
| int | Number (int) | INT | NUMBER(38,0) | INT or LONG | INT64 |
| float | Number (float) | FLOAT | FLOAT | DOUBLE | FLOAT64 |
| boolean | Boolean (boolean) | BOOLEAN | BOOLEAN | BOOLEAN | BOOL |
| time | Date (time) | LONG with a logical type of milliseconds | NUMBER(38,0) | LONG | INT64 |
| list | List (list) | ARRAY | ARRAY | STRING containing JSON | STRING containing JSON |
| nested record | n/a | RECORD | ARRAY | STRING containing JSON | STRING containing JSON |
| variant metadata value | n/a | VARIANT | VARIANT | STRING | STRING |
Some fields override these common mappings. Snowflake stores deletedAt as DATE, while Databricks and BigQuery store it as an integer where the field is available. Snowflake stores periodId as NUMBER(38,0); Databricks and BigQuery store it as an integer.
Some fields exist only in direct-warehouse destinations and have no cloud storage equivalent. These are marked with an Avro type of n/a in their field tables; use the destination ERD for their physical types.
In Databricks and BigQuery, the normalized accountmetadata.value and visitormetadata.value fields are STRING regardless of the logical Pendo metadata type.
Events
Data Sync includes all events captured by Pendo. Tagged Pages, Features, Track Events, and guide events are also available in dedicated matched-event data for supported destinations.
| Event data | Cloud storage | Warehouse table |
|---|---|---|
| All events | allevents.avro |
ALLEVENTS |
| Page events | matchedEvents/Page/{pageId}.avro |
MATCHEDPAGEEVENTS |
| Feature events | matchedEvents/Feature/{featureId}.avro |
MATCHEDFEATUREEVENTS |
| Track Events | matchedEvents/TrackType/{trackId}.avro |
MATCHEDTRACKTYPEEVENTS |
| Guide events | included in allevents.avro
|
Included in ALLEVENTS
|
The field definitions that follow describe the shared event model. matchableId and lastUpdatedAt appear in matched-event tables but not in allevents.
| Field name | Avro type | Description |
|---|---|---|
matchableId |
STRING |
ID of the Page, Feature, or Track Event that has a rule matching this event. Not present in the All Events data.
ID contains uppercase letters (A-Z), lowercase letters (a-z), numbers (0-9), hyphens (-), and underscores (_). Maximum character limit is 500. |
periodId |
DATE | Convenience field to assist in data warehouse loading, equal to the date portion of the browserTimestamp for a given event. All dates are in UTC. Format is YYYY-MM-DD. |
visitorId |
STRING |
The visitor who performed the event. Maximum character limit is 500. Can be joined to Visitors and Visitor metadata. Visitor ID set by customer during Pendo installation. |
accountId |
STRING |
The account associated with the visitor. Maximum character limit is 500. Can be joined to Accounts and Account metadata. An empty string is used when no account information is available. Account ID set by customer during Pendo installation. |
analyticsSessionId |
STRING | Unique identifier for the web analytics session active when this event was logged. A session begins when no previous session is active in the browser and ends after 30 minutes of inactivity. Sessions in web analytics are tracked using cookies or local storage and can persist across browser tabs within the same domain. 16-digit alphanumeric string. |
browserTimestamp |
LONG | Timestamp of the event. These can be loaded into a data warehouse as dates with the use_avro_logical_types flag. |
country |
STRING | Country associated with the remoteIp. Uses the ISO 3166-1 alpha-2 country code. This field can be blank. |
deletedAt |
LONG | Date when the object was deleted. Empty if the object hasn't been deleted. |
destinationStepId |
STRING | Relates to guideAdvanced events that specify the ID of the destination step in the guide showing flow. This can be the previous or next step ID. This shows up in the singleEvents and guideEvents sources. Maximum character limit is 500. |
elementPath |
STRING | For web events. This is either empty or a CSS-style string specifying the DOM element related to the event. For mobile, this is a JSON-formatted description of the widget related to this event. Maximum character limit is 60,000. |
eventClass |
STRING | An event can be classified as either ui or track. |
eventId |
STRING |
A unique key for Pendo Data Sync data can be created by combining
|
eventSource |
STRING | One of: web, events originating in a web page; mobile, events originating in a mobile app; email, events originating from an email. This value only contains lowercase letters (a–z) and has a maximum length of 9 characters. |
eventType |
STRING |
Type of event. One of: Mobile events also include:
Other mobile event types, such as |
guideId |
STRING | Unique identifier of the guide generating guide- and poll-related events. This field can be blank. Maximum character limit is 500. |
guideSeenReason |
STRING | For the guideSeen event type, why the guide was displayed to the user. |
guideSeenTimeoutMS |
LONG | For guideTimeout events, the amount of time that the agent waited to show a specific guide step before sending a guideTimeout event. |
guideSessionId |
STRING | Identifiers of the list of guides and other deliverables that were loaded together. This ID changes every time guides are requested by the client and events that happen between each load carry the same ID. Maximum character limit is 500. |
guideSnoozeDurationMS |
LONG | For the guideSnoozed event type, the amount of time the guide was snoozed for in milliseconds. |
guideStepId |
STRING | Unique identifier of the guide step generating the guide- or poll-related event. This field can be blank. Maximum character limit is 500. |
language |
STRING | For the guideSeen event type, the language of the guide being displayed. This field can be blank. Uses https://datatracker.ietf.org/doc/html/bcp47 language tags (for example, en-US). |
latitude |
FLOAT | The latitude of the remoteIp for the event. This field is blank if remoteIp not being collected by Pendo. |
lastUpdatedAt |
n/a | Snowflake only. Epoch timestamp for when the matched event was last included in a transfer. This field updates every time a matched event is included in a transfer, including during retroactive processing. Use this field to identify fresh compared to stale data. |
longitude |
FLOAT | The longitude of the remoteIp for the event. This field is blank if remoteIp not being collected by Pendo. |
loadDurationMS |
LONG | For load events, the amount of time it took for the webpage to render in milliseconds. This doesn't include the time it takes for dynamic parts of the page to load. |
oldVisitorId |
STRING | The anonymous Visitor ID that was previously assigned to the visitor before they were identified by Pendo through authentication. |
pollId |
STRING | The identifier of the poll that generated any pollResponse events. Maximum character limit is 500. The poll object associated with this identifier can be found in the allguides.avro file, specifically for the guide with the identifier guideId (from this event) in the polls list. |
pollResponse |
STRING | The JSON-formatted response to the poll that generated a pollResponse event. It is empty unless the eventType is pollResponse. This can be an index into data that's only available in the poll itself. For responses that map to a set of custom responses defined in the poll, the value of pollResponse is an index into a map of responses that can be found in the allguides.avro file, specifically for the guide with the identifier guideId (from this event) and the poll with the identifier pollId (from this event) in the polls list. Maximum character limit is 5,000. |
pollType |
STRING | The type of poll that generated a pollResponse event. One of: NumberScale, PositiveNegative, FreeForm, PickList. |
propertiesJson |
STRING |
A JSON-formatted map of all the user-defined event properties for this event. When Session Replay frustration data is available for the event, the following keys are also included:
|
region |
STRING | The United States region of the remoteIp for the event. This field can be blank. Presented as a two-letter code for the state. |
remoteIp |
STRING | The remoteIp that generated the event. If not collecting this data, 0.0.0.0 is stored instead. This can also be an ipv6 address. Some proxies and mobile networks prevent useful IP addresses being collected. |
server |
STRING | The server name portion of the URL for the event. This field can be blank. Value is a URL-safe string (per https://datatracker.ietf.org/doc/html/rfc3986) and can be up to 60,000 characters. |
uiElementActions |
STRING | The element actions, such as openLink or guideSnoozed, associated with a guide interaction where a guideActivity event is sent by the agent. This appears in the following sources: singleEvents and guideEvents. The value is URL-safe (Base64-style) encoded (per https://datatracker.ietf.org/doc/html/rfc4648) and can be up to 60,000 characters. |
uiElementId |
STRING | The guide element's unique identifier when a UI element inside a guide is clicked on, which sends a guideActivity event to the agent. This appears in the following sources: singleEvents, guideEvents, guideElementClick, and guideElementClickEver. Maximum character limit is 60,000. |
uiElementText |
STRING | The guide element's text for when the agent sends the field as part of a guideActivity event. When a guideActivity event is sent with the guide element's text, ui_element_text should appear in the following sources: singleEvents and guideEvents. If a guideActivity event is sent without the ui_element_text field, we still process it. If a subscription has opted to exclude all text, ui_element_text isn't stored, even if the event is sent with it. Maximum character limit is 60,000. |
uiElementType |
STRING | The type of element that was clicked when a guideActivity event is being sent. This appears in the following sources: singleEvents and guideEvents. This can be any valid HTML element tag (for example, button) and can be up to 60,000 characters. |
url |
STRING | The normalized URL for the page that generated a web event. For mobile events, the URL is a JSON representation of the screen structure. |
userAgent |
STRING | The user agent string from the HTTPS request when a web event is received. For mobile events, this is the textual representation of the device type that generated the event. userAgent values are included on all events and used in aggregation and segmentation. Pendo uses its own copy of a third-party user agent parsing library to extract details like browser, OS, and device type. If the incoming string does not match any known patterns in the library, it is recorded as Unknown. |
Page, Feature, Track Event, and Guide definitions
The definitions for Pages, Features, and Track Events are included in their own files or tables, which can be joined to the event data using the matchableId.
The following table shows where each definition appears, depending on the export method:
| Data object | Cloud storage | Snowflake | Databricks and BigQuery |
|---|---|---|---|
| Pages | allpages.avro |
PAGES |
pages |
| Features | allfeatures.avro |
FEATURES |
features |
| Track Events | alltracktypes.avro |
TRACKTYPES |
tracktypes |
| Guides | allguides.avro |
GUIDES |
guides |
The field descriptions below define the logical model. The type column shows the cloud storage Avro type. Use the type mapping for common destination mappings and the ERD for your destination for exact physical types.deletedAtis present in all four Databricks and BigQuery definition tables, whilerulesUpdatedAtis present inpages,features, andtracktypes.softDeleteMethodappears only in Snowflake.
Pages
| Field name | Avro type | Description |
|---|---|---|
pageId |
STRING | Page identifier. Maximum character limit is 500. |
kind |
STRING | Description of the type of object. This will always be Page. |
name |
STRING | The name given to the Page. Maximum character limit is 1500. |
lastUpdatedAt |
LONG | Epoch timestamp for when the Page was last updated in milliseconds. |
isCoreEvent |
BOOLEAN | Whether the event is a Pendo Core Event. |
deletedAt |
LONG | Date when the object was deleted. Empty if the object hasn't been deleted. |
rulesUpdatedAt |
n/a | Snowflake only. Epoch timestamp for when the Page had its rules updated. |
softDeleteMethod |
n/a | Snowflake only. Indicates which soft delete approach applies (1 = original, 2 = new timestamp comparison). |
rulesJson |
STRING | This field is only used by the Pendo Classic (legacy) Designer and is expected to be empty for most pages. Is a UTF-8 JSON string. |
Features
| Field name | Avro type | Description |
|---|---|---|
featureId |
STRING | Feature identifier (unique per subscription). Maximum character limit is 500. |
kind |
STRING | Description of the type of object. This will always be Feature. |
name |
STRING | The name given to the Feature. |
lastUpdatedAt |
LONG | Epoch timestamp for when the Feature was last updated in milliseconds. |
isCoreEvent |
BOOLEAN | Whether the event is a Pendo Core Event. |
deletedAt |
LONG | Date when the object was deleted. Empty if the object hasn't been deleted. |
rulesUpdatedAt |
n/a | Snowflake only. Epoch timestamp for when the Feature had its rules updated. |
softDeleteMethod |
n/a | Snowflake only. Indicates which soft delete approach applies (1 = original, 2 = new timestamp comparison). |
Track Events
| Field name | Avro type | Description |
|---|---|---|
trackTypeId |
STRING | Track Event identifier (unique per subscription). Maximum character limit is 500. |
kind |
STRING | Description of the type of object. This will always be TrackType. |
name |
STRING | The name given to the Track Event. |
trackTypeName |
STRING | The display name of the Track Event. |
lastUpdatedAt |
LONG | Epoch timestamp for when the Track Event was last updated in milliseconds. |
isCoreEvent |
BOOLEAN | Whether the event is a Pendo Core Event. |
trackTypeRules |
STRING | List of rules used to define the Track Event. |
eventPropertyNames |
STRING | The names of the Track Event properties included. |
deletedAt |
LONG | Date when the object was deleted. Empty if the object hasn't been deleted. |
rulesUpdatedAt |
n/a | Snowflake only. Epoch timestamp for when the Track Event had its rules updated. This value is set when the Track Event is created and doesn't update after that. |
softDeleteMethod |
n/a | Snowflake only. Indicates which soft delete approach applies (1 = original, 2 = new timestamp comparison). |
Guides
| Field name | Avro type | Description |
|---|---|---|
guideId |
STRING | Guide identifier (unique per subscription). Maximum character limit is 500. |
kind |
STRING | Description of the type of object. This will always be Guide. |
lastUpdatedAt |
LONG | Epoch timestamp for when the guide was last updated in milliseconds. |
createdAt |
LONG | Epoch timestamp for when the guide was created in milliseconds. |
state |
STRING | The visibility state of the guide: draft, staged, public, or disabled. |
name |
STRING | The name given to the Guide. |
emailState |
STRING | The state of email backup for NPS: draft when disabled, and public when enabled. |
launchMethod |
STRING | The set of launch methods a guide might use, delineated by a hyphen. |
isMultiStep |
BOOLEAN | Whether a guide has more than one step. |
isTraining |
BOOLEAN | Whether the guide belongs to an "Adopt for Partners" end-user application. |
recurrence |
LONG | The recurrence period for an NPS guide in milliseconds. |
recurrenceEligibilityWindow |
LONG | The length of time in milliseconds for which an individual visitor is eligible for an NPS guide when even distribution is enabled. |
attributeJson |
STRING | JSON representation of guide attributes, including the type of guide, the badge description, the types of devices the guide is enabled for, and the last version of the Visual Design Studio that the guide was edited on. |
audience |
STRING | The logic defining the visitors targeted by the guide. |
audienceUiHint |
STRING | A more human-readable representation of the segment that was applied to the guide. |
resetAt |
LONG | The timestamp for when the guide was last reset. |
publishedAt |
LONG | The timestamp for when the guide was most recently published. |
steps |
RECORD |
Guide steps containing the following values:
|
polls |
RECORD |
Poll questions containing the following values:
|
deletedAt |
LONG | Date when the object was deleted. Empty if the object hasn't been deleted. |
Accounts and Visitors
Definitions for accounts and visitors appear in both the main object tables and supplemental metadata files or tables, depending on your export method. The table below shows where each type of data appears:
| Data | Cloud storage | Snowflake | Databricks and BigQuery |
|---|---|---|---|
| Accounts | accounts.avro |
ACCOUNTS |
accounts |
| Account metadata values | Dynamic columns in accounts.avro
|
ACCOUNTMETADATA |
accountmetadata |
| Account metadata schema | accountmetadata.avro |
Included in ACCOUNTMETADATA
|
accountmetadataschema |
| Visitors | visitors.avro |
VISITORS |
visitors |
| Visitor metadata values | Dynamic columns in visitors.avro
|
VISITORMETADATA |
visitormetadata |
| Visitor metadata schema | visitormetadata.avro |
Included in VISITORMETADATA
|
visitormetadataschema |
The field descriptions below define the logical fields and show their cloud-storage Avro types. Use the type mapping for common destination mappings and the ERD for your destination for exact physical types. In Databricks and BigQuery, metadata values aren't dynamic fields on the base accounts and visitors tables. They're stored in separate metadata tables.
Accounts
| Field name | Avro type | Description |
|---|---|---|
id |
STRING | Unique identifier for the account. Maximum character limit is 500. |
auto.id |
STRING | The same unique identifier as id. Included for schema normalization in Snowflake exports. Maximum character limit is 500. |
deletedAt |
LONG | Date when the object was deleted. Empty if the object hasn't been deleted. |
firstvisitMS |
LONG | The timestamp in milliseconds when an event was first captured for the account. |
idhash |
INT | The hash of the account ID. |
lastvisitMS |
LONG | The timestamp in milliseconds when an event was last recorded for the account. |
lastupdatedMS |
LONG | The timestamp in milliseconds when the account was last updated. |
value |
VARIANT | The value associated with this metadata field. Format and type vary depending on the field's definition in the metadata schema. |
<fieldname>_<APP_ID> |
Varies | If in a multi-application subscription, Pendo sends <fieldname>_<APP_ID> values for any of the above fields for which values may vary among applications. Metadata fields for which this is possible will have isPerApp set to true in the metadata schema file (see below). |
agent_<fieldname> |
Varies | For all agent metadata fields, a field will be created named agent_<fieldname> in the account avro file. See below for a mapping of Pendo metadata field types to avro types. |
<metadata_group> |
STRING | For any metadata group other than agent, we will send a JSON representation of the metadata group and all its fields. The metadata schema file will contain the name, type, and other information for each field in the metadata group. |
incompleteFields |
LIST of STRINGs | List of metadata fields with values that were incompatible with the type specified in your metadata schema. |
Visitors
| Field name | Avro type | Description |
|---|---|---|
id |
STRING | Unique identifier for the visitor. Maximum character limit is 500. |
accountids |
ARRAY | List of STRING values that are unique account IDs to which the visitor belongs. For each account, maximum character limit is 500. |
accountid |
STRING | The account ID last associated with the visitor. Maximum character limit is 500. |
deletedAt |
LONG | Date when the object was deleted. Empty if the object hasn't been deleted. |
firstvisitMS |
LONG | The timestamp in milliseconds when an event was first captured for the visitor. |
idhash |
INT | The hash of the visitor ID. |
lastbrowsername |
STRING | The most recent browser name. This value only contains uppercase (A-Z) or lowercase letters (a-z) and has a maximum length of 13 characters. |
lastbrowserversion |
STRING | The most recent browser version. Maximum character limit is 5,000. |
lastoperatingsystem |
STRING | The most recent operating system. Maximum character limit is 5,000. |
lastservername |
STRING | The most recent server name. Maximum character limit is 60,000. |
lastvisitMS |
LONG | The timestamp in milliseconds when an event was last recorded for the visitor. |
lastupdatedMS |
LONG | The timestamp in milliseconds when the visitor was last updated. |
lastuseragent |
STRING | The most recent user agent (unparsed). Maximum character limit is 512. |
lastvisitorid |
STRING | The most recent visitor ID. Maximum character limit is 500. |
identifiedvisitoratMS |
LONG | If an anonymous visitor ID has been merged with an identified visitor ID with Pendo identity mapping, this field will show the timestamp in milliseconds when the visitor was identified. |
identifiedvisitorid |
STRING | If an anonymous visitor ID has been merged with an identified visitor with Pendo identity mapping, this field will be updated with the identified visitor ID. Utilizing the identified visitor IDs allows for a unified view of user journeys. Maximum character limit is 500. |
value |
VARIANT | The value associated with this metadata field. Format and type vary depending on the field's definition in the metadata schema. |
<fieldname>_<APP_ID> |
Varies | If in a multi-application subscription, Pendo sends <fieldname>_<APP_ID> values for any of the above fields for which values may vary among applications. Metadata fields for which this is possible will have isPerApp set to true in the metadata schema file (see below). |
agent_<fieldname> |
Varies | For all agent metadata fields, a field will be created named agent_<fieldname> in the visitor avro file. See below for a mapping of Pendo metadata field types to avro types. |
<metadata_group> |
STRING | For any metadata group other than agent, we will send a JSON representation of the metadata group and all its fields. The metadata schema file will contain the name, type, and other information for each field in the metadata group. |
incompleteFields |
LIST of STRINGs | List of metadata fields with values that were incompatible with the type specified in your metadata schema. |
Databricks and BigQuery warehouse schema
Databricks and BigQuery use the same Data Sync table-and-column model. Each warehouse renders identifiers and physical type names according to its own conventions, so use the ERD for your destination when building queries or models.
The schema contains the following table groups:
-
Business-object definitions:
pages,features,tracktypes, andguides. -
Events:
allevents,matchedpageevents,matchedfeatureevents,matchedtracktypeevents, andmatchedguideevents. -
Accounts and visitors:
accounts,accountmetadata,accountmetadataschema,visitors,visitormetadata, andvisitormetadataschema. -
Guide Experiments:
guideexperiments,guideexperimentvariants, andmatchedguideexperimentassignments. These tables are currently only available in Databricks and BigQuery.
The _transfer_status table is also present in the destination schema. See the destination ERD for its fields.
Databricks and BigQuery don't enforce primary-key or foreign-key constraints on this schema. Relationships shown in the ERDs are logical joins.
For the complete physical table and field inventory, including destination-native data types, see the Databricks ERD or BigQuery ERD.
Metadata
Account and visitor metadata is represented differently by delivery method. Cloud storage embeds values in entity files and sends field definitions separately. Snowflake stores entity values and field definitions in normalized metadata tables. Databricks and BigQuery use separate normalized value and schema tables for accounts and visitors.
Cloud storage
Each export delivers two types of files:
Entity files (
accounts.avroandvisitors.avro). One row for each entity. Metadata values are embedded as dynamic columns: agent metadata group fields appear asagent_<fieldname>, while other groups (for example, custom and Salesforce) appear as a single JSON-encoded string column named after the group.Metadata schema files (
accountmetadata.avroandvisitormetadata.avro). One row for each metadata field definition. These files contain no entity IDs and no per-entity values. Use theavroFieldNamefield to map column names in the entity file back to their metadata definition.
Snowflake
Data Sync generates a Snowflake-specific internal file format that differs from the generic cloud storage metadata schema files. This format is long (normalized): one row for each entity and metadata field, including both the entity ID and the per-entity value.
The ACCOUNTMETADATA and VISITORMETADATA tables are built from this Snowflake format. They're not a direct copy of the cloud-storage accountmetadata.avro and visitormetadata.avro files.
Note: The Snowflake stored procedures ACCOUNTMETADATA_LOAD_AND_MERGE and VISITORMETADATA_LOAD_AND_MERGE reference AccountID and VisitorID because they load from this Snowflake-specific long-format file, not from accountmetadata.avro or visitormetadata.avro.
Databricks and BigQuery
Databricks and BigQuery use six tables for accounts, visitors, and their metadata:
-
accountsandvisitorscontain the base entity records. -
accountmetadataandvisitormetadatacontain per-entity metadata values. -
accountmetadataschemaandvisitormetadataschemacontain the metadata field definitions.
This model separates metadata values from schema definitions. See the ERD for your destination for the exact fields and warehouse-native types
Metadata schema fields
The following table describes the logical fields in metadata values and schema definitions and shows their cloud-storage Avro types. Fields that are specific to one delivery model are marked in their descriptions. Use the type mapping for common destination mappings and the ERD for your destination for exact physical types.
The cloud storage metadata schema files (accountmetadata.avro and visitormetadata.avro) contain field definitions only, with no entity IDs and no per-entity values. The avroFieldName column links each field definition to its corresponding column in accounts.avro or visitors.avro. The Snowflake ACCOUNTMETADATA and VISITORMETADATA tables instead include entity IDs and values directly, one row for each entity and field combination.
| Field name | Avro type | Description |
|---|---|---|
accountId or visitorId
|
n/a | Entity identifier. Snowflake only. Not present inaccountmetadata.avroorvisitormetadata.avro. |
avroFieldName |
STRING | Cloud storage only. The name of the field in the Avro entity file (accounts.avroorvisitors.avro). Use this field to map a metadata definition back to its corresponding column in the entity file. Maximum character limit is 5,002. This field doesn't exist in the SnowflakeACCOUNTMETADATAorVISITORMETADATAtables. |
name |
STRING | The name of the metadata field in Pendo. Maximum character limit is 5000. |
group |
STRING | The name of the group of the metadata field in Pendo. Maximum character limit is 5,000. This field is namedmetadataGroupin the Snowflake table. |
displayName |
STRING | The display name of the metadata field in Pendo. Maximum character limit is 5000. |
type |
STRING | The data type of the field. Options include string, int, float, boolean, time, or list. |
elementType |
STRING | The data type of each element, if type is list. Empty if not applicable. This value only contains lowercase letters (a-z) and has a maximum length of 7 characters. |
elementFormat |
STRING | The data format of the metadata field. For example, if type is time, then elementFormat may be milliseconds. Empty if not applicable. Maximum character limit is 40. |
isDeleted |
BOOLEAN | True if the field has been deleted. |
isPerApp |
BOOLEAN | True if the field can exist for each application (only possible for multi-application subscriptions). |
value |
n/a | Per-entity metadata value. Snowflake only. For cloud storage, per-entity values are stored as dynamic columns inaccounts.avroorvisitors.avro(agent group fields asagent_<fieldname>; other groups as a JSON-encoded string column named after the group). |