Skip to main content

Overview

After you launch a campaign, you need to know whether it actually drove the behavior you intended. Conversions are the key metric for this: they show the impact of your campaigns and whether you met your marketing objectives. Conversion attribution explains how a user reached a conversion goal — whether they saw your campaign, clicked it, and then completed the goal. For example, if your conversion goal is an Add to Cart event, attribution tells you when and how the user added the product: after seeing your push notification, after clicking it, or while already browsing in the app. MoEngage offers two attribution models:
The attribution model (All Interactions or Last Interaction) and the conversion view are configured once for the whole workspace under Settings → Advanced settings → Conversion and attribution. The attribution window is set separately for each campaign and conversion goal during campaign creation. For more information, see Campaign Attribution Settings.

Choosing an Attribution Model

Use the following table to decide which model fits your reporting needs.
I want to…Use this model
See every campaign that contributed to a conversionAll Interactions Model
Understand the full journey that led to a conversionAll Interactions Model
Attribute each conversion to exactly one campaignLast Interaction Model
Run multiple campaigns with the same conversion goal at the same timeLast Interaction Model (avoids double-counting)
Compare ROI for a single, most-impactful campaignLast Interaction Model
Attribute conversions that start on one platform and finish on anotherLast Interaction Model
Changing the attribution model recalculates your historical conversion and revenue numbers. Because the model is a workspace-level setting that applies to all campaigns and Flows, switching it recalculates conversion statistics for past campaigns. Moving from All Interactions to Last Interaction can cause a dip in some campaigns’ conversion and revenue metrics, and moving the other way can inflate them. For more information, see Switching Between Attribution Models.

Attribution Window

The attribution window is the duration for which MoEngage tracks a conversion goal for a user, starting from when they receive or click a communication from a campaign or Flow. It applies to both attribution models. You set it per campaign and per goal during campaign creation. For more information, see Attribution Window. The maximum attribution window depends on the channel:
ChannelMaximum Attribution Window
Push36 hours
In-App36 hours
On-site Message (OSM)36 hours
Cards36 hours
Connectors36 hours
SMS10 days
Email10 days
WhatsApp10 days
Flows10 days
The minimum attribution window is 1 hour for all channels and Flows.

All Interactions Model

The All Interactions Model attributes a conversion to every campaign that contributed to it within the configured timeframe. It credits all the interactions a user had with your campaigns before converting.
Attribution TypeDescription
View-through conversionThe user completed the goal within the attribution window after receiving the campaign. No click is required.
Click-through conversionThe user completed the goal within the attribution window after clicking the campaign. This is click-based tracking.
In-session conversionThe user completed the goal within 30 minutes of clicking the campaign. This is in-session tracking.
The All Interactions Model can attribute a single conversion to more than one campaign. When campaigns share a conversion goal and their attribution windows overlap, the same conversion is credited to each of them, so the total conversions reported across campaigns can exceed the number of conversions that actually occurred. To get one-to-one attribution, use the Last Interaction Model or schedule your campaigns so their attribution windows do not overlap.

How the All Interactions Model Works

These examples show how attribution works for individual campaigns.Example 1 — A user adds an item to the cart after receiving two campaignsYou send a user two campaigns, both with the conversion goal of adding a Deal of the Day item to the cart, and both with a 20-hour attribution window:
  • A Push campaign (C1) about the latest offers.
  • An In-app campaign (C2) with a Deal of the Day banner.
