---
"@context": https://schema.org
"@type": TechArticle
"@id": https://www.twilio.com/docs/segment/connections/destinations/catalog/emma#article
headline: Emma Destination
description: Connect Segment to the EMMA destination to send Identify and Track events for mobile campaign tracking, push notifications, and in-app messaging.
url: https://www.twilio.com/docs/segment/connections/destinations/catalog/emma
inLanguage: en
dateModified: 2026-07-15T17:40:17.000Z
author:
  "@type": Organization
  name: Twilio Developer Education Team
publisher:
  "@type": Organization
  name: Twilio
---

# Emma Destination

## Destination Info

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

[EMMA](https://emma.io/en/) helps you track campaigns from your trusted networks, Google Ads campaigns, Facebook and Instagram campaigns, and Twitter campaigns. You can also track user activities in your app, so you can send personalized push notifications and in-app campaigns like banners, start-views etc.

This destination is maintained by EMMA. For any issues with the destination, [contact the EMMA Support team](mailto:support@emma.io).

## Getting Started

1. From your Segment UI's Destinations page, click "Add Destination".
2. Search for "EMMA" in the Destinations Catalog, and confirm the Source you'd like to connect to.
3. Copy and paste the "API Key" into your Segment Settings UI.
   You can find your API key on your [EMMA Dashboard](https://in.emma.io/index/login/). To find your API Key follow the steps on [this guide](https://support.emma.io/hc/en-us/articles/360019026214).

## Identify

The [Identify method](/docs/segment/connections/spec/identify/) associates a user with their traits. An example call would look like:

```js title="Identify call"
analytics.identify('userId123', {
  email: 'john.doe@example.com',
  favoriteFood: 'Healthy food',
  restaurant: 'BCN Mediterranean Food'
});
```

This method updates the user in EMMA, processing all traits as user tags. Then in EMMA you can segment data, for example to send Push Notifications. In the EMMA SDK this is equivalent to `trackUserExtraInfo`.

Info can be consulted in all parts on EMMA Dashboard where segmentation is used and [Explore](https://support.emma.io/hc/en-us/articles/115002474285-How-to-use-EMMA-Explore) section to view analytics data.

## Track

Track calls are sent to EMMA as a `trackEvent`. It's necessary to activate the events in our [Dashboard](https://support.emma.io/hc/en-us/articles/115002413585-Create-and-edit-events).

EMMA identifies the events with a token. This token can be modified using an alias to replace it (only in non-reserved tokens).

Reserved events:

| Token           | Description                         |
| --------------- | ----------------------------------- |
| Register        | Used when user is registered in app |
| Login           | Used when user is logged in app     |
| Order Completed | Used when the user buys a product   |

Login or register example:

```js title="Login or register event"
analytics.track("Login", {
    userId: "97980cfea0067",
    email: "register@email.com"
});
```

Transaction example:

```js title="Transaction event"
analytics.track("Order Completed",{
    "purchase": {
        "orderId": "HTP-123",
        "price": "34",
        "currencyCode":"eur",
        "products": [
            {
                "productId": "PR-890",
                "productName": "Gray jacket",
                "quantity": 1,
                "price": 34
            }
        ]
    }
  }
);
```

## 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 | https://support.emma.io/hc/en-us/articles/360019026214-How-to-find-you-API-Key | Yes      | string |
