Introduction
RudderStack is an open-source customer data platform for developers for collecting and routing customer event data to your preferred data warehouse and dozens of other analytics providers, such as MoEngage. It is enterprise-ready and offers a robust transformation framework to process your event data on the fly.
Scope
The MoEngage and Rudderstack integration allows you to track your users in MoEngage. The integration offers a native SDK integration for your Android, iOS, and web applications, as well as a server-to-server integration from your backend services.
Integration Prerequisites
- Ensure you have access to your RudderStack account.
- Configured source- A source is essentially the origin of any data sent to RudderStack, such as websites, mobile apps, or backend servers. You are required to configure the source before setting up MoEngage as a destination in RudderStack.
- We have revamped our dashboard settings UI. The Data API ID and Data API Key are available in the following navigations in the new and old UIs.
- Revamped UI - You can access the Data API ID in Settings -> Account -> APIs . The Data API ID is the same as the Workspace ID. The Data API Key is available in the same screen in the API Keys -> Data section.
- Old UI -> You can access the Data API ID and Data API Key in Settings -> App Settings -> APIs -> Data API Settings.
- Datacenter - Your data center aligns with your MoEngage dashboard instance. Read more
Step 1: Add a source
To start sending data to MoEngage, you first need to make sure a source is set up in your RudderStack app. Visit RudderStack to learn how to set up your data source.
Step 2: Configure MoEngage as the destination
Now that you have your data source set up, in the RudderStack dashboard, select ADD DESTINATION under Destinations. From the list of available destinations, select MoEngage. Give a name to the destination and click on Next. You should then see the following screen: In the Connection Settings on the RudderStack dashboard, please enter the MoEngage API ID, API Key, and Region, as shown above.
By turning on the native SDK switch under Android SDK Settings on the RudderStack dashboard, you can enable Rudder Stack Device Mode for Android Sources. Similarly, for Web Under Web SDK Settings and IOS under iOS SDK Settings.
Your data center aligns with your MoEngage dashboard instance. Read more
Step 3: Choose the type of integration
You can choose to integrate RudderStack’s web and native client-side libraries with MoEngage using either a side-by-side (device mode) integration or a server-to-server (cloud mode) integration.
Integration types
- Side-by-Side / Device Mode: RudderStack will send the event data to MoEngage directly from your client (browser or mobile application).
- Server-to-Server / Cloud Mode: The MoEngage SDK sends the event data directly to RudderStack, which is then transformed and routed to MoEngage
Learn more about RudderStack’s connection modes and the benefits of each.
Side-by-side integration (device mode)
With this mode, you can send your events to MoEngage using the MoEngage SDK set up on your website or mobile app. Set up the mappings to the RudderStack SDK for Android, iOS, or [React Native] as described in Rudderstack's documentation.
Server-to-server integration (cloud mode)
With this mode, the MoEngage SDK sends the event data directly to RudderStack. RudderStack then transforms this data and routes it to MoEngage in the expected format. The transformation is done in the RudderStack system. To enable the integration, you will need to map the RudderStack methods to MoEngage as described in Rudderstack's documentation.
Note- RudderStack’s server-side SDKs (Java, Python, Node.js, Go, Ruby) support only Cloud Mode. This is because their server-side SDKs operate in the RudderStack backend and cannot load any MoEngage-specific SDK.
Step 4: SDK methods
MoEngage supports the RudderStack methods to identify, track.
Identify
The RudderStack's identify method associates a user with their actions. RudderStack captures a unique user ID and optional traits associated with that user, such as name, email, IP address, etc.
Track
The RudderStack’s track method captures all the user activities, along with the properties associated with those activities.