You send the push (C1) at 7 PM on Day 1, and the in-app message (C2) is shown around 8 AM on Day 2.
The user adds an item to the cart atConversion Attribution
10 PM on Day 1Push (C1) only. The conversion falls inside C1’s window (7 PM Day 1 – 3 PM Day 2). C2 has not been shown yet.
9 AM on Day 2Push (C1) and In-app (C2). The conversion falls inside both C1’s window (7 PM Day 1 – 3 PM Day 2) and C2’s window (8 AM Day 2 – 4 AM Day 3).
8 PM on Day 2In-app (C2) only. C1’s window has expired; the conversion falls inside C2’s window (8 AM Day 2 – 4 AM Day 3).
Example 2 — A user views a product page after receiving campaigns on different channelsYou send three campaigns, all with the conversion goal of viewing the deals webpage:
  • Push (C1), 36-hour window.
  • WhatsApp (C3), 18-hour window.
  • Email (C2), 20-hour window.
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.
The user views the product page atConversion Attribution
6 AM on Day 2Push (C1) only. Inside C1’s window (11 PM Day 1 – 11 AM Day 3). C2 and C3 have not been sent yet.
9 AM on Day 2Push (C1) and WhatsApp (C3). Inside C1’s window and C3’s window (8 AM Day 2 – 2 AM Day 3). C2 has not been sent yet.
9:30 AM on Day 3Push (C1) only. C2’s window (11 AM Day 2 – 7 AM Day 3) and C3’s window (8 AM Day 2 – 2 AM Day 3) have both expired. The conversion is still inside C1’s window.

Last Interaction Model

The Last Interaction Model attributes a conversion to the campaign with the user’s deepest and most recent interaction. It is useful when you run multiple campaigns with the same conversion goal at the same time and need to identify the single most effective one. Consider a user who receives a push notification and converts within the attribution window:
  • If they convert without clicking the notification, it is a view-through conversion.
  • If they click the notification first, it is a click-through conversion.
Priority order: Clicks > Views > Sends. The deeper interaction always wins. If two campaigns have the same interaction depth, the most recent interaction wins.
Attribution TypeDescription
Total conversionsThe sum of all conversions, including click-based, view-based, and cross-platform conversions.
Click-through conversionThe number of goals completed by users who clicked the campaign within the attribution window. This is click-based tracking.

Event Priorities for Conversions

MoEngage ranks the events that lead to a conversion as follows:
  • Campaign clicks (highest priority): The user shows clear intent by acting on the communication. Clicking a push notification, SMS, WhatsApp message, In-App message, On-site message, or Card and then converting is the highest-priority interaction.
  • Campaign views / impressions (medium priority): The user has seen the campaign but not acted on it. Receiving a push notification, opening an email, reading a WhatsApp message, or seeing an In-App message, OSM, or Card counts as a view.
  • Campaign sends (lowest priority): The campaign was only delivered; the user may not have noticed or acted on it. A push, SMS, email, WhatsApp message, or Card that was merely sent counts as a send.

How the Last Interaction Model Works

Attribution is decided first by the deepest interaction, then by the latest interaction. A deeper interaction wins regardless of how recent the others were — for example, a click outranks a more recent view. Example: An SMS campaign (C1) and an Email campaign (C2) share a conversion goal and each has a 2-day attribution window. John clicks the SMS (C1) on Day 1 at 2 PM, opens the email (C2) on Day 2 at 10 AM, and adds a product to his cart on Day 2 at 10 PM. The conversion is attributed to the SMS campaign (C1): even though the email had the more recent interaction (an open), the SMS had the deeper one (a click).
Example 1 — A user purchases after interacting with several campaignsA Push campaign, an Email campaign, and an In-app campaign all share the conversion goal of a product purchase and have a 36-hour window. John receives the push on Day 1 at 4 PM, clicks the in-app message on Day 2 at 2 PM, receives and opens the email on Day 2 at 10 PM, and buys a pair of sneakers on Day 2 at 11 PM.LIM Campaigns Example 1John’s deepest interaction is the in-app click. The attribution priority is In-app (Click) > Email (View) > Push (View), so the conversion is attributed to the In-app campaign.Example 2 — A user subscribes after receiving two campaignsA Push campaign and an In-app campaign share the conversion goal of a subscription and have a 24-hour window. John views the push on Day 1 at 10 AM, views the in-app message on Day 1 at 4 PM, and subscribes on Day 2 at 8 AM.LIM Campaigns Example 2Both interactions are views, so they have the same depth. MoEngage then uses the latest interaction, which was the in-app message, so the conversion is attributed to it.Example 3 — A user in the Control Group for two campaigns convertsA Push campaign and an SMS campaign both send flight-cancellation information, share the conversion goal of viewing the train-info webpage, each have a 5% Control Group, and a 36-hour window. John falls into the Control Group for both, so he receives neither campaign. If he then views the train-cancellation information, he is treated as converted, and the campaign that ran most recently receives the attribution. For example, if the SMS campaign ran after the Push campaign, the conversion is attributed to the SMS campaign.

