RudderStack lets you send your event data to Engage via the cloud mode.
Identify
You can use the identify
call to create or update a user in Engage. To update a user's email, you need to provide the Engage Private Key in the dashboard settings.
RudderStack uses the Create or update a User API to add a new user to your Engage account.
The following table lists the RudderStack attributes and their mappings with the Engage properties:
RudderStack property | Engage property | Data type |
---|---|---|
externalId.engageId , userId , traits.userid , traits.id , context.traits.userId , context.traits.id (Required) | uid | Alphanumeric |
traits.firstName , traits.firstname , traits.first_name , context.traits.firstName , context.traits.firstname , context.traits.first_name (Optional) | first_name | String |
traits.lastName , traits.lastname , traits.last_name , context.traits.lastName , context.traits.lastname , context.traits.last_name (Optional) | last_name | String |
traits.email , context.traits.email , properties.email (Optional) | email | String |
traits.phone , context.traits.phone , properties.phone (Optional) | number | Number (In ^[0-9]{7,15}$ format) |
Other user traits (Optional) | meta | String/Integer/Boolean |
originalTimestamp (Optional) | createdAt | Timestamp (ISO 8601 format) |
externalId.engageListId , config.listIds (Optional) | lists | Array of List ID |
externalId.engageListId
or config.listIds
as a fallback value in case userId
, externalId.engageId
, traits.userId
, traits.id
, or context.traits.id
is absent in the event.Deleting a user
You can delete a user in Engage using the Suppression with Delete regulation of the RudderStack Data Regulation API.
A sample regulation request body for deleting a user in Engage is shown below:
{ "regulationType": "suppress_with_delete", "destinationIds": [ "2FIKkByqn37FhzczP23eZmURciA" ], "users": [{ "userId": "1hKOmRA4GRlm", "phone": "+1-202-555-0146", "email": "alex@example.com" }]}
RudderStack deletes the user account in Engage using the Delete User API.
Track
The track
call lets you capture user events along with the associated properties and send them to Engage.
RudderStack uses the Add User events API to send the user events to Engage.
A sample track
call is shown below:
rudderanalytics.track( "Order Completed", { revenue: 30, currency: "USD", userId: "1hKOmRA4el9Z" })
The following table lists the RudderStack attributes and their mappings with the Engage properties:
RudderStack property | Engage property | Data type |
---|---|---|
externalId.engageId , userId , traits.userid , traits.id , context.traits.userId , context.traits.id (Required) | uid | Alphanumeric |
event (Required) | event | String |
originalTimestamp (Optional) | timestamp | Timestamp (ISO 8601 format) |
properties (Optional) | properties | Object |
Page
The page
call lets you record your website's page views with any additional relevant information about the viewed page.
RudderStack sends the page-related information to Engage using their Add User events API.
The following table lists the RudderStack event properties and their mappings with the Engage properties:
RudderStack property | Engage property | Data type |
---|---|---|
externalId.engageId , userId , traits.userid , traits.id , context.traits.userId , context.traits.id (Required) | uid | Alphanumeric |
Visited {Category} {Name} Page (Required) | event | String |
originalTimestamp (Optional) | timestamp | Timestamp (ISO 8601 format) |
properties (Optional) | properties | Object |
Group
You can use the group
call to link an identified user to a specific Engage list.
RudderStack subscribes the user to the Engage list using their Subscribe to a List API.
A sample group
call is shown below:
rudderanalytics.group("group01", {"userId": "1","name": "Capsule Corp.","subscriber_status": "false","operation": "add"});
You can pass the following parameters in the group
event along with the userId
(if known):
RudderStack property | Engage property | Data type |
---|---|---|
groupId (Required) | id | String |
externalId.engageId , userId (Optional) | uid | Alphanumeric |
subscriber_status (Optional) (Default: true ) | subscribed | Boolean |
traits.operation (Optional) (Acceptable values: add /remove ) | - | String |
The following table lists the additional property mappings with the Engage properties:
RudderStack property | Engage property | Data type |
---|---|---|
traits.firstName , traits.firstname , traits.first_name , context.traits.firstName , context.traits.firstname , context.traits.first_name (Optional) | first_name | String |
traits.lastName , traits.lastname , traits.last_name , context.traits.lastName , context.traits.lastname , context.traits.last_name (Optional) | last_name | String |
traits.email , context.traits.email , properties.email , context.externalId.0.id (Required, if phone is not present) | email | String |
traits.phone , context.traits.phone , properties.phone (Required, if email is not present) | number | Number (In ^[0-9]{7,15}$ format) |
Other user traits (Optional) | meta | String / Integer / Boolean |
originalTimestamp (Optional) | createdAt | Timestamp (ISO 8601 format) |
When sending group
events to Engage, it is important to note the following:
- To remove a user from a group (
"operation": "remove"
), you need to provide theuserId
orexternalId
in the event. - If the user's ID is not known, then either
email
orphone
is required for looking up the user in Engage. - If a user is found with an associated
email
orphone
(in that priority), then Engage links the user to the provided Engage List ID. Otherwise, it creates a new user with the provided details and then links them to the List ID.
Contact us
For more information on the topics covered on this page, email us or start a conversation in our Slack community.