Skip to main content

Introduction

Hightouch is a modern data integration platform that enables you to sync customer, product, or proprietary data from your warehouse or data lake to any app of your choice, all without assistance from your IT or engineering teams.

MoEngage × Hightouch

The MoEngage and Hightouch integration allows you to build better campaigns on MoEngage with up-to-date customer data from your data warehouse. By automatically syncing users and events into MoEngage, you no longer need to worry about data consistency and can focus on building customer experiences.

Use Cases

Use the integration for any of the following:
  • Sync data about users into MoEngage to build personalized campaigns.
  • Sync Customer Events from Hightouch into MoEngage to keep the events consistent.
  • Deliver better experiences by bringing data from other customer touchpoints into MoEngage.
  • Sync Audiences from Hightouch to MoEngage for targeting.
  • Trigger one-to-many campaigns from your warehouse with business events, such as breaking news, a new episode, or a product back in stock.
  • Sync anonymous visitors and convert them into registered users when they sign in or subscribe.

Supported Syncing

Hightouch sends five kinds of data to MoEngage. Each one matches records differently and treats a user it has not seen before differently, as described in the following table:

Integration Prerequisites

Before you connect Hightouch to MoEngage, collect the following:
  • Ensure you have access to your Hightouch account.
  • Note your Workspace ID and the Data API key, both at Settings > Account > API Keys in MoEngage. The Workspace ID appears at the top of that page and is the same as the Data API ID.
  • To sync business events, note the API key named Campaign report/Business events/Custom templates/Catalog API/Inform Report on the same page.
  • Note your MoEngage data center. The number appears in the URL of your MoEngage dashboard.
The API Keys page in MoEngage, with the Workspace ID, the Data key and the Campaign report/Business events key highlighted

Create a MoEngage Destination on Hightouch

To connect MoEngage as a destination in Hightouch, perform the following steps:
  1. On the Hightouch platform, in the Destinations section, click Add destination.
  2. Select MoEngage from the list of available destinations.
  3. Enter the following details, and then click Test connection.
  4. When both scopes return Success, click Continue.
The Connect to MoEngage form in Hightouch, with the four fields highlighted and both test connection results showing Success

Sync Users

You can sync Hightouch objects (users) to the MoEngage users. You can also perform record matching to help unify data across the two platforms. The integration supports upserting users. In this mode, new users will be inserted into MoEngage and all user attributes will be kept up-to-date within MoEngage. Upsert has three configuration parameters:

User Field Mapping

The attributes you map here are what you segment and personalize on in MoEngage, so map everything a campaign might need, not only what you use today. Map any column in your model to a standard or custom user attribute. MoEngage expects custom attribute names to follow the snake_case format. Read more on MoEngage-Hightouch user upsert here.

Sync Events

An event records something a user did, such as a purchase or a page view. Syncing events from your warehouse keeps the activity in MoEngage in step with the activity in your own systems, so campaigns trigger on the same behaviour your analytics report.

Setting an Event Name

The event name is what you select when you build a campaign or flow on this event, so it has to be stable and recognizable. Type a static name when every row in the model is the same event, or select a column when the model carries several event types.

Setting an Event Timestamp

The timestamp decides where the event lands on a user’s timeline, which matters for any campaign that depends on recency. Select the column that holds the time the event happened. MoEngage expects ISO 8601, or Epoch time in seconds. If you leave it empty, MoEngage uses the time the event reaches the server, which backdated rows report inaccurately.

Record Matching

MoEngage attaches the event to a user by matching on Customer Id. Map the column in your model that holds that identifier, or the event reaches MoEngage without an owner. This is the destination field an event sync offers, and it differs from the User ID that user and segment syncs match on.

Field Mapping

Map the columns your campaigns need to read. A column you leave unmapped does not reach MoEngage, so you cannot segment or personalize on it later.

Custom Field Mapping

Use this section for anything MoEngage has no standard field for, such as an order value or a content category. MoEngage stores these as event attributes, and expects their names to follow the snake_case format.

Sync Business Events

A business event is something your business did rather than something a user did, such as publishing a breaking news story, releasing an episode, or restocking a product. When Hightouch syncs a business event, MoEngage runs every business event-triggered campaign and flow linked to it, and decides who receives the message by matching user or event attributes to the event’s attributes. Before your first sync:
  • Create the business event in MoEngage with the Create Business Event API. This one-time setup defines the event name and its attributes.
  • Add the business events API key to your MoEngage destination in Hightouch.
To sync a business event, perform the following steps:
  1. On the Hightouch platform, navigate to Activation > Syncs and click Add sync.
  2. Select the model that holds your business events, and then select your MoEngage destination.
  3. Under What would you like Hightouch to send to MoEngage?, select Event.
  4. Under What type of event would you like to send?, select Business events.
  5. In What is the event name?, type a static name, or turn on USE COLUMN and select the column that holds it. The name must match the business event you created in MoEngage.
  6. Map your model columns to the business event’s attributes. The attribute names must match the ones defined on the business event.
  7. Click Continue.
The Hightouch sync configuration with the Event option and the Business events option highlighted, the event name field below, and Continue highlighted Hightouch identifies each row in your model by the primary key you set on the model, and treats each new row as one business event trigger. Set a primary key that is unique for every row, so that no row triggers the event more than once.
Business event triggers are rate limited, and the limits are low. Use business event syncs for low-volume, high-value moments, and event syncs for per-user activity. For the limits, refer to Rate Limits.

