Gainsight Destination

Destination Info
  • Server
Connection Modes
Device-mode Cloud-mode
Web Web
Mobile Mobile
Server Server

Gainsight is a customer success software that empowers companies to increase revenue, decrease customer churn, and drive advocacy. Gainsight for Analytics Cloud is the first and only solution that runs predictive data science natively using Salesforce sales, service, marketing, and community data.

Getting Started

Before you start, make sure Gainsight supports the source type and connection mode you’ve chosen to implement. You can learn more about connection modes here.

Web Mobile Server
📱 Device-mode ⬜️ ⬜️ ⬜️
☁️ Cloud-mode
  1. From the Segment web app, click Catalog.
  2. Search for Gainsight in the Catalog, select it, and choose which of your sources to connect the destination to.
  3. Copy your Gainsight Access Key and paste it into to the Access Key field in your Segment settings for Gainsight. This key can be generated from the integrations page under the admin area in Gainsight. It should be 36 characters long, for reference. If you need more information, visit the relevant documentation provided by Gainsight.
  4. Start sending events.


If you’re not familiar with the Segment Specs, take a look to understand what the Identify method does. An example call would look like this (analytics.js):

analytics.identify('123', {
  accountId: 'o283h08fh2390f923uofu23',
  name: 'Miles Morales',
  email: ''

You can map identify calls to Salesforce by including the Salesforce Account ID as accountId. Gainsight will handle the rest and collect any additional info you send in your identify calls and attribute them to the correct Account.


Important: You should only send the track events you need to Gainsight. You can whitelist the names of the events you need in your Segment UI settings for Gainsight. Once you pre-map your events, Segment only sends those events to Gainsight for you. However, if you do not map any events, Segment will by default send all your track events to Gainsight.

If you’re not familiar with the Segment Specs, take a look to understand what the Track method does. An example call would look like this (analytics.js):

analytics.track('Account Created', {
  accountId: 'o283h08fh2390f923uofu23',
  source: 'Invite',
  title: 'CEO'

Mapping your track calls to a Salesforce Account is only necessary if the user doing the event is not already identified or grouped. If the user is identified, all their events will be picked up automatically.

If they haven’t been identified, pass the Salesforce Account ID as a property like in the example above.


If you’re not familiar with the Segment Specs, take a look to understand what the Group method does. An example call would look like this (analytics.js):'555', {
  name: 'Twitter',
  url: ''

To map your group calls to a Salesforce Account, pass the Salesforce Account ID as the groupId, like what you see in the previous example.


You can send computed traits and audiences generated using Engage to this destination as a user property. To learn more about Engage, schedule a demo.

For user-property destinations, an identify call is sent to the destination for each user being added and removed. The property name is the snake_cased version of the audience name, with a true/false value to indicate membership. For example, when a user first completes an order in the last 30 days, Engage sends an Identify call with the property order_completed_last_30days: true. When the user no longer satisfies this condition (for example, it’s been more than 30 days since their last order), Engage sets that value to false.

When you first create an audience, Engage sends an Identify call for every user in that audience. Later audience syncs only send updates for users whose membership has changed since the last sync.

Real-time to batch destination sync frequency

Real-time audience syncs to Gainsight may take six or more hours for the initial sync to complete. Upon completion, a sync frequency of two to three hours is expected.


Segment lets you change these destination settings from the Segment app without having to touch any code.

Setting Description
Access Key
string. It should be 36 characters long, and look something like this: 35a84f9e-7084-47a1-b8a5-593444e9e862.
Whitelist Track Events
mixed, defaults to .

Whitelist Segment .track() events you’d like to send to Gainsight. By default, if you do not whitelist any events, we will send all .track() events. If you do whitelist any events, we will only send those events through. Put the name of your .track() events here, ie. ‘Order Completed’

This page was last modified: 18 Sep 2022

Get started with Segment

Segment is the easiest way to integrate your websites & mobile apps data to over 300 analytics and growth tools.
Create free account