Articles on: Integrations

How to Connect Segment.com with Crisp

Learn how to connect Segment to Crisp so Segment identify calls can create and update Crisp contacts.


The Segment integration lets Crisp receive contact data from Segment. Crisp acts as a destination, which means data sent from your Segment sources can create or enrich contacts in Crisp.


The Segment integration is available from the Crisp Essentials plan.



Connect Segment to Crisp


  1. Go to Crisp.
  2. Open Plugins → Segment.


Open the Segment plugin in Crisp


  1. Click Connect to Segment.
  2. In Segment, select the workspace and source to connect.
  3. Click Allow.


Authorize Crisp in Segment


Crisp can now receive contact data from Segment.



Create a Crisp contact with Segment Identify


To create or update a Crisp contact through Segment, use the Identify method. The email trait is required to create a Crisp contact.


analytics.identify('userId123', {
name: 'John Doe',
email: 'john.doe@segment.com',
phone: '012346789',
avatar: 'https://pbs.twimg.com/profile_images/834424630630817795/TfyS4uXb_400x400.jpg'
});


When Segment sends the identify call, Crisp uses the supported traits, such as name, email, avatar, and phone, to update the contact.


Segment contact created in Crisp


The email trait is mandatory when creating a Crisp contact from Segment.



Track events with Segment


Segment event tracking to Crisp is currently disabled. Use the Crisp Web SDK to push user data and events instead.


A Segment track call can look like this, but events are not currently available through the Segment integration:


analytics.track('Completed Purchase', {
revenue: 42.99,
shippingMethod: '2-day',
category: 'Conversion'
});


Segment event example in Crisp



Identify conversations on the frontend


Segment identifies contacts and events, but conversations happen on the frontend. To attach the Segment identity to the Crisp chatbox session, listen to Segment identify calls and pass the user data to $crisp.


analytics.on("identify", function(event, properties, options) {
if (properties.email) {
$crisp.push(["set", "user:email", properties.email]);
}

if (properties.name) {
$crisp.push(["set", "user:nickname", properties.name]);
}
});


Updated on: 03/05/2026

Was this article helpful?

Share your feedback

Cancel

Thank you!