Segment makes it easy to send your data to (and lots of other destinations). Once you've tracked your data through our open source libraries we'll translate and route your data to in the format they understand. Learn more about how to use with Segment.

Getting Started

Once the Segment library is integrated with your service, add your Promoter API Key and toggle on Promoter in your Segment destinations page. You can find your API key in under Accounts Settings > Segment Destination.

Promoter supports the identify and track methods from Segment and will allow you to:

  • Add a contact to a list
  • Send a survey to a contact

Both identify and track will need to be called in order to utilize the full power of Promoter.


By calling identify, you will effectively be creating a new contact for your organization.

Within the identify event, Promoter requires a userId and email, while firstName and lastName are optional. However, it is encouraged that you pass in as many attributes that are meaningful to your organization around the context of NPS. You will be able to filter your score by every single attribute or combination of attributes provided.

Here’s an example:


By creating a track event you will effectively trigger a survey to be sent to your contact.

The track event should have an associated userId sent with it. That userId needs to match the userId sent with the identify event. This is the only way we know which contact you would like to associate this event to. We will send a survey to that contact using the campaign that’s associated to Segment within Promoter.

Note: if you are using our client-side javascript library (Analytics.js) and already called identify we will automatically include the userId with every track call.

Here’s an example:

Completed Order

When you track an event with the name Order Completed using the e-commerce tracking API, we will send the event and data to Promoter as a custom event with the data stored with Promoter for future use.


You can send computed traits and audiences generated through Segment Personas to this destination as a user property. To learn more about Personas, reach out for a demo.

For user-property destinations, an identify call will be sent to the destination for each user being added and removed. The property name will be the snake_cased version of the audience name you provide with a true/false value. For example, when a user first completes an order in the last 30 days, we will send an identify call with the property order_completed_last_30days: true, and when this user no longer satisfies we will set that value to false.

When the audience is first created an identify call is sent for every user in the audience. Subsequent syncs will only send updates for those users which were added or removed since the last sync.


Segment lets you change these destination settings via your Segment dashboard without having to touch any code.


You can find your API key in under your accounts settings > Segment Integration

Adding to the integrations object

To add to the integrations JSON object (for example, to filter data from a specific source), use one of the 1 valid names for this integration:

  • Questions? Need help? Contact us!
    Can we improve this doc?
    Email us:!