- First you define how Segment users and events map to SuprSend
- Then you connect Segment to SuprSend as a webhook destination. Once live, your
identifyandtrackcalls flow through automatically. (Click any step below to jump to its section.)
Connector setup on SuprSend
On SuprSend dashboard, Navigate to Connectors tab and Select Segment and enable it.
1. Event mapping
By default, events sync to SuprSend exactly as they are named in your Segmenttrack call — the event name is passed through unchanged. You don’t need to configure anything here for events to flow through.
Adding a prefix is an optional setting (off by default). Turn it on only if you send the same event to SuprSend from more than one source — for example, from both the SuprSend SDK and Segment — and want to tell them apart. When enabled, SuprSend prepends segment : to every event name coming from Segment.
For example, given this Segment track call:
event_name changes — the properties are synced as-is either way:
2. User mapping
Users are synced to SuprSend from your Segment identify calls. Every identify call must include auserId — it is mandatory. Segment’s userId maps to the user’s distinct_id in SuprSend and is what ties the profile (and its events) together, so calls without a userId can’t be attributed to a user (see Handling anonymous users).
All properties inside traits are synced as user properties. For example, this Segment identify call:
$locale, $timezone, or channel values ($email, $sms, $whatsapp, …) — you map the corresponding Segment trait explicitly in the connector form fields:
- User preference mapping — map traits to reserved profile fields such as Locale (
$locale) and Timezone ($timezone). For example, mapping thelanguagetrait to Locale means the value inlanguage(hiabove) becomes the user’s preferred language. - User channel mapping — map each SuprSend channel to the Segment trait that carries its value. Channels are not mapped automatically; you must define each one here for it to work. Use the channel keys below:

Setting up data sync from Segment to SuprSend
You’ll have to configure SuprSend as a destination in Segment.Use webhooks destination to connect with SuprSendSince, we are in beta and we don’t have a first-party integration with Segment yet, you can use webhooks in Segment destination list to connect with SuprSend.
Add SuprSend as destination in your segment account
- Login to your Segment account. Select Connections-> Destinations from the side navigation menu and click on “Add Destination”

Search for webhook
This will open destinations catalog. Search for webhook and select “Webhooks (Actions)”

Pick Data Source
Select the data source from which you are syncing your user and event data and click on “Next”
Add Destination Name
On the setup screen, add Destination name. Destination name can be “SuprSend {workspace}”. For example- For staging workspace, the destination name can be “SuprSend Staging”. Choose “Fill in settings manually” and click on “Create destination”.

Create a New Mapping
Now, on your webhook destination page, go to Mappings tab and create a +New Mapping.

Add below mapping in the send request:
-
Select any of event type- track and identify

-
In Add test event, select Load Test Event from Source

- In Select Mappings, add below details:
URL: https://hub.suprsend.com/connector/segment/
Method:POSTAuthorizationin headers:Bearer _api_key_(Please make sure to replace “api_key” with actual api key from segment connector settings page.)

Sending Test Event
Now, send a test event of type 
Once your SuprSend connection is successful, try sending a test
track or identify. You’ll see status 200 OK response and the corresponding event on SuprSend dashboard -> API logs page.
identify call and see if the user channels are mapped correctly in SuprSend. You can see the synced user on SuprSend dashboard -> Subscribers page. Also, send a test track event call and check if the workflows are getting triggered.Handling anonymous users
SuprSend’s Segment integration requires auserId on every event. Segment’s userId is what maps to the user’s distinct_id in SuprSend, so events that carry only an anonymousId (anonymous identify, track, or page calls) can’t be attributed to a user and aren’t supported.
The cleanest way to handle this is to stop anonymous events at Segment so they never reach SuprSend. There are two ways to do this, depending on your Segment plan.
Option 1: Add a trigger condition on the mapping (recommended, all plans) This tells Segment to fire the SuprSend mapping only when a
userId is present, so anonymous events are skipped before they’re sent.
Open your SuprSend mapping
In Segment, go to Connections → Destinations and select your SuprSend (Webhooks) destination. Open the Mappings tab and edit the mapping you created during setup.
Add a userId condition to the trigger
In the Select events to map and send step (the event trigger), add a condition alongside your existing event-type condition:
Field:Your trigger should now read like: Event Type isuserId
Condition:exists
track or identify and userId exists. Segment will only forward events that match, so anonymous (anonymousId-only) calls are dropped.Test the condition
Use Load Test Event from Source (or paste a sample) to confirm the condition matches the events you expect. Test with both an identified event and an anonymous one to verify the anonymous event no longer matches.
userId across all mappings on the SuprSend destination. This option is available only on Segment Business Tier workspaces.
Open the Filters tab
Go to Connections → Destinations, select your SuprSend destination, and open the Filters tab. Click + New Filter.
Configure the rule
Set the filter to drop events that have no
userId:Condition:A missinguserIdis null
Action: Drop the event
userId, as on an anonymous call, evaluates as null and is dropped.Test with a sample event
Click Load Sample Event and paste an anonymous
identify payload to confirm it gets filtered out:length( userId ) < 1 is slightly more robust than the UI’s is null because it also drops events where userId is an empty string:
400 Bad Request and an error message indicating that a userId is required. Segment records this as a discarded event and does not retry it, so a missing userId won’t cause repeated failed deliveries. Filtering at the source (Option 1 or 2) is still recommended, as it keeps these events out of your delivery metrics entirely.



