Overview
After you launch your campaigns, you need to analyze their performance to understand how well they meet your goals. Conversions are key metrics that show the impact of your campaigns and whether you have achieved your marketing objectives.
Conversion attribution helps you understand how a user completed a conversion goal. It shows if the user viewed your campaign, clicked a link or notification, and then completed the goal. For example, if your campaign's conversion goal is an Add to Cart event, attribution helps you see when and how the user added a product to their cart. Was it after seeing your push notification? Was it after clicking on the notification? Or was it when they were already in the app, looking for something?
MoEngage offers two main conversion attribution models for tracking campaign performance:
All Interactions Model
The All Interactions Model attributes conversions to every campaign that contributed to the conversion within a specified timeframe. This model gives credit to all interactions a user had with your campaigns before converting.
| Attribution Type | Description |
|---|---|
| View-through conversion | The total number of times users completed a conversion goal after receiving your communication, within the configured Attribution Window from the time they received the campaign. |
| Click-through conversion | The total number of times users completed a conversion goal after clicking your notification, within the configured Attribution Window from the time they clicked. This is click-based tracking. |
| In-session conversion | The total number of times users completed a conversion goal within 30 minutes after clicking your communication. This is based on in-session tracking. |
Attribution Window
The Attribution Window is the set duration for which MoEngage tracks a conversion goal for users. This tracking starts from when they receive or click a communication from a campaign or Flow. For more information, see Attribution Window for Campaigns and Flows.
How the All Interactions Model Works
The following examples explain how conversion attribution works when using the All Interactions Model.
These examples show how conversion attribution works for individual campaigns.
Example 1: A customer adds an item to the cart after receiving multiple campaigns.
You send two campaigns to a user:
- A Push campaign (C1) notifying the user of the latest offers.
- An In-app Messaging campaign (C2) with banners for the Deal of the Day.
The conversion goal for both campaigns is defined as the user adding an item from the Deal of the Day sale to their cart. Both campaigns have an Attribution Window of 20 hours.
Suppose you send the Push notification (C1) at 7 PM on Day 1, and the In-app notification (C2) is shown to the user around 8 AM on Day 2.
| If the user adds an item to the cart from the Deals page at | Conversion Attribution |
|---|---|
| 10 PM on Day 1 |
Push Campaign (C1) The conversion happens within C1's 20-hour window (7 PM on Day 1 to 3 PM on Day 2). C2 has not been sent yet. |
| 9 AM on Day 2 |
Push Campaign (C1) and In-App Campaign (C2) The conversion occurs within C1's 20-hour window (7 PM on Day 1 to 3 PM on Day 2) and C2's 20-hour window (8 AM on Day 2 to 4 AM on Day 3). |
| 8 PM on Day 2 |
In-App Campaign (C2) The conversion happens within C2's 20-hour window (8 AM on Day 2 to 4 AM on Day 3). C1's 20-hour window (7 PM on Day 1 to 3 PM on Day 2) has expired. |
Example 2: A customer views a product page after receiving campaigns on different channels.
You send the following campaigns to a user:
- A Push campaign (C1) notifying the user of the latest offers. The attribution window is 36 hours.
- An Email campaign (C2) about upcoming offers. The attribution window is 20 hours.
- A WhatsApp campaign (C3) about lightning deals. The attribution window is 18 hours.
The conversion goal for all these campaigns is defined as the user viewing the deals webpage.
You send Push (C1) at 11 PM on Day 1, WhatsApp (C3) at 8 AM on Day 2, and Email (C2) at 11 AM on Day 2.
| User views the product page at | Conversion Attribution |
|---|---|
| 6 AM on Day 2 |
Push Campaign (C1) The conversion happens within C1's 36-hour window (11 PM on Day 1 to 11 AM on Day 3). C2 and C3 have not been sent yet. |
| 9 AM on Day 2 |
Push Campaign (C1) and WhatsApp Campaign (C3) The conversion happens within C1's 36-hour window (11 PM on Day 1 to 11 AM on Day 3) and C3's 18-hour window (8 AM on Day 2 to 2 AM on Day 3). C2 has not been sent yet. |
| 9:30 AM on Day 3 |
Push Campaign (C1) The conversion happens within C1's 36-hour window (11 PM on Day 1 to 11 AM on Day 3). C2's 20-hour window (11 AM on Day 2 to 7 AM on Day 3) has expired. C3's 18-hour window (8 AM on Day 2 to 2 AM on Day 3) has expired. |
These examples describe how conversion attribution works for Flows using the All Interactions Model.
Example 1: A customer purchases a product after receiving communications from a Flow.
You configure a Flow (F1) for user onboarding on a retail platform:
- When the user enters the Flow, a Welcome Notification is sent using a Push campaign (C1).
- After 2 hours, a Welcome Email is sent using an Email campaign (C2) with details about subscriptions, offers, and ongoing deals.
- After 24 hours, MoEngage checks if the user has purchased a product. If yes, the user exits the Flow. If no, send a nudge using a WhatsApp Campaign (C3).
The Flow has a conversion goal of a user purchasing a product and an attribution window of 1 day.
John is a customer who:
- Enters the Flow and receives the Push Notification (C1) on Day 1 at 10 AM.
- Receives the Email (C2) on Day 1 at 12 PM.
- Does not purchase a product until Day 2 at 12 PM, so he receives the WhatsApp campaign (C3) on Day 2 at 12 PM.
- Purchases a watch on Day 2 at 7 PM.
Because John has achieved the conversion goal within the Flow's attribution window, the following happens:
- The conversion is attributed to Flow F1 and to the WhatsApp campaign alone.
- The converted trips metric (the number of engaged trips that resulted in at least one conversion during the time of the trip) is incremented by one for the Flow.
- The Conversion metric and the Conversion Events metric for the WhatsApp campaign are incremented by one each.
If, however, the attribution window for this Flow is 2 days:
- Each of the point channel campaigns (Push, Email, and WhatsApp campaigns) gets a conversion attributed to them apart from the Flow.
- The converted trips metric would be incremented by one for the Flow.
- The Conversion metric for each of the campaigns is incremented by one
- The Conversion Events metric for each of the campaigns is incremented by one.
For more information about conversion metrics in Flows, see Conversion Attribution in Flows.
Example 2: A customer subscribes to a newsletter after receiving campaigns from two Flows.
You configure the following Flows:
- For user onboarding (F1)
- Subscription to value-added services (F2)
One of the conversion goals for F1 and the primary conversion goal for F2 is defined as the user subscribing to the newsletter.
F1 (attribution window 6 days) has an In-app campaign (C1), followed by a Push campaign (C2) and an email campaign (C3). F2 (attribution window 5 days) has an email campaign (C1), followed by a Push campaign (C2).
In the above scenario, the conversion is attributed to both flows F1 and F2 as the user has executed the conversion goal within the attribution window of both flows.
- The Converted Trips metric for each of the flows is incremented by one
- The Conversion metric for each of the campaigns in the individual flows (In-app and Push from F1 and Email and Push from F2) is incremented by one
- The Conversion Events metric for each of the campaigns is incremented by one.
This example shows conversion attribution when a campaign and a Flow share the same conversion goal.
You configure a Flow (F1) for an EdTech app to promote a new tutorial for a subject:
- When the user enters the Flow, a New Tutorial Added Notification is sent via a Push campaign (C1).
- After 24 hours, if the user has not viewed the tutorial, an email is sent via an Email campaign (C2) to encourage them to view it.
- After 36 hours, the system checks if the user has logged in and viewed the tutorial. If yes, the user exits the Flow. If no, another nudge is sent via an SMS Campaign (C3).
Flow F1 has a conversion goal of the user viewing the tutorial and a 3-day (72-hour) Attribution Window.
You also send two independent campaigns to increase app engagement:
- A Push campaign (C4) on Day 2.
- An SMS campaign (C5) on Day 3.
Campaigns C4 and C5 have the same conversion goal as Flow F1, and each has an Attribution Window of 30 hours.
John is a user who:
- Enters Flow F1 and receives the Push Notification (C1) on Day 1 at 9 AM.
- Receives the Email campaign (C2) from Flow F1 on Day 2 at 9:30 AM.
- Receives the Push Campaign (C4) on Day 2 at 12 PM.
- Does not view the tutorial until Day 3 at 9 AM, so he receives the SMS campaign (C3) from Flow F1 on Day 3 at 1 PM.
- Receives the SMS campaign (C5) on Day 3 at 5 PM.
- Views the tutorial on Day 3 at 10:30 PM.
Because John has achieved the conversion goal within the Flow and the SMS campaign C5's attribution window:
- The conversion is attributed to Flow F1 and to all the campaigns in the Flow (Push, Email, and SMS) and the SMS campaign C5.
- The converted trips metric (the number of engaged trips that resulted in at least one conversion during the time of the trip) is incremented by one for the Flow.
- The Conversion metric for the Push, Email, and SMS campaigns is incremented by one.
- The Conversion Events metric for the Push, Email, and SMS campaigns is incremented by one.
For more information about conversion metrics in Flows, see Conversion Attribution in Flows.
The All Interactions Model attributes conversions to all campaigns whose attribution windows overlap with the conversion event. To avoid attributing conversions to multiple campaigns with the same goal, you can time your campaigns so their attribution windows do not overlap. For information on setting the Attribution Window for campaigns, refer to Set Attribution Window.
In some cases, you may need to run multiple campaigns with the same conversion goals simultaneously. This can lead to conversions being attributed to many campaigns, which might make it difficult to determine which campaign is most effective or which channel provides the best engagement and return on investment (ROI). The Last Interaction Model helps you overcome this challenge by attributing conversions to a single, most impactful campaign.
The Last Interaction Model enables you to attribute conversions to the most relevant campaign, allowing you to fine-tune your marketing strategies and enhance customer engagement and ROI.
Last Interaction Model
The Last Interaction Model is a conversion attribution model that considers a user's most recent and deepest interaction. It attributes the conversion to the campaign with the most significant and recent engagement. For more information, see Event Priorities.
Consider a scenario where a user receives a Push notification and completes the conversion goal within the configured Attribution Window:
- If the user does not click the notification and then completes the conversion, it is a view-through conversion.
- If the user clicks the notification, it is a click-through conversion.
Interactions are ranked by depth as follows: Clicks > Views > Sent. The latest interaction refers to the campaign with which the user interacted most recently.
The Last Interaction Model attributes conversions based on these types:
| Attribution Type | Description |
|---|---|
| Total conversions | The sum of all conversions, including click-based conversions and other conversions like view-based or cross-platform attribution. |
| Click-through conversion | The number of conversion goals completed by users who clicked the notification within the configured Attribution Window from the time of click. This is click-based tracking. |
How the Last Interaction Model Works
The Last Interaction Model attributes conversions based on a priority order:
- Deepest interaction
- Latest interaction
This means that if there is a deeper interaction, it receives attribution regardless of how recent other interactions were. For example, a click event takes precedence over a view event. Consider the following scenario:
An SMS Campaign (C1) and an Email Campaign (C2) are active and have the same conversion goal. The same user receives both campaigns. Both C1 and C2 have a 2-day Attribution Window. John is the user who:
- Clicks the SMS from C1 on Day 1 at 2 PM.
- Opens the Email from C2 on Day 2 at 10 AM.
- Adds a product to his cart (the conversion goal for both C1 and C2) on Day 2 at 10 PM.
In this case, the conversion is attributed to the SMS campaign (C1). This is because C1 had the deepest interaction (a click), even though Email Campaign C2 had the latest interaction (an open).
Event Priorities for Conversions
MoEngage assigns the following priorities to events that lead to conversions:
- Campaign clicks: A click event receives the highest priority because the user shows clear intent and takes action by clicking the communication. If a user clicks a Push notification, SMS message, WhatsApp message, In-App message, On-site message, or a Card and then achieves the conversion goal, that event receives the highest priority.
- Campaign views (or impressions): A view event is ranked below a click event because the user is aware of the campaign by seeing it. If a user receives a Push notification, opens an email, reads a WhatsApp message, or sees an In-app message, OSM, or Card, these are considered views and receive a lower priority than clicks.
- Campaign sends: A sent event is ranked the lowest because the campaign is only sent to the user, and they may not be aware of it or act on it. If a Push notification, SMS, email, WhatsApp message, or Card is sent to the user, these are considered sends and receive the lowest priority.
Conversion Attribution Examples for Last Interaction Model
These examples show how conversion attribution works for individual campaigns using the Last Interaction Model.
Example 1: A customer purchases a product after receiving and acting upon a few campaigns from various channels.
Consider a Push campaign notifying the customer about an upcoming lightning deal, an Email campaign nudging the user to explore deals and offers on the website, and an In-app campaign displaying a banner for ongoing deals and offers. All three campaigns have the conversion goal of a product purchase and the same Attribution Window of 36 hours.
John is a user who:
- Receives the Push Notification on Day 1 at 4 PM.
- Clicks the In-app message on Day 2 at 2 PM.
- Receives the Email message and opens it on Day 2 at 10 PM.
- Purchases a pair of sneakers on Day 2 at 11 PM.
John's deepest interaction is with the In-app campaign because he clicked the message. The priority for attribution is In-app (Click) > Email (View) > Push (View). Since the In-app campaign has the deepest interaction, the conversion is attributed to it.
Example 2: A customer subscribes to a newsletter after receiving two campaigns.
Consider a Push campaign notifying the customer to subscribe for updates about the latest products and offers, and an In-app campaign encouraging the user to explore deals by getting regular updates. Both campaigns have a conversion goal of customer subscription and an Attribution Window of 24 hours.
John is a user who:
- Views the Push Notification on Day 1 at 10 AM.
- Views the In-app message on Day 1 at 4 PM.
- Subscribes to receive updates from the brand in the app on Day 2 at 8 AM.
The interaction depth is the same for both the Push and In-app campaigns (both are views). In this case, MoEngage uses the latest interaction for conversion attribution. John's latest interaction was with the In-app campaign, so the conversion is attributed to it.
Example 3: A customer books a flight ticket on a web page after receiving a Push campaign on their Android mobile device.
Consider a Push campaign for Android customers, notifying them about flight deals. The campaign's conversion goal is a flight ticket purchase, and the Attribution Window is 24 hours.
John is a user who:
- Views the Push Notification on his Android mobile device on Day 1 at 8 AM.
- Purchases a flight ticket from a webpage he was redirected to from the app on Day 1 at 10 PM.
This example highlights cross-platform attribution. A user receives communication from a campaign on one platform (Android) but completes the conversion goal (within the Attribution Window) on another platform (webpage). If the purchase event is sent from the web platform to MoEngage, and no web campaign is running with the same conversion goal, the All Interactions Model would not attribute this conversion to any campaign. In the Last Interaction Model, however, this conversion is attributed to the Push campaign because it was the last interaction leading to the conversion.
Example 4: Conversion Attribution when a user falls into a Control Group for two campaigns.
Consider two campaigns: a Push campaign and an SMS campaign, both of which send information about flight cancellations. The conversion goal for both campaigns is defined as users viewing the train info webpage. Both campaigns have a 5% Control Group. For more information, refer to Control Groups. The Attribution Window for both campaigns is 36 hours.
John is a user who falls into the Control Group for both campaigns. Since he is part of the Control Group, he does not receive either campaign. If John then views the train cancellation information, he is considered to have been converted. In such a case, the campaign that ran most recently (the latest run) receives the attribution. For example, if the SMS campaign ran after the Push campaign, the conversion would be attributed to the SMS campaign.
This example shows how conversion attribution works for Flows using the Last Interaction Model.
Example: A customer completes KYC verification after receiving communications from various Flows.
A bank runs two Flows in parallel:
- Flow 1: Onboards new customers and prompts them to complete KYC.
- Flow 2: Manages KYC completion for existing customers due to compliance reasons.
Both Flows share the same conversion goal of KYC Completion and have an Attribution Window of 10 days. John signs up for a new credit card. As an existing customer, he needs KYC verification because his last verification was three years ago. He qualifies for and receives communications from both Flows.
John is a user who:
- Receives the Email from Flow 1 on Day 1 at 3 PM.
- Receives the SMS from Flow 2 on Day 3 at 5 PM and clicks it.
- Receives the SMS from Flow 1 on Day 4 at 10 AM (because he has not yet acted on the Email) and clicks it.
- Receives the Email from Flow 2 on Day 7 at 9 AM and opens it.
- Receives the Push notification from Flow 1 on Day 9 at 5 PM.
- Completes his KYC verification on Day 10 at 10 AM.
Conversion Attribution:
| Flow | Deepest Interaction |
|---|---|
| Onboarding Flow (Flow 1) | SMS (Click) > Email (Receive) > Push (Receive) |
| KYC Completion Flow (Flow 2) | SMS (Click) > Email (Open) |
| Flow 1 compared to Flow 2 | Both SMS campaigns have click events, resulting in the same interaction depth. MoEngage then considers the latest interaction. |
In this scenario, the deepest interactions from both Flows (SMS clicks) have the same priority. MoEngage then considers the latest interaction to determine attribution. John's latest click was on the SMS from Flow 1 (Day 4, 10 AM), which is more recent than the SMS click from Flow 2 (Day 3, 5 PM). Thus, Flow 1 (Onboarding Flow) receives the conversion attribution for John completing his KYC.
- The Converted Trips metric for Flow 1 is incremented by one.
- The Conversion and Conversion Events metrics from the SMS campaign in Flow 1 are each incremented by one.
This example shows conversion attribution when a campaign and a Flow share the same conversion goal, using the Last Interaction Model. Note that this example will illustrate the prioritization based on deepest and latest interaction when a user is part of both a campaign and a Flow with overlapping conversion goals.
You configure a Flow (F1) for an EdTech app to promote a new tutorial for a subject:
- When the user enters the Flow, a New Tutorial Added Notification is sent via a Push campaign (C1).
- After 24 hours, if the user has not viewed the tutorial, an email is sent via an Email campaign (C2) to encourage them to view it.
- After 36 hours, the system checks if the user has logged in and viewed the tutorial. If yes, the user exits the Flow. If no, another nudge is sent via an SMS Campaign (C3).
Flow F1 has a conversion goal of the user viewing the tutorial and a 3-day (72-hour) Attribution Window.
You also send two independent campaigns to increase app engagement:
- A Push campaign (C4) on Day 2.
- An SMS campaign (C5) on Day 3.
Campaigns C4 and C5 have the same conversion goal as Flow F1, and each has an Attribution Window of 30 hours.
John is a user who:
- Enters the Flow and receives the Push Notification (C1) on Day 1 at 9 AM.
- Receives the Email campaign (C2) from the Flow on Day 2 at 9:30 AM.
- Receives the Push Campaign (C4) on Day 2 at 12 PM.
- Does not view the tutorial until Day 3 at 9 AM, so he receives the SMS campaign (C3) from the Flow on Day 3 at 1 PM.
- Receives the SMS campaign (C5) on Day 3 at 5 PM.
- Views the tutorial on Day 3 at 10:30 PM.
All interactions listed are view-through conversions, meaning they have the same interaction priority (View). Therefore, MoEngage determines attribution based on the latest interaction. John's latest interaction was with SMS campaign C5 (Day 3 at 5 PM), which occurred closest to the tutorial view (Day 3 at 10:30 PM). Thus, SMS campaign C5 receives the attribution for the conversion.
Revenue Tracking
Revenue Tracking is an optional feature associated with the primary conversion goal of a campaign. For information about enabling revenue tracking, refer to Revenue Tracking.
If Revenue Tracking is enabled during campaign creation, revenue metrics are tracked and displayed on the Campaign Analytics page. The following revenue metrics are available:
- Total Campaign Revenue: The sum of the total order value across all conversion events attributed to the campaign.
- Average Order Value: Calculated as Total Campaign Revenue divided by the Number of Conversions.
- Average Revenue Per User: Calculated as Total Revenue divided by the Number of Unique Conversions.
Revenue metrics are tracked for all attribution types. To view the respective revenue metrics, you can change the attribution type using the filter in the top-right corner of the Campaign Analytics page.
- In the All Interactions Model, conversions might be attributed to multiple campaigns if their Attribution Windows overlap. In this case, the revenue is added to all campaigns that receive attribution.
- In the Last Interaction Model, only one campaign receives attribution (the campaign with the deepest and latest interaction). Therefore, the revenue is attributed only to that single campaign.