The problem
ALAT has millions of customers, each doing something different at any given moment — some just opened the app for the first time, some haven't transacted in months, some are near a physical branch that's running a promotion. A single blast campaign to all of them wastes the message on everyone it isn't relevant to, and manually building a one-off send for every micro-segment doesn't scale past a handful of campaigns.
What I actually built
I designed and published a portfolio of always-on behavioral journeys in MoEngage — each one triggered by a specific customer action or context rather than a calendar date. Location-based deals fire when a customer is near a relevant merchant. Weekend offers target the exact window when redemption is most likely. Re-engagement flows watch for the moments a customer is most receptive, not just when it's convenient for the marketing calendar.
The decisions that mattered
The hardest part wasn't any single journey — it was avoiding message fatigue across 15+ journeys running simultaneously against overlapping audiences. That meant building in frequency capping and journey priority logic so a customer eligible for three different flows doesn't get hit by all three in the same day. Getting that suppression logic right is why the uplift numbers stayed high instead of decaying as the program scaled.
What's next
Extending the same trigger logic to a couple of underused engagement moments (in-app dwell time, near-miss transactions) that aren't yet feeding a journey.







