Between 2019 and 2022 I was the Principal Product Manager for Growth, Engagement & Loyalty at Grab in their CX team, or GEL, to the people internally. On paper, the job was consumer growth for Southeast Asia's largest superapp. In practice, it was refereeing a multi-country, multi-business argument about a few hundred vertical pixels.
A superapp, for anyone who has not worked inside one, is several companies wearing one trench coat. Grab is ride-hailing, food delivery, groceries, payments and financial services, each with its own leadership, its own targets, its own country teams, and its own entirely sincere conviction that it is the future of the company. All of them open onto the same home screen.
In a superapp, the scarcest resource is not capital or engineering headcount. It is the home screen. Every tile, every banner, every push notification slot is contested by teams whose quarterly numbers depend on winning it. GEL sat in the middle of that contest, nominally responsible for the surfaces everyone else wanted. This essay is about what consumer growth actually looks like from that seat.
Who decides what goes on the home screen?
The naive answer is: whoever has the most senior sponsor. For a while, that was also the real answer. Verticals lobbied for banner slots the way mediaeval barons lobbied for land, and the home screen became an exhibition of whoever had won the most recent meeting. The user, who had opened the app to order lunch, was greeted by a carousel about motorcycle insurance. Or something of that sort. The infamous incident of Lazada ads appearing on the home screen was talked about for quite a while.
The blunt instrument earlier in that era was the blanket push — the same discounts, the same banners, the same push notifications, sent to everyone at the same hour. Blanket promotions are the growth equivalent of shouting into a stadium. Technically you have reached everyone. Meaningfully you have reached no one. And the bill is enormous. There was some segmentation, but not a lot.
We started to move the decision into models — ML-based personalisation and ranking across the home feed and search. I should say plainly that this was classical machine learning: ranking models, propensity scores, behavioural features. Nothing generative, nothing conversational. It has become unfashionable to point out that this sort of ML quietly powered most of the personalisation anyone enjoyed for a decade, but it did, and it worked.
The raw material was behavioural segmentation. The marketing instinct is to slice users by demographics — age, city, spending tier. The behavioural truth is that users are bundles of habits. There is a person who orders food every Tuesday at noon and has never once booked a ride. There is a person who commutes twice daily and has never opened the food tab. On a demographic sheet they might be twins. They need entirely different home screens, and at tens of millions of users the only way to give them one is to let a model read the habits and rank the surfaces accordingly. A caveat here is that the tiles on the top of the page - well those were a completely different topic of conversation and worth a few essays in themselves. But we concern ourselves with the feed, the banners and the search for today.
Search got the same treatment. A search box in a superapp is a small philosophical problem: when someone types chicken, do they want a restaurant, a grocery aisle, or a lift to a hawker centre with chicken rice in its name? The honest answer is that it depends on who is typing and when, which is another way of saying it is a ranking problem. We fed the same behavioural signals into search that we fed into the home feed, so the Tuesday-noon food orderer saw restaurants and the commuter saw destinations. Nobody writes poems about search relevance, but it is personalisation at its most accountable — the user has just told you exactly what they want, and you have one screen to prove you were listening.
A superapp is not one product with many features. It is many products sharing one front door, and growth's job is to be the doorman.
The under-appreciated effect was organisational. You can argue with a product manager about whose banner deserves the top slot; people did, at length, with decks. You cannot usefully argue with a ranking model whose objective function every country head has already signed off on. Personalisation did not just lift conversion. It moved opinions to debates over experiment hypotheses - something much more fruitful.
The funnel everybody profits from and nobody owned
The strange thing about superapp onboarding is that every vertical depends on it and no vertical owns it. Rides wants activated users. Food wants activated users. Financial services wants activated users with a verified identity, please, and quickly. But the first five minutes — sign-up, OTP, permissions, the first successful action — belonged to nobody, which is to say they belonged to entropy.
When we instrumented the funnel properly, it turned out to be leaking in a dozen unglamorous places. OTPs that arrived late on certain telcos. Permission prompts firing in the wrong order, so a user declined location access before understanding why a ride-hailing app might want to know where they were. Steps that made perfect sense to people who had designed them and none at all to someone standing on a Jakarta pavement with one bar of signal. None of these failures was dramatic. But all of them compounded at every stage.
The fix was not a heroic redesign. It was an experimentation cadence: re-instrument every step, form a hypothesis per leak, A/B test the fix, keep the winners, repeat until bored, then repeat after that. Over three quarters, onboarding success improved by fifteen percentage points, landing at 94%. At Grab's intake of new users, fifteen percentage points is the equivalent of a mid-sized city walking through the front door instead of getting lost in the porch.
The remaining six per cent, in case you are wondering, is not laziness. It is the hard floor of telco outages, borrowed phones, abandoned SIM cards and people who downloaded the app by mistake. Chasing it would have cost far more than it returned. Part of running a funnel honestly is knowing which losses are yours and which belong to the world.
The highest-ROI work in a superapp is usually the work no single vertical has an incentive to do. Onboarding lifted every team's numbers at once, which is precisely why no team had fixed it. Anything that benefits everyone equally is, by the iron logic of quarterly targets, nobody's job.
Why build features that never charge anyone?
The clearest example is the food reviews platform. We built it from scratch — user-generated reviews and photos woven into the food discovery journey. The internal scepticism was reasonable: Grab was a transactions company, reviews are content, and content is the sort of thing other companies do. There was no checkout at the end of reading one.
The result was a 1.4% revenue uplift and a measurable improvement in retention. People who read reviews ordered more often and tried more merchants. People who wrote them came back to see whether anyone had found their opinion of a laksa stall useful. A feature that charged nobody anything changed how often people paid for everything else.
The same logic carried the engagement loops and gamification work — challenges, streaks, loyalty mechanics, the small daily reasons to open the app that have nothing to do with needing a ride at that moment. The cynical reading of gamification is that it is a casino with worse prizes. The practical reading is that it manufactures sessions, and sessions are the raw material of everything else a superapp does.
Including, it turned out, advertising. A session without transaction intent is exactly the moment when a merchant's promotion is welcome rather than intrusive — the difference between a billboard on the pavement and a leaflet shoved into your hand mid-stride. The engagement tools we built generated $2.5M in ad revenue, money that arrived not because we charged users anything but because we had built places worth standing in. A session that ends without a transaction is not a wasted session. It is attention, and attention is inventory.
How do you run growth across six countries at once?
On the org chart, the answer was a matrix. GEL ran horizontally across Singapore, Indonesia, Vietnam, Thailand, Malaysia and the Philippines, while each country ran vertically with its own leadership and its own targets. In practice this meant every initiative I shipped had six owners, six sets of feedback, and six definitions of done.
It also meant that being right in one market was an excellent way to be wrong in five. Singapore is banked, card-heavy and iPhone-dense. Indonesia is cash-friendly, e-wallet-diverse and full of low-storage Android phones, where every megabyte your gamification feature adds is another argument for uninstalling the app. A streak mechanic calibrated to Singaporean commuting patterns collapses against Jakarta traffic. The food cultures alone could fill a separate essay, and several dinners.
The discipline Grab landed on was essentially to centralise the system, and localise the inputs. Grab shipped one engagement platform, into which each country team plugged its own campaigns, content and rewards, with the ranking layer deciding what each individual user actually saw. Country teams kept their budget and their judgement; the platform kept the coherence. The matrix stopped being a fight about whose campaign runs and became a fight about whose campaign wins — a much healthier fight, because the model declares the winner and the model does not attend meetings.
People sometimes ask what consumer growth at a superapp taught me, expecting a framework. What it taught me is that growth at that scale is mostly refereeing: between the verticals and the user, between this quarter's target and the habit you are trying to build, between what the loudest team wants and what the ranking model coldly reports. The home screen, I am told, is still contested. It always will be. The pixels are too valuable, and everybody can see them.