Snowplow

Introduction

Snowplow is an open-source, event analytics platform. Snowplow empowers organizations to generate trustworthy, first-party Customer Data to power Marketing and Advertising performance.

MoEngage <> Snowplow

With the MoEngage and Snowplow integration, you can forward the events captured on Snowplow to MoEngage via GTM server-side tagging, without writing any code on your website. The MoEngage GTM Tag allows you to:

  • Control the data you want to ingest into MoEngage
  • Have the flexibility to pick, choose, and remap Snowplow attributes to MoEngage attributes
  • Update user attributes in MoEngage with an event

Use Cases

  • Create dynamic user segments using Snowplow's behavioral data collection
  • Make use of Snowplow's extensive data points to create hyper-personalized customer flows using omnichannel campaigns.

Integration

library_add_check

Prerequisites

  • Ensure you have a Snowplow pipeline already set up.
  • Ensure you have GTM Server Side deployed with the Snowplow Client for GTM SS already set up.
  • Ensure you have a Google Tag Manager account with permission to import templates and add new tags.

With the Google Tag Manager template built by MoEngage, you can forward your Snowplow events from GTM to MoEngage.

Step 1: Download and import the MoEngage GTM Tag for Snowplow

  1. Download the MoEngage GTM tag for Snowplow. (right-click and Save).
  2. To import the tag into your GTM workspace, go to the Templates screen from the left-side menu.

Screenshot

  1. Under Tag Templates, click on the "New" button >> Actions menu (top-right) >> Import. Select the MoEngage tag file you just downloaded.
  2. Click save when you see the MoEngage logo on the left.

Step 2: Select and configure the MoEngage Tag

The MoEngage Tag template lets you forward Snowplow events, and update custom as well as standard user attributes inside MoEngage.

  1. On your GTM dashboard, click on Tags >> New.
  2. Click on Tag Configuration, and under "Custom" look for the MoEngage Tag.
  3. Setup the tag according to your needs.

Property Value
Select data center

Your MoEngage Data Center region (DC_X).

  • Dashboard-01 (DC-01)
  • Dashboard-02 (DC-02)
  • Dashboard-03 (DC-03)
  • Dashboard-04 (DC-04)
App ID

The App ID of your MoEngage account is available in the following navigations in the revamped and old UIs:

  1. Revamped UI:  Settings -> Account -> APIs -> App ID.
  2. Old UI: You can find this by navigating to Settings -> App Settings -> APIs -> Data API Settings.

The Data API ID and the App ID of your MoEngage account are the same.

App Key The Data API key of your MoEngage account is available in the following navigations in the revamped and old UIs:
  1. Revamped UI:  Settings -> App Settings -> APIs -> API Keys -> Data
  2. Old UI: You can find this by navigating to Settings -> App Settings -> APIs -> Data API Settings.

User Identifier

Here you need to map the user identifier to identify the user in MoEngage. You can map this value using multiple ways:

  • From Variable: Select this option if you want to use a GTM Variable as the user identifier value.
  • From Event Property: Select this option if you want to extract the user identifier from an event property. Enter the attribute key here, for example, user_id. Note that we can only pick values only from the root level keys. If you want to extract values of nested keys, please use GTM Variables and then select "From Variable" option.

Snowplow Event Mapping Options

Here you can customize the configuration to ingest Snowplow events into MoEngage. We support Snowplow events collected by the Snowplow Client for GTM SS.

Property Value
Include all atomic properties Check this option to include all Snowplow atomic properties as part of the event object in MoEngage.
Include Self Describing event Check this option to include Snowplow Self Describing event in the event object.
Include Snowplow Entities in event object

Here you can select whether you want to include all the Snowplow entities as event properties in MoEngage or cherry-pick selected entities. 

  • All - Selecting this option, we will include all the entities. You can choose to map selected entities in the "Snowplow Entities to Add/Edit mapping" section, or mark individual entities to exclude in the "Snowplow Entities to Exclude" section.
  • None - Select this option if you only want to forward entities chosen by you. You can pick which entities you want to forward in the "Snowplow Entities to Add/Edit mapping" section.
Snowplow Entities to Add/Edit mapping

Here you can map certain Snowplow entities to MoEngage event properties or user attributes. If you have selected "None" above, then you can enter the entities you want to forward to MoEngage.

Type the key name in "Entity Name" and select whether this key should be included as an event attribute (event_object) or user property (user_attributes_object) inside MoEngage.

If you select user property, we will update that user's property accordingly.

Note: You have to prefix all Snowplow entity names with x-sp-.

Apply to all versions: If you mark this as "True", then we will remove the version number from the end of the entity. If you mark this as "False", then we will ingest the entity as is without removing the version number from the end.

Snowplow Entities to Exclude

If you have selected "All" Snowplow Entities above, you can individually select entities you want to exclude from being forwarded to MoEngage.

Note: You have to prefix all Snowplow entity names with x-sp-.

Apply to all versions: If you mark this as "True", then we will remove the version number from the end of the entity. If you mark this as "False", then we will ingest the entity as is without removing the version number from the end.

Additional Event Mapping Options

 

Property Value
Include common event properties

Select this option if you want to automatically include the event properties from the common event data in GTM as event properties to MoEngage.

Additional Event Property Mapping Rules

You can select the keys you want to map as event properties inside MoEngage. Click on "Add Row" to add a new key mapping.

Specify the property key from your event data object in the "Event Property Key" and provide the name you would like to map it to under "MoEngage Mapped Key". If you leave the MoEngage Mapped Key field blank, we will not rename the key.

These properties will be stored as event properties in MoEngage.

Include common user properties Select this option if you want to automatically include the "user_data" properties from the common event data in GTM as user attributes to MoEngage.
Additional User Property Mapping Rules

You can select the keys you want to map as user attributes inside MoEngage. Click on "Add Row" to add a new key mapping.

Specify the property key from your event data object in the "User Property Key" and provide the name you would like to map it to under "MoEngage Mapped Key". If you leave the MoEngage Mapped Key field blank, we will not rename the key.

These attributes will update the user's attributes in MoEngage.

Additional Event Data

If you want to extract values from nested objects or arrays, you can create GTM Variables for the same and use this section to directly use the variable as an event attribute. Click on the "Add Row" button to add a new event attribute.

 

Property Value
Key

Specify the key you want to add to your event attributes.

Value

Here you can either enter a direct value of this event attribute or use a GTM Variable.

Additional User Data

You can also use the above method to extract values from nested objects or arrays and use this section to directly use the variable as a user attribute. Click on the "Add Row" button to add a new user attribute.

 

Property Value
Key

Specify the key you want to add to your user attributes.

Value

Here you can either enter a direct value of this user attribute or use a GTM Variable.

Advanced Event Settings

You can use this section to rename your event or change your event time.

 

Property Value
Event Name Override

If you want to rename the event that is ingested in MoEngage, type the new event name here. If you leave this blank, we will take the event name from the common event properties.

Event time property Specify the client event property to populate the event time (in ISO-8601 format) or leave it empty to use the current time.

Step 3: Select the trigger condition

Screenshot

Under the "Triggering" section, you can select an event as a trigger or create a new trigger as per your requirements.

Click on "Save" when you're done with the tag configuration. You can preview the tag and verify if all your expected events are being ingested in MoEngage as per your configuration. 

Was this article helpful?
0 out of 0 found this helpful

How can we improve this article?