The challenge

A fast-growing direct-to-consumer brand in the personal care space had invested in both MoEngage for lifecycle marketing and Adobe Analytics for web and app measurement. The two systems operated in isolation — MoEngage had its own user profiles built from email and push engagement, Adobe Analytics had its own visitor data built from web behaviour. Marketing reported email-attributed revenue that did not reconcile with Analytics-reported revenue. The product team could not answer a basic question: what is the web behaviour of users who received and engaged with a push notification in the last 7 days?

Mapping the identity problem

The root cause was an identity gap — MoEngage used email as the primary identifier for registered users, while Adobe Analytics used a hashed internal user ID. When a user clicked an email and arrived on the website, there was no mechanism to connect the email engagement event in MoEngage to the subsequent web session in Adobe Analytics.

We mapped every touchpoint where identity could be established — email click landing pages, login events, post-purchase confirmation pages — and designed an identity resolution approach using Adobe Analytics eVars to capture and persist the MoEngage user ID when a user arrived through a tracked lifecycle campaign.

Data layer and event schema design

Working with the brand's engineering team, we added MoEngage campaign parameters to the data layer on campaign landing pages. When a user arrived from a MoEngage push, email, or in-app campaign, the campaign ID, variant, and user cohort were pushed to the data layer and captured in Adobe Analytics eVars.

We also implemented a reverse flow — Adobe Analytics behavioural segments (high-intent browsers, cart abandoners, lapsed purchasers) were exported to MoEngage via a daily data feed, enabling the marketing automation team to target segments defined by actual web behaviour rather than MoEngage's internal engagement scoring alone.

Lifecycle segment activation

With the identity bridge in place, we defined eight behavioural segments in Adobe Analytics — based on purchase recency, browse depth, category affinity, and cart status — and mapped these to MoEngage audience segments. The marketing team could now create lifecycle journeys that responded to web behaviour rather than email engagement alone.

The attribution gap reduced significantly once cross-channel sessions were correctly attributed. A user who received a push notification, browsed three days later without clicking anything, and converted on day five had previously been attributed entirely to organic. The connected data model correctly reflected the push notification's role in the journey.

Outcome

The integration eliminated the disconnect between MoEngage and Adobe Analytics. The brand now operates eight active lifecycle segments built on web behaviour and activated through MoEngage. The revenue attribution gap between the two platforms reduced by 40%, giving finance and marketing a shared view of campaign ROI for the first time.