Segment Smartlook integration

Our Segment integration allows Segment users to deploy Smartlook snippet & enable advanced data collection with ease.

All users have to do is choose the integration from the Segment Catalog and input the Smartlook project key. This integration will allow users to send all Segment predefined custom events and user identification data directly to Smartlook.

In practice, this enables users to visualize and evaluate specific events they collect within Segment.

For example, why users are idling on that cart screen and not converting. With Smartlook and Segment, you’ll be able to get instant answers to all your user behavior questions. It is that easy.

How to enable this integration

  1. Find Smartlook in the Destination Catalog in Segment.

  1. Copy your project key from the project settings in your Smartlook account.

  2. Set up Smartlook destination on your Source (website) by inputting project key for your project into the Smartlook destination settings and toggle it ON.

  3. Turn on the Identify via API setting in the project settings - this needs to be enabled for custom events and user identification data to reach Smartlook.

  4. Review the documentation on Segment’s side for steps on how to use the track & identify methods.

  5. Once this is set up and Smartlook tracking code is running on your website, you will start receiving recordings into your Smartlook account and events sent to Smartlook will appear in the Events menu. If you are using user identification, sessions will be identified according to your set-up.


If you use Segment's event validation and receive the following error: "There was a problem sending an event to this destination.", do not be alarmed. The 'Event Tester' mimics events sent in cloud-mode, where Segment's servers relay events to downstream tool endpoints. It does not mimic device-mode connections, where the event is sent by the partner's SDK on the client. Since the Smartlook integration only operates in device-mode, the event tester doesn't know how to map and send events downstream, so it gives a generic error message, unfortunately. This does not reflect the state of integration.