# Kustomer Destination

## Destination Info

* Accepts [Page](/docs/segment/connections/spec/page), [Identify](/docs/segment/connections/spec/identify), [Track](/docs/segment/connections/spec/track) calls.
* Refer to it as **Kustomer** 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.

[Kustomer](https://www.kustomer.com/?utm_source=segmentio\&utm_medium=docs\&utm_campaign=partners) is the next-generation customer management platform for the people-first enterprise. It enables support teams to get a holistic view of the customers they are engaging with, resulting in meaningful interactions between businesses and customers.

This destination is maintained by Kustomer. For any issues with the destination, [contact the Kustomer Support team](mailto:support@kustomer.com).

## Getting Started

1. From the Segment web app, click **Catalog**.
2. Search for "Kustomer" in the Catalog, select it, and choose which of your sources to connect the destination to.
3. If this is the first time setting up Kustomer as a destination, you'll need to install the Segment App in your Kustomer Account.
4. In your Kustomer account, go to **Settings** > **Apps Directory** and install the **Segment** App.
5. After installing the Segment App, you need to go to the **Segment App Settings Page** listed directly underneath the Apps Directory page. From this page you will need to click the large green "Enable with Segment" button.

**NOTE:** Kustomer stores anonymous activity for 30 days but you will not see this activity in their UI unless the customer is identified using the [Identify](/docs/segment/connections/destinations/catalog/kustomer/#identify) call.

## Page

If you're not familiar with the Segment Specs, take a look to understand what the [Page method](/docs/segment/connections/spec/page/) does. An example call would look like:

```text
analytics.page('Pricing', {
  title: 'Segment Pricing',
  url: 'https://segment.com/pricing',
  kustomer_session_id: 'abc123'
});
```

Page calls will sent as a `tracking event` to Kustomer on the timeline of the customer who was tracked. If the `kustomer_session_id` is included, it will cluster this tracking event into a single "session" on the customer's timeline. If no `kustomer_session_id` is supplied, we will automatically generate session IDs based on time between tracking events. (Read why Segment doesn't have session tracking [on the Segment blog](https://www.twilio.com/en-us/blog/developers/best-practices/facts-vs-stories-why-segment-has-no-sessions-api)).

## Screen

If you're not familiar with the Segment Specs, take a look to understand what the [Screen method](/docs/segment/connections/spec/screen/) does. An example call would look like:

```text
[[SEGAnalytics sharedAnalytics] screen:@"Home"
properties:@{ @"kustomer_session_id": @"abc123" }];
```

Screen calls will sent as a `tracking event` to Kustomer on the timeline of the customer who was tracked. If the `kustomer_session_id` is included, it will cluster this tracking event into a single "session" on the customer's timeline. If no `kustomer_session_id` is supplied, we will automatically generate session IDs based on time between tracking events. (Read why Segment doesn't have session tracking [on the Segment blog](https://www.twilio.com/en-us/blog/developers/best-practices/facts-vs-stories-why-segment-has-no-sessions-api).)

## Identify

If you're not familiar with the Segment Specs, take a look to understand what the [Identify method](/docs/segment/connections/spec/identify/) does. An example call would look like:

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

Identify calls will be sent to Kustomer which will create or update a standard customer object record. If a record with a corresponding `userId` exists, that record will be updated. If a customer record doesn't already exist, a new customer record will be created.

All of the overlapping attributes in the Segment [traits](/docs/segment/connections/spec/identify/#traits) documentation are mapped to standard Kustomer attributes by default. In addition to the Segment traits, the following attributes are automatically mapped from Segment to Kustomer:

| Segment          | Kustomer     |
| ---------------- | ------------ |
| `userId`         | `externalId` |
| `context.locale` | `locale`     |

## Track

If you're not familiar with the Segment Specs, take a look to understand what the [Track method](/docs/segment/connections/spec/track/) does. An example call would look like:

```text
analytics.track("Registered", {
  plan: "Pro Annual",
  accountType: "Facebook",
  kustomer_session_id:"abc123"
});
```

Track calls send as a `tracking event` to Kustomer on the timeline of the customer who was tracked. If the `kustomer_session_id` is included, it clusters this tracking event into a single "session" on the customer's timeline. If no `kustomer_session_id` is supplied, Segment automatically generates session IDs based on time between tracking events. See why [Segment doesn't have session tracking](https://www.twilio.com/en-us/blog/developers/best-practices/facts-vs-stories-why-segment-has-no-sessions-api).

## Engage limitation

The Kustomer destination only accepts standard properties such as name, email, and phone. It doesn't support custom properties. Any Audience or Computed Trait created in Engage is considered a customer property by Kustomer destination and isn't supported.

## Settings

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

| Field   | Description                                                                          | Required | Type   |
| ------- | ------------------------------------------------------------------------------------ | -------- | ------ |
| API Key | You can find your API key in the Segment settings page within your Kustomer account. | Yes      | string |
| Org Pod | Copy and paste the org pod value provided in Kustomer in the Segment settings page.  | Yes      | string |
