Emma Destination

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 personalizes push notifications and in-app campaigns like banners, start-views etc.

This destination is maintained by EMMA. For any issues with the destination, please reach out to their team.

NOTE: The EMMA Destination is currently in beta, which means that they are still actively developing the destination. This doc was last updated on March 11, 2019. If you are interested in joining their beta program or have any feedback to help improve the EMMA Destination and its documentation, please let their team know!

Getting Started

The first step is to make sure EMMA supports the source type and connection mode you’ve chosen to implement. You can learn more about what dictates the connection modes we support here.

Web Mobile Server
📱 Device-mode
☁️ Cloud-mode
  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 fin out you API Key please follow the steps on this guide.


If you haven’t had a chance to review our spec, please 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 through Segment Personas to this destination as a user property. To learn more about Personas, reach out for a demo.

For user-property destinations, an identify call will be sent to the destination for each user being added and removed. The property name will be the snake_cased version of the audience name you provide with a true/false value. For example, when a user first completes an order in the last 30 days, we will send an identify call with the property order_completed_last_30days: true, and when this user no longer satisfies we will set that value to false.

When the audience is first created an identify call is sent for every user in the audience. Subsequent syncs will only send updates for those users which were added or removed since the last sync.


Segment lets you change these destination settings from your Segment dashboard without having to touch any code.



This page was last modified: 21 Nov 2019

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