Data Sync schema definitions

Last updated:

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.

Feature/{ID}

Page/{ID}

TrackType/{ID}

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

eventId in Data Sync is an identifier for a raw event created by Pendo by hashing multiple fields of the event. eventId is not a reliable unique identifier across all event data for two reasons:

  1. Uniqueness of eventId is only maintained within a particular hour.
  2. Pages and features may have overlapping tag rules such that a single eventId could appear multiple times.

A unique key for Pendo Data Sync data can be created by combining eventId + matchableId + browserTimestamp.

eventId is a 64-character hexadecimal string (a–f, 0–9) and is created as a hash of: visitor ID, event type, url, element path, original browser timestamp, tab id, device id, guide id or poll title (if applicable).

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: change, visitor has changed an element in the app; click, visitor has clicked on an element in the app; focus, visitor has focused on an element in the app; group, event in response to the group call with a Twilio Segment integration; guideActivity, visitor has interacted with a Pendo guide; guideDismissed, visitor has dismissed a Pendo guide; guideSeen, visitor has seen a Pendo guide; identify, the app identified the visitor or account identity; load, a page was loaded; meta, the app sent visitor and account metadata; pollResponse, visitor submitted a Pendo poll; track, a Track Event was sent.

Mobile events also include:

  • unload. The visitor left the screen.
  • AppInForeground. The visitor returned to the app.
  • AppInBackground. The visitor moved the app to the background without closing it.
  • AppSessionStart. The start of a session, when guides for the current session are launched.
  • AppSessionEnd. The session ended, either because endSession() was called or because the app was in the background for an extended period.

Other mobile event types, such as AppButtonClicked and AppScreenViewed, can also appear.

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:

  • numRageClicks (number): Count of rapid successive clicks indicating frustration.
  • numDeadClicks (number): Count of clicks that produced no response.
  • numErrorClicks (number): Count of clicks that triggered an error.
  • frustrationTypes (array of strings): Labels for frustration types present on this event (for example, rageClick, deadClick, errorClick).
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:

  • guideStepId (STRING)
  • name (STRING)
  • pageId (STRING)
  • appReplayUrl (STRING)
  • elements (STRING)
  • pollIds (ARRAY of STRING values)
polls RECORD

Poll questions containing the following values:

  • pollId (STRING)
  • question (STRING)
  • numericResponses (ARRAY of INT values)
  • idResponses (MAP of STRING values)
  • resetAt (LONG, epoch timestamp in milliseconds)
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, and guides.
  • Events: allevents, matchedpageevents, matchedfeatureevents, matchedtracktypeevents, and matchedguideevents.
  • Accounts and visitors: accounts, accountmetadata, accountmetadataschema, visitors, visitormetadata, and visitormetadataschema.
  • Guide Experiments: guideexperiments, guideexperimentvariants, and matchedguideexperimentassignments. 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.avro and visitors.avro). One row for each entity. Metadata values are embedded as dynamic columns: agent metadata group fields appear as agent_<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.avro and visitormetadata.avro). One row for each metadata field definition. These files contain no entity IDs and no per-entity values. Use the avroFieldName field 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:

  • accounts and visitors contain the base entity records.
  • accountmetadata and visitormetadata contain per-entity metadata values.
  • accountmetadataschema and visitormetadataschema contain 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).
Was this article helpful?
3 out of 5 found this helpful