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.
Bold objects types
|Sync Type||Description||Supported Sync Modes||API Reference|
|Track (Generic) events||Sends events of different names when a record is added, changed, or removed in the query results||Insert||Track specs|
|Track (Segment Entered / Exited) events||Sends the event "Segment Entered" when a record is added and "Segment Existed" when a record is removed||Insert||Track specs|
|Identify events||Sends an identify event with related properties of the user||Insert||Identify specs|
|Group events||Sends a group event to associate a user to a group||Insert||Group specs|
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:
- Create a new HTTP API source in Segment using these instructions.
- Navigate to Source Settings > API Keys and copy the Write Key.
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.
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.
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
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.
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.
Hightouch can alert you of sync issues via Slack, PagerDuty, SMS, or email. For details, please visit our article on alerting.