Use the Business Event in MoEngage

To send a campaign from the business event, perform the following steps:
  1. In MoEngage, go to Engage > Campaigns and click + Create campaign.
  2. Select a channel, and then select Business Event Triggered.
  3. In Select Business Event, select the event Hightouch syncs.
  4. In Target audience, map user or event attributes to the business event’s attributes. For example, target readers who viewed the football section when a breaking_news event arrives with section set to football.
One campaign then serves every trigger of that business event. For more information, refer to Business Event Triggered Campaigns.

Trigger Campaigns and Flows from Your Warehouse

A Hightouch sync can start a MoEngage journey directly. Which sync you use depends on who the message is for: You can use the event and business event attributes you mapped to target and personalize the message.

Sync Audiences

Hightouch can send a Hightouch audience to MoEngage as a segment. MoEngage keeps the segment membership up to date on every sync, and can also update the user attributes of its members in the same sync.

Choosing a Sync API

Hightouch offers two sync APIs for segments. Select the one that matches what you need to keep up to date in MoEngage. Use Partner Cohort Sync when you want member attributes in MoEngage to stay current without setting up a separate user sync.

Setting Up the Sync

To sync a Hightouch audience to MoEngage, perform the following steps:
  1. On the Hightouch platform, navigate to Activation > Syncs and click Add sync.
  2. Select the model that holds your audience, and then select your MoEngage destination.
  3. Under What would you like Hightouch to send to MoEngage?, select Segment.
  4. Under Which MoEngage sync API should this segment use?, select Cohort Sync or Partner Cohort Sync.
  5. Under Would you like to use an existing MoEngage segment or create a new one?, select Create a new MoEngage segment or Use an existing MoEngage segment. Hightouch sync configuration with Segment, Partner Cohort Sync, and the segment choice selected
  6. In What should the segment be named?, type the name you want the segment to have in MoEngage. If you selected Use an existing MoEngage segment, select the segment you want to sync to in the Which existing MoEngage segment would you like to sync? list instead.
  7. Under the record matching section, select the column that holds your User ID, and then select User ID in the Destination field list.
  8. Under How would you like to handle records leaving the query result?, select Remove the MoEngage record from the specified audience or Do nothing.
  9. Click Continue.
Hightouch record matching, attribute mapping, and record removal options for a segment sync Hightouch marks Do nothing as not recommended. Choose Remove the MoEngage record from the specified audience so that the segment stays consistent with the audience in Hightouch. Removing a record takes it out of the MoEngage segment only. MoEngage does not delete the user profile.

Additional Options for Partner Cohort Sync

When you select Partner Cohort Sync, the configuration adds the identifier, attribute, and team options below. To configure them, perform the following steps:
  1. Under the record matching section, click Add mapping, select the column that holds your anonymous identifier, and then select Anonymous ID in the Destination field list.
  2. Under Which columns would you like to sync to MoEngage fields?, select the column you want to forward, and then select the MoEngage user attribute to write it to, such as Gender.
  3. Under Which columns would you like to sync to custom fields in MoEngage?, select the column you want to forward, and then type the MoEngage custom attribute name in the Destination field box.
  4. Click Advanced.
  5. Under How should users be updated in MoEngage?, select Create new users and update existing users in MoEngage or Only update fields on users that already exist in MoEngage.
  6. In Which team in your MoEngage dashboard should this segment be created in?, type the name of the team exactly as it appears in your MoEngage dashboard.
Hightouch Advanced section showing the user update options and the MoEngage team field Map at least one identifier. If a user ID is not available, MoEngage resolves the member by the anonymous ID. When you map both, MoEngage converts the anonymous user into a registered user.
From anonymous reader to subscriber. Map both User ID and Anonymous ID on the same row. When a visitor signs in or subscribes, MoEngage converts the anonymous profile into a registered user, so their attributes and segment membership carry over without a separate identity sync.
MoEngage writes the attributes you map to each member’s profile in the same sync, which removes the need for a separate user sync. MoEngage expects custom attribute names to follow the snake_case format. The team field applies only if you have Teams enabled in your MoEngage workspace. When you set a team, only the members of that team can see the segment, and MoEngage applies a team-level filter on top of the audience criteria. When you leave it empty, MoEngage creates the segment in the Default Team. For more information, refer to Teams 2.0 in MoEngage.
Multi-brand workspaces. Point each segment sync at a different team to feed separate brands or business units from one Hightouch workspace. Each brand’s team sees only its own audiences.
For more information, please read the Hightouch docs.

Validate Your Setup

After the first sync, check that the data reached MoEngage:

Rate Limits

To maintain platform stability, MoEngage limits ingestion of Hightouch audience data to a maximum of 300 requests per minute (RPM) per workspace. If your workspace exceeds this limit, MoEngage returns an HTTP 429 (Too Many Requests) status code. User and event syncs from Hightouch follow the MoEngage Data API rate limits. For more information, refer to Partner Data Ingestion Rate Limits. Business event syncs follow the business event trigger limits instead: 10 triggers per 5 minutes, 50 per hour and 200 per day for campaigns, and 3 per hour and 10 per day for flows. For more information, refer to Trigger Rate Limits.

Frequently Asked Questions

The following questions come up most often when teams set up this integration:
MoEngage creates the user from the Customer Id on the event, so you do not need to run a user sync first.
No. A business event describes something your business did, not something a user did. MoEngage picks the recipients from the campaign’s target audience when the event is triggered.