Zendesk Connect Destination

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

Getting Started

When you toggle on Connect in Segment, this is what happens:

  • Our CDN is updated within 5-10 minutes. Then our snippet will start sending all your analytics data to Segment’s servers, where we’ll send the data onwards to Connect.
  • Your Connect real-time feed will start showing visitor data.

If you plan on having both a production and development environment, you will want enter your Connect API keys into the corresponding Segment sources.

Connect is supported on the client-side, server-side and on mobile.


Connect needs to identify users and their data to track who we should message. Segment will pass your UserID and any traits that you store on that user to Connect. (Note: Segment refers to user data as “traits”; Connect refers to user data as “attributes”.)

      userId: '019mr8mf4r',
      traits: {
        name: 'Michael Bolton',
        email: 'mbolton@initech.com',
        phone: '1234567890',
      context: {
        device: {
          type: "ios",
          token: 'XXXYYYZZZ'

Segment traits correspond to specific top level attributes within Connect. These attributes are used to send and customize messages on various channels:

  • name maps to Connect’s first_name and last_name attributes recommended for targeted copy.
  • email maps to Connect’s email attribute required for email campaigns
  • phone maps to Connect’s phone_number attribute for sms & voice campaigns
  • context.device.token maps to Connect’s apns or fcm attribute for iOS and Android Push.
  • timezone maps to Connect’s timezone attribut recommended to use Connect’s time of day message delivery feature (note - Connect only accepts Olson name values) These are automatically collected if you’re using Segment’s mobile SDKs


Connect allows aliasing, which enables you to join an anonymous pre-signup ID with a post-signup userID. When you send an identify call that has an anonymous user, that user will be created using the anonymous id you supply in the identify call. Later, when you want to update this anonymous user’s id to their actual id, you can do so by using Segment’s alias method. The following is an example alias call from Segment’s Analytics.js library:



Events and their properties are used to trigger and customize message campaigns within Connect:

    analytics.track('Signed Up', {
      plan: 'Startup',
      source: 'Analytics Academy'

Connect’s campaign filters allow you to target specific segments of users based on events, event properties, and attributes. Having specific events and attributes allow you to better target your audiences with custom messaging:

Campaign Filters

Once a user is sent a message, you will often want to measure whether or not they reach a specific goal. Events are used to calculate if users reach these goals:

Campaign Goals


Test your Destination within Connect

Connect shows all received events on the Connect Settings > Events page. Searching for your Segment events will show if it has been received in the last 24 hours and how many times.

Events in the UI

If your Segment events do not appear, they have not yet been received by Connect.

Build your First Campaign

Now that everything is hooked up, you can start messaging your users! Check out the following guides at Connect:

  1. Getting started with Connect
  2. Understanding events in Connect
  3. Create a trigger based campaign


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.

Supported Sources and Connection Modes

📱 Device-based
☁️ Cloud-based

To learn more about about Connection Modes and what dictates which we support, see here.


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

Private Key

You can find your Private Key on the Connect Settings > Environments page. It should be 32 characters long, and look something like this: f4f15f2f004fa0bd2140b4db93cbb538.

Public Key

You can find your Public Key on the Connect Settings > Environments page.

Questions? Need help? Contact us!
Can we improve this doc?
Email us: docs-feedback@segment.com!