Cross-Platform Attribution

A user may receive a campaign on one platform and complete the conversion goal on another — for example, receiving a push notification on Android and then making the purchase on the web. Example: A Push campaign for Android customers promotes flight deals, with the conversion goal of a flight-ticket purchase and a 24-hour window. John views the push on his Android device on Day 1 at 8 AM, then buys a ticket on a webpage he was redirected to from the app on Day 1 at 10 PM. How the two models handle this:
  • All Interactions Model: If the purchase event is sent from the web platform and no web campaign with the same conversion goal is running, the conversion is not attributed to any campaign.
  • Last Interaction Model: The conversion is attributed to the Push campaign, because it was the last interaction — regardless of the platform on which the conversion event fired.
Because the All Interactions Model can drop cross-platform conversions in this way, the Last Interaction Model is generally better suited to businesses with cross-platform user journeys.

Revenue Tracking

Revenue Tracking is an optional feature tied to a campaign’s primary conversion goal. To enable it, turn on the Revenue performance toggle for the primary goal during campaign creation. For more information, see Tracking Revenue Metrics. When Revenue Tracking is enabled, the following metrics appear on the Campaign Analytics page:
  • Total Campaign Revenue — the sum of the order value across all conversion events attributed to the campaign.
  • Average Order Value — Total Campaign Revenue ÷ Number of Conversions.
  • Average Revenue Per User — Total Revenue ÷ Number of Unique Conversions.
Revenue metrics are tracked for all attribution types. To view a specific one, use the Attribution Type filter in the top-right corner of the Campaign Analytics page.
  • In the All Interactions Model, if a conversion is attributed to multiple campaigns with overlapping attribution windows, the revenue is added to every campaign that receives attribution.
  • In the Last Interaction Model, only one campaign receives attribution (the one with the deepest and latest interaction), so the revenue is attributed to that single campaign.

FAQs

The All Interactions Model credits every campaign whose attribution window was active when the user converted, so a single conversion can be shared by multiple campaigns. The Last Interaction Model credits only one campaign — the one with the user’s deepest and most recent interaction.
This happens under the All Interactions Model. When several campaigns share a conversion goal and their attribution windows overlap, the same conversion is credited to each of them, so the per-campaign totals can sum to more than the real number of conversions. Switch to the Last Interaction Model for one-to-one attribution, or schedule the campaigns so their attribution windows do not overlap.
Yes. The attribution model is a workspace-level setting under Settings → Advanced settings → Conversion and attribution and can be changed at any time. When you switch it, MoEngage recalculates conversion statistics for past campaigns: moving from All Interactions to Last Interaction can reduce some campaigns’ conversion and revenue numbers, and moving the other way can inflate them.
The attribution window is set per campaign and per conversion goal, in the Track goals for field during campaign creation. Only the attribution model and conversion view are set at the workspace level.
Push, In-App, On-site Message, Cards, and Connectors allow up to 36 hours. SMS, Email, WhatsApp, and Flows allow up to 10 days. The minimum window for all channels and Flows is 1 hour.
A view-through conversion is completed within the attribution window after the user receives the campaign (no click required). A click-through conversion is completed after the user clicks the campaign. An in-session conversion is completed within 30 minutes of clicking the campaign.
Opening an email counts as a view. Clicking a link inside the email counts as a click. Since clicks rank above views in the Last Interaction Model, a click anywhere in the journey outranks an email open.
Under the All Interactions Model, if the conversion event fires on a platform where no campaign with the same conversion goal is running (for example, a push on Android but the purchase on web), the conversion is not attributed to any campaign. The Last Interaction Model attributes it to the last interaction regardless of the conversion platform, so use that model for cross-platform journeys.
A user in the Control Group does not receive the campaign. If that user still completes the conversion goal, the conversion is attributed to the campaign that ran most recently.
Under the All Interactions Model, the revenue is added to every campaign that receives attribution for the conversion. Under the Last Interaction Model, the revenue is attributed only to the single campaign with the deepest and latest interaction.