Sherlock Destination

Sherlock is the first engagement scoring application for SaaS businesses who want to truly understand user engagement. Build an engagement algorithm and understand the engagement of your users, accounts and segments.

This integration is maintained by Sherlock. For questions or help with your integration, contact [Sherlock support][].

Getting Started

The first step is to make sure Sherlock supports the source type and connection mode you’ve chosen to implement. You can learn more about what dictates the connection modes we support here.

Web Mobile Server
📱 Device-mode
☁️ Cloud-mode
  1. From your Segment UI’s Destinations page click on “Add Destination”.
  2. Search for “Sherock” within the Destinations Catalog and confirm the Source you’d like to connect to.
  3. Enter your Sherlock API Key in the Segment UI.
  4. Start sending data!

Data Tracking

Sherlock’s system processes data for all tracking calls with the following notes.

Page and Screen

When Sherlock receives page calls, they record a Viewed Page event. Sherlock sets a Viewed Page: Page Name property on it with the name from the page call.

Similarly when Sherlock receives a screen call, they record a Viewed Screen event with a Viewed Screen: Screen Name property.


When Sherlock receives a group call, they record all traits specified for the group. They also assign a Group ID trait to to the user indicating membership.


When they receive an alias call, they record an alias for the specified userId and previousId. Data under both names are then merged into a single record.

Nested Objects and Arrays

Sherlock’s system flattens nested property and trait values into key/value pairs. Consider an object:

  "id": 42,
  "item": {
    "name": "Hat",
    "details": {
      "color": "red",
      "size": "small"

This would be flattened into pairs with keys for each path delimited by .:

  "id": 42,
  "": "Hat",
  "item.details.color": "red",
  "item.details.size": "small"

Array values are unsupported and ignored by Sherlock’s system.


You can send computed traits and audiences generated through Segment Personas to this destination as a user property. To learn more about Personas, contact us for a demo.

For user-property destinations, an identify call will be sent to the destination for each user being added and removed. The property name will be the snake_cased version of the audience name you provide with a true/false value. For example, when a user first completes an order in the last 30 days, we will send an identify call with the property order_completed_last_30days: true, and when this user no longer satisfies we will set that value to false.

When the audience is first created an identify call is sent for every user in the audience. Subsequent syncs will only send updates for those users which were added or removed since the last sync.


Segment lets you change these destination settings from your Segment dashboard without having to touch any code.


You may find your API Key on your Sherlock Settings page.

This page was last modified: 09 Jun 2020

Get started with Segment

Segment is the easiest way to integrate your websites & mobile apps data to over 300 analytics and growth tools.
Create free account