Skip to main content

Introduction

The Twilio Segment integration does not currently support Unified Identity (Identity Resolution).
With MoEngage Destination on Twilio Segment, you can forward your Users, Events, and Audiences (Twilio Segment Engage) data to MoEngage and run personalized campaigns targeting them. If you’re a new MoEngage customer, you can relay historical data to MoEngage using Twilio Segment replays.

Integration modes

Integration modeDetails
Side-by-side (Device mode)Preferred mode of integration
Device mode uses Segment’s SDK to send data directly to MoEngage. This allows access to deeper features and more comprehensive usage of MoEngage.
Server-to-server (Cloud mode)Cloud mode forwards data from Segment servers directly to MoEngage Data APIs. Cloud mode is generally recommended for sending offline data to MoEngage.
Limitations: Cloud mode does not support Push Notifications, In-app Messaging, On-site Messaging, Cards. You will need to install MoEngage SDKs separately to use these functionalities.

Destination frameworks

MoEngage supports two type of destination frameworks- MoEngage Classic and MoEngage Actions. Refer to the table below to select the type of framework that best suits your needs.
Destination Frameworks >
Integration Modes v
MoEngage ClassicMoEngage Actions
Device ModeRecommendedN/A
Cloud ModeTo be deprecated by Dec 2025Recommended
Note that- Anonymous users and their events are supported only in the MoEngage (Actions) Destination.

Integration

  • Login credentials for MoEngage and Segment.
  • Installed source and Segment source libraries—The origin of any data sent into Segment, such as mobile apps, websites, or backend servers. You must install the libraries into your app, site, or server before being able to set up a successful Source > Destination flow.

Step 1: Add MoEngage as the Destination

After your sources are successfully configured, you must establish MoEngage as a destination. The connection settings offer numerous ways to customize how data moves between MoEngage and Segment. To add MoEngage as the destination, perform the following steps:
  1. Log in to your Segment App.
  2. On the left navigation menu in the Segment dashboard, click Connections > Destinations.
  3. Click + Add destination.
  4. Under Destinations , you can select MoEngage and MoEngage (Actions) based on your preferred destination.

MoEngage (Classic)

The MoEngage or “MoEngage (Classic)” Destination allows you to forward Users and Events data from Segment using either Segment’s Device mode or Cloud mode. To set up MoEngage:
  1. On the MoEngage Destination page, click Add Destination.
  2. Select Data Source and click Next.
  3. Based on your integration mode selected in Step 2, on the Setup page, enter the destination name.
    Optional: If you previously integrated with the MoEngage destination, you can select to copy those settings here.
  4. Click Create Destination.
  5. On the Settings tab, enter the details of your MoEngage app and enable the connection to start forwarding data to MoEngage.

Step 2: Select the Integration Type and Implement

The MoEngage (Classic) integration supports two connection modes for forwarding data from Segment to MoEngage:
  • Device Mode (Side-by-side) : This mode enables all MoEngage capabilities for your mobile app and forwards all data directly from your mobile app to MoEngage. This is the preferred mode.
  • Cloud Mode (Server-to-server) : This mode is recommended for sending offline data to MoEngage.

Device Mode (Side-by-side)

Device Mode is the preferred connection mode for using MoEngage with Segment. When configured with Device Mode, Segment forwards all track and identify requests directly to MoEngage via the user’s device. This means your app makes separate requests to Segment and MoEngage, eliminating the need for you to explicitly send data to MoEngage. To use Device Mode on Android and iOS, integrate the MoEngage + Segment bundle. For your website data, select a Device Mode connection.Under the Settings tab, enter the following details:
EntityDescription
App IDTo obtain your Workspace ID, navigate to Settings > Account > General settings in the MoEngage dashboard.
Debug LoggingYou must enable debug logs by turning on this option. This routes your data to the TEST environment in MoEngage.
Connection Mode (You will see this option only for the JavaScript source)
  • Website, Android, & iOS: The default connection mode is Device Mode.
  • Server-side: The default connection mode is Cloud Mode.
For using the Device Mode connection and leveraging all MoEngage capabilities, you would need to follow the integration steps mentioned below:

Cloud Mode (Server-to-server)

It is preferred to use MoEngage (Actions) for Cloud Mode.
Cloud Mode integration is beneficial in the following scenarios:
  • Forwarding data to MoEngage generated by Segment’s server-side sources.
  • Automatically sending data via Cloud Mode when the MoEngage + Segment code is not bundled on an Android or iOS device.
For more information, refer to Segment Sources, MoEngage Destination, and supported connection modes.
LimitationsA few limitations exist when using Cloud Mode integration: Segment transforms all your attributes (properties) from camelCase to snake_case before sending this data to MoEngage (only via Cloud Mode). This might result in duplicate attributes appearing on your MoEngage dashboard. This transformation does not occur when you use Device Mode.

iOS

The MoEngage SDK you need to use will depend on which Segment SDK you use:

Android

The MoEngage SDK you need to use will depend on which Segment SDK you use:

Web

To complete the side-by-side integration, please refer to the detailed instructions for Segment Web.

React Native

To complete the side-by-side integration, please refer to the detailed instructions for Segment React Native.

Step 3: Test Your Integration

After your integration is configured, you must confirm that data is being sent to MoEngage correctly. First, perform some test actions in your app. Then, in the MoEngage dashboard, you can view your data in the recent events, segments, or analytics sections. To verify specific data, you can filter your users and events based on the custom event and attribute data.
Test Your Integration

Segment Replays

Segment Replay takes an archived copy of your Segment data and resends it to MoEngage. With this, you can import all historical data from Segment to MoEngage. For more information, contact your Segment CSM related to Segment Replays.

Segment Engage and Computed Traits

Using Segment Engage, you can create segments of users based on data you have already collected across various sources and sync them to MoEngage. For more information, refer to how to set up and sync Segment Personas and Computed Traits.

Segment Unify

The existing Segment-to-MoEngage integration remains unchanged and requires no configuration updates on your MoEngage destination. Segment Unify works upstream to ensure the Identify calls sent to MoEngage contain the most accurate, stitched customer profile. Your MoEngage setup will automatically leverage the new, unified user traits and event data flowing from Segment’s Unify layer.

Rate Limits

To maintain platform stability, MoEngage limits ingestion of Segment data to a maximum of 500 requests per second (RPS) per workspace. If your workspace exceeds this limit, MoEngage returns an HTTP 429 (Too Many Requests) status code. Segment typically handles rate-limiting instances automatically. Refer to Segment’s default retry policy to understand how rate limiting affects your data flow. For more information, see the Segment documentation. Retry Exhaustion: If Segment exhausts all retry attempts for a batch of data, you must contact the Segment Support Team to replay the failed requests.

Frequently Asked Questions

No, Data Exports is primarily built to export your Events in near real-time and user attributes in MoEngage are updated asynchronously so it is currently not possible to guarantee the latest values of user attributes in the exports.
It typically takes up to 30 minutes for the automated data exports to be set up for your account and for you to start seeing data there.
Yes, if you need to export new events at a later time, you can always edit your configuration on the App Marketplace and get the new events added to your exports.
As of now, you cannot export historical data using Automated Data Exports. Once configured, you will start seeing data for each event from the time you enabled your exports.
If your billing plan does not cover this already and you need to get this enabled at a later time, you would need to work with your Customer Success Manager to get this included in your billing plan. Based on the amount of data that MoEngage will place in your Data warehouse/Partner/API on a monthly basis, this could lead to additional charges.