Sherlock Destination

Destination Info

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

  1. From the Segment web app, click Catalog.
  2. Search for “Sherock” in the Catalog, select it, and choose which of your sources to connect the destination 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 using Engage to this destination as a user property. To learn more about Engage, schedule a demo.

For user-property destinations, an identify call is sent to the destination for each user being added and removed. The property name is the snake_cased version of the audience name, with a true/false value to indicate membership. For example, when a user first completes an order in the last 30 days, Engage sends an Identify call with the property order_completed_last_30days: true. When the user no longer satisfies this condition (for example, it’s been more than 30 days since their last order), Engage sets that value to false.

When you first create an audience, Engage sends an Identify call for every user in that audience. Later audience syncs only send updates for users whose membership has changed since the last sync.

Real-time to batch destination sync frequency

Real-time audience syncs to Sherlock may take six or more hours for the initial sync to complete. Upon completion, a sync frequency of two to three hours is expected.


Segment lets you change these destination settings from the Segment app without having to touch any code.

Setting Description
string. You may find your API Key on your Sherlock Settings page.

This page was last modified: 08 Mar 2022

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