---
"@context": https://schema.org
"@type": TechArticle
"@id": https://www.twilio.com/docs/segment/connections/destinations/catalog/cliff#article
headline: Cliff Destination
description: Connect Segment to Cliff.ai to monitor metrics in real time and detect anomalies. Send Track, Page, Screen, Identify, and Group events for automated alerting.
url: https://www.twilio.com/docs/segment/connections/destinations/catalog/cliff
inLanguage: en
dateModified: 2026-07-15T17:40:17.000Z
author:
  "@type": Organization
  name: Twilio Developer Education Team
publisher:
  "@type": Organization
  name: Twilio
---

# Cliff Destination

## Destination Info

* Accepts [Page](/docs/segment/connections/spec/page), [Group](/docs/segment/connections/spec/group), [Identify](/docs/segment/connections/spec/identify), [Track](/docs/segment/connections/spec/track) calls.
* Refer to it as **Cliff** in the [Integrations object.](/docs/segment/guides/filtering-data/#filtering-with-the-integrations-object)
* This integration is **partner owned.** Please reach out to the partner's support for any issues.

[Cliff](https://cliff.ai/?utm_source=segmentio\&utm_medium=docs\&utm_campaign=partners) monitors all your metrics in real time, detects unexpected changes (such as a sudden spike or dip), and notifies you immediately. It also shows you the root cause behind the unexpected change.

This destination is maintained by Cliff.ai. For any issues with the destination, [contact the Cliff Support team](mailto:support@cliff.ai).

## Getting started

To connect Segment to Cliff, follow these steps:

1. Go to the [Cliff Integrations library](https://app.cliff.ai/apps/anomaly-detection/integrations/inbound).
2. Find "Segment" in the list of available integrations and click **Start**.
3. Name your integration and click **Authorise Segment**.
4. Select your Workspace and Source and click **Allow**.
5. [Create a Data Stream on Cliff](https://app.cliff.ai/apps/anomaly-detection/data-streams/create-streams). Choose which Segment events and dimensions to start monitoring. Enter the name of the event and click the blue **+** button. Repeat to add dimensions. Click **Continue**.

   ![Cliff data stream configuration page with event name, dimensions, and aggregation toggle.](https://docs-resources.prod.twilio.com/1d8cd305886a7d65cbcfd1725d0f0cc381b0133bbfcfe4fc0bcd3226ee1b3daa.png)

   **Note**: Cliff ingests *only* the events you select in this screen.
6. Select how often Cliff should batch the data that Segment sends.

   ![Cliff scheduling page with options for aggregation frequency and anchor time customization.](https://docs-resources.prod.twilio.com/0cf6d380c6b291b158cde6a76b935ee9a380446ee2aab987c2bfbc6342e6d4f6.png)

## Track

If you aren't familiar with the Segment Spec, take a look at the [Track method documentation](/docs/segment/connections/spec/track/) to learn about what it does. An example call would look like:

```js
analytics.track('Login Button Clicked')
```

Segment sends Track calls to Cliff as a `track` event.

## Page

If you aren't familiar with the Segment Spec, take a look at the [Page method documentation](/docs/segment/connections/spec/page/) to learn about what it does. An example call would look like:

```js
analytics.page()
```

Segment sends Page calls to Cliff as a `pageview`.

## Screen

If you aren't familiar with the Segment Spec, take a look at the [Screen method documentation](/docs/segment/connections/spec/screen/) to learn about what it does. An example call would look like:

```objc
[[SEGAnalytics sharedAnalytics] screen:@"Home"];
```

Segment sends Screen calls to Cliff as a `screenview`.

## Identify

If you aren't familiar with the Segment Spec, take a look at the [Identify method documentation](/docs/segment/connections/spec/identify/) to learn about what it does. An example call would look like:

```js
analytics.identify('userId123', {
  email: 'john.doe@example.com'
});
```

Segment sends Identify calls to Cliff as an `identify` event.

## Group

If you aren't familiar with the Segment Spec, take a look at the [Group method documentation](/docs/segment/connections/spec/group/) to learn about what it does. An example call would look like:

```js
analytics.group("0e8c78ea9d97a7b8185e8632", {
  name: "Initech",
  industry: "Technology",
  employees: 329,
  plan: "enterprise",
  "total billed": 830
});
```

Segment sends Group calls to Cliff as a `group` event.

## Engage

You can send computed traits and audiences generated using [Engage](/docs/segment/engage) to this destination as a **user property**. To learn more about Engage, schedule a [demo](https://segment.com/contact/demo).

For user-property destinations, an [identify](/docs/segment/connections/spec/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.

## Settings

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

| Field   | Description         | Required | Type   |
| ------- | ------------------- | -------- | ------ |
| API Key | no api key required | Yes      | string |
