Search documentation...

ChangelogBook a demoSign up


Sync rich customer data from your data warehouse to hundreds of SaaS tools via Segment's large integration library


Besides the ability to track first-party customer data, Segment offers robust integrations with the most popular SaaS tools. With our Segment integration, you can automatically sync enriched customer data from your data warehouse with Segment to send this data to downstream tools that Hightouch doesn't already integrate with.

Supported syncing

Sync TypeDescriptionSupported Sync ModesAPI Reference
Track (Generic) eventsSends events of different names when a record is added, changed, or removed in the query resultsInsertTrack specs
Track (Segment Entered / Exited) eventsSends the event "Segment Entered" when a record is added and "Segment Existed" when a record is removedInsertTrack specs
Identify eventsSends an identify event with related properties of the userInsertIdentify specs
Group eventsSends a group event to associate a user to a groupInsertGroup specs
To ensure syncs send each event, your event model must use a truly unique primary key. See the events syncs documentation for more information.

For more information about sync modes, refer to the sync modes docs.

Connect to Segment

Go to the Destinations overview page and click the Add destination button. Select Segment and click Continue. You can then authenticate Hightouch to Segment using a Segment Write Key.

To retrieve the write key for your Segment destination in Hightouch:

  1. Create a new HTTP API source in Segment using these instructions.
  2. Navigate to Source Settings > API Keys and copy the Write Key.

Write Key in Segment UI

Sync configuration

Once you've set up your Segment destination and have a model to pull data from, you can set up your sync configuration to begin syncing data. Go to the Syncs overview page and click the Add sync button to begin. Then, select the relevant model and the Segment destination you want to sync to.

User and anonymous IDs

You need to include send either the user or anonymous ID to Segment to identify the user associated with the event.

Field mapping

You can sync columns from your source into user (identify) or event (track) properties.

Sending initial results (Track events only)

For the two track event types, Hightouch lets you choose whether to:

  • Send the initial set of results as track events as Entered / Added events
  • Or, only send the changes between the results in the subsequent syncs as track events

Checking the Send events for initial result set checkbox results in a large amount of events being sent in the first sync.

Hightouch always send the initial results set when sending Identify and Group events.

Event names and timestamps (Generic track events only)

For the generic track mode, there are further settings that are needed to determine which event name Hightouch sends to Segment for each added, changed, and removed record.

Setting event names in the Hightouch UI

In the preceding screenshot, Hightouch sends Segment:

  • A "User Signed Up" event when a record is added to the query results
  • A "User Changed Subscription" event when a record is changed in the query results
  • A "User Deleted Account" event when a record is removed in the query results

Hightouch allows you to send a timestamp that the event occurred for generic track events. This is useful for backfilling historical events.

Hightouch also lets you to send a message ID for each record to ensure that the event is deduplicated within Segment in the case that the same event erroneously gets sent twice.

Tips and troubleshooting

Common errors

If you encounter an error or question not listed below and need assistance, don't hesitate to . We're here to help.

Large payload issues

Segment returns a 400 Bad Request error if your batch payload exceeds the limitations. You can find more information in Segment's documentation. Adjust your batch configuration accordingly.

Live debugger

Hightouch provides complete visibility into the API calls made during each of your sync runs. We recommend reading our article on debugging tips and tricks to learn more.

Sync alerts

Hightouch can alert you of sync issues via Slack, PagerDuty, SMS, or email. For details, please visit our article on alerting.

Ready to get started?

Jump right in or a book a demo. Your first destination is always free.

Book a demoSign upBook a demo

Need help?

Our team is relentlessly focused on your success. Don't hesitate to reach out!

Feature requests?

We'd love to hear your suggestions for integrations and other features.

Last updated: Aug 28, 2023

On this page

OverviewSupported syncingConnect to SegmentSync configurationUser and anonymous IDsField mappingSending initial results (Track events only)Event names and timestamps (Generic track events only)Tips and troubleshootingCommon errorsLive debuggerSync alerts

Was this page helpful?