Gainsight PX AWS S3 Integration
This article explains how to integrate AWS S3 with Gainsight PX to export usage data.
Overview
When you configure a connection to your S3 bucket, Gainsight PX periodically exports user, account, and event data rollups to the S3 bucket in the format (JSON, XML or CSV) you choose. For more information about S3, refer to the Amazon S3 site.
Following are the advantages of integrating Gainsight PX with S3:
- Store usage data for further processing by other services such as security logs and for future reference
- Integrate with data warehouse platforms
- Run machine-learning algorithms
Prerequisites
Ensure the following are configured to integrate PX with S3:
- AWS S3 bucket with valid credentials and write permission to the bucket
- Time zone as per your location. PX exports data to your S3 bucket every few hours in a day. For example, to create daily rollups for user events, PX sums up all events for the day based on your time zone. To set your Time Zone, navigate to Administration > Company Details > Time Zone.
Integrate S3 Export
To establish connection between Gainsight PX and S3 bucket:
- Log in to Gainsight PX.
- Navigate to Administration > Integrations.
- Click the Settings icon or Authorize button on the Amazon S3 Export widget in the Data Integrations section. AWS S3 Settings dialog appears.
-
In the Properties section, enter the following details to access your S3 Bucket:
- S3 Bucket Name: Bucket name and any optional sub-folder(s) separated by slashes. This is the name of the bucket that was created in S3. For Example, to export files to a bucket ABC123 with a folder “export” use ABC123/export.
- AWS Access Key and AWS Security Token credentials of your S3 bucket. Ensure you enter valid credentials to establish an S3 integration.
- Choose data type from the Export Format drop-down list
- CSV
- JSON
- XML
- Choose the Export Version of the file.
- 1.0
- 2.0 (Latest)
Note: Gainsight supports two versions of export; 1.0 and 2.0. Version 2.0 is the latest and supports environment variables and is the recommended export method. List of files, fields, and groups differ for both the versions.
- In the Exported Files section, select the files you want to export to the AWS S3 bucket.
- Click Apply. The system displays the message “Amazon S3 details successfully Saved”.
- If the credentials of your S3 bucket are valid, the status of integration changes to Authorized. Also, the Synchronize button is displayed. PX exports the data every day based on your time zone and includes data for the previous day. For more information on how to configure your time zone, refer to the Prerequisites section.
- Click on the Synchronize button to understand the schedule for next sync.
- Click the Disable Integration icon to disable PX integration with S3.
Export Files Definition 2.0
The list of fields and New Group by options available in Version 2.0 are as follows:
Filename | New Fields | Additions to Rollup GroupBy |
---|---|---|
GainsightPX_Account_Custom_Event_Rollups | productKey, environment | productKey, environment |
GainsightPX_Account_Email_Engagement_Rollups | productKey, environment | productKey, environment |
GainsightPX_Account_Event_Rollups | productKey, environment | productKey, environment |
GainsightPX_Account_Feature_Match_Rollups | productKey, environment | productKey, environment |
GainsightPX_Account_InApp_Event_Rollups | productKey, environment | productKey, environment |
GainsightPX_Feedback_Responses | environment | environment |
GainsightPX_Survey_Responses | environment, contactMeAllowed | environment |
GainsightPX_User_Custom_Event_Rollups | environment | environment |
GainsightPX_User_Engagement_Rollups | environment | environment |
GainsightPX_User_Event_Rollups | environment | environment |
GainsightPX_User_Feature_Rollups | environment | environment |
Export Files Definition 1.0
Below are definitions of the output files, including field names and types. Once you receive the data from S3 bucket, use the information below to help you write and process the data. The files are compressed using gzip.
Filename Structure:
The filenames are of the form:
GainsightPX_{ExtractType}_{ISODateTime}.{json|csv|xml}.gz
Below tables give an overview about each export at its summary level.
Export Type: Account Exports
Export | Summary |
---|---|
Accounts | Account attributes |
Account_Custom_Event_Rollups | Daily counts of custom events, grouped by day, account, event |
Account_Email_Engagement_Rollups | Daily counts of email engagements, grouped by day, account, engagement, eventType |
Account_Event_Rollups | Daily counts of FORM_SUBMIT, PAGE_VIEW, SEGMENT, SESSION_INITIALIZED events grouped by day, account, eventType |
Account_Feature_Match_Rollups | Daily counts of feature matches, grouped by day, account, feature |
Account_InApp_Event_Rollups | Daily counts of In-App engagements, grouped by day, account, engagement, eventType |
Export Type: User Exports
Export | Summary |
---|---|
User_Custom_Event_Rollups | Daily counts of custom events grouped by day,user,productKey, account, event |
User_Engagement_Rollups | Daily counts of In-App engagements grouped by day, user, propertyKey, account, engagement, eventType |
User_Event_Rollups | Daily counts of FORM_SUBMIT, PAGE_VIEW, SEGMENT, SESSION_INITIALIZED events grouped by day, user, productKey, account, eventType |
User_Feature_Rollups | Daily counts of feature matches grouped by day, user, propertyKey, account, feature |
Users | User attributes |
Export Type: Survey/Feedback Exports
Export | Summary |
---|---|
Survey_Responses | Surveys Response events |
Feedback_Responses | Feedback events |
Export Type: Metadata Exports
Export | Summary |
---|---|
Engagements | Engagement attributes |
Features | Feature attributes |
Export File Column Definitions
Name: GainsightPX_Accounts
Content: Account attributes
Field Name | Field Type |
---|---|
id | String |
name | String |
lastModifiedDate | String |
createDate | String |
plan | String |
numberOfEmployees | Long |
isDeleted | Boolean |
naicsCode | String |
trackedSubscriptionId | String |
sfdcId | String |
lastSeenDate | String |
industry | String |
dunsNumber | String |
sicCode | String |
website | String |
totalUsers | Long |
dailyActiveUsers | Long |
monthlyActiveUsers | Long |
location_* | Location (See Below) |
customAttribute_{customAttributeApiName} | type varies |
Name: GainsightPX_Account_Custom_Event_Rollups
Content: Account Custom Event Rollup attributes
Field Name | Field Type |
---|---|
date | String |
accountId | String |
eventName | String |
count | Long |
Name: GainsightPX_Account_Email_Engagement_Rollups
Content: Account Email Engagement Rollup attributes
Field Name | Field Type |
---|---|
date | String |
accountId | String |
engagementId | String |
engagementName | String |
type | String |
count | Long |
Name: GainsightPX_Account_Event_Rollups
Content: Account Event Rollup attributes
Field Name | Field Type |
---|---|
date | String |
accountId | String |
type | String |
count | Long |
Name: GainsightPX_Account_Feature_Match_Rollups
Content: Account Feature Match Rollup attributes
Field Name | Field Type |
---|---|
date | String |
accountId | String |
featureId | String |
count | Long |
featureName | String |
featurePath | String |
Name: GainsightPX_Account_InApp_Event_Rollups
Content: Account InApp Event Rollup attributes
Field Name | Field Type |
---|---|
date | String |
accountId | String |
engagementId | String |
engagementName | String |
type | String |
count | Long |
Name: GainsightPX_User_Custom_Event_Rollups
Content: User Custom Event Rollup attributes
Field Name | Field Type |
---|---|
date | String |
identifyId | String |
productKey | String |
accountId | String |
eventName | String |
count | Long |
Name: GainsightPX_User_Engagement_Rollups
Content: User Engagement Rollup attributes
Field Name | Field Type |
---|---|
date | String |
identifyId | String |
productKey | String |
accountId | String |
engagementId | String |
engagementName | String |
type | String |
count | Long |
Name: GainsightPX_User_Event_Rollups
Content: User Event Rollup attributes
Field Name | Field Type |
---|---|
date | String |
identifyId | String |
accountId | productKey |
productKey | String |
type | String |
count | Long |
Name: GainsightPX_User_Feature_Rollups
Content: User Feature Rollup attributes
Field Name | Field Type |
---|---|
date | String |
identifyId | String |
accountId | String |
productKey | String |
featureId | String |
count | Long |
featureName | String |
featurePath | String |
Name: GainsightPX_Users
Content: User attributes
Field Name | Field Type |
---|---|
aptrinsicId | String |
String | |
identifyId | String |
accountId | String |
firstName | String |
lastName | String |
lastInferredDataSyncDate | String |
webAppVisits | Long |
globalUnsubscribe | Boolean |
signUpDate | String |
leadId | String |
leadDate | String |
createDate | String |
trackedUserRole | String |
type | String |
lastModifiedDate | String |
numberOfVisits | Long |
gender | String |
isDeleted | Boolean |
lastSeenDate | String |
score | Long |
phone | String |
firstVisitDate | String |
title | String |
sfdcContactId | String |
location_* | Location (See Below) |
lastInferredOrganization_name | String |
lastInferredOrganization_numberOfEmployees | String |
lastInferredOrganization_revenue | String |
lastInferredOrganization_industry | String |
lastInferredOrganization_sicCode | String |
lastInferredOrganization_duns | String |
lastInferredOrganization_naicsCode | String |
lastInferredOrganization_webDomain | String |
lastInferredOrganization_orbNum | String |
lastInferredOrganization_parentOrbNum | String |
lastInferredOrganization_location_* | Location (See Below) |
lastInferredLocation_* | Location (See Below) |
lastUserAgentData_rawUserAgent | String |
lastUserAgentData_device | String |
lastUserAgentData_platformType | String |
astUserAgentData_platformVersion | String |
lastUserAgentData_browserType | String |
lastUserAgentData_browserVersion | String |
ustomAttribute_{customAttributeApiName} | type varies |
Name: GainsightPX_Survey_Responses
Content: Survey Response attributes
Field Name | Field Type |
---|---|
date | String |
identifyId | String |
productKey | String |
accountId | String |
engagementId | String |
score | Int |
comment | String |
type | String |
Name: GainsightPX_Feedback_Responses
Content: Feedback Response attributes
Field Name | Field Type |
---|---|
date | String |
identifyId | String |
productKey | String |
accountId | String |
subject | String |
category | String |
description | String |
labels | String |
Name: GainsightPX_Engagements
Content: Engagement attributes
Field Name | Field Type |
---|---|
id | String |
name | String |
type | String |
Name: GainsightPX_Features
Content: Feature attributes
Field Name | Field Type |
---|---|
id | String |
name | String |
type | String |
parentFeatureId | String |
propertyKey | String |
status | String |
Name: Location
Content: Location fields
Field Name | Field Type |
---|---|
countryCode | String |
countryName | String |
stateCode | String |
stateName | String |
cityName | String |
continentCode | String |
postalCode | String |
regionName | String |
timeZone | String |
street | String |
Name: User_Engagement_View_State_Rollups
Content: User Engagement View State Rollup attributes
Field Name | Field Type |
---|---|
date | String |
identifyId | String |
productKey | String |
accountId | String |
environment | String |
engagementId | String |
engagementName | String |
viewState | String (VIEWED or COMPLETED) |
count | Long |
Name: GainsightPX_User_Email_Engagement_Rollups
Content: User Email Engagement Rollup attributes
Field Name | Field Type |
---|---|
date | String |
identifyId | String |
accountId | String |
productKey | String |
environment | String |
engagementId | String |
engagementName | String |
type |
String Possible values:
|
count | Long |