Emma Destination

Destination Info

EMMA 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.

This document is about a destination which is in beta

This means that the Emma Destination is in active development, and some functionality may change before it becomes generally available.

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. To find your API Key follow the steps on this guide.


If you’re not familiar with the Segment Specs, take a look to understand what the Identify method does. An example call would look like:

analytics.identify('userId123', {
  email: 'john.doe@example.com',
  favoriteFood: 'Healthy food',
  restaurant: 'BCN Mediterranean Food'

This method calls in EMMA to method update the user, 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 section to view analitycs data.


Track calls are sent to EMMA as a trackEvent. It’s necessary to activate the events in our Dashboard.

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:

analitycs.track("Login", {
    userId: "97980cfea0067",
    email: "register@email.com"

Transaction example:

analitycs.track("Order Completed",{
    "purchase": {
        "orderId": "HTP-123",
        "price": "34",
        "products": [
                "productId": "PR-890",
                "productName": "Gray jacket",
                "quantity": 1,
                "price": 34


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

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