Language decides the funnel. Not country.
We scraped 4,994 ads across Malaysia and Singapore in Chinese, Malay and English, then simulated 1,000 buyers for each of six customer types. One law explains almost everything — and it overturns the channel plan in Volume 1.
Chinese buyers message. English buyers browse. Malay buyers do both — and mostly browse.
Malaysia only looks like a messaging-first market because 66% of this category's ad volume there is Chinese-language. Strip language out and the country difference nearly vanishes. Chinese runs 91% messaging in both countries. English runs 94% website in both. The funnel follows the language, not the border.
| Language | Ads | All messaging | Messenger | Website | Mean ad age | Runs 180d+ | |
|---|---|---|---|---|---|---|---|
| Chinese ZH | 2,467 | 91.3% | 35.1% | 25.6% | 7.2% | 122d | 20% |
| Malay MS | 584 | 31.3% | 30.7% | 0.1% | 68.0% | 79d | 14% |
| English EN | 1,160 | 5.5% | 1.9% | 0.6% | 93.8% | 54d | 6% |
Messaging, full stop. WhatsApp beats Messenger in every single segment. And Chinese creative compounds — 122-day mean life, 20% still running past six months.
the accumulating asset
There is no Malay Messenger lane. Do not build one. Malay buyers who message use WhatsApp only (30.7% vs 0.1%). But most don't message at all — 68% go to web.
web-leaning
English is 94% website and burns out fastest — a third the life of Chinese, 6% surviving past six months. Budget English for churn, Chinese for accumulation.
consumable
Within Malay-language ads, website out-lives messaging and it isn't close — 86-day mean life vs 63, and 34% vs 18% still running at 90 days. So the naive reading of "Malaysia is messaging-first, therefore send Malay ads to WhatsApp" is wrong on the brand's two biggest audiences. Malay-to-web is the better-surviving default.
Decompose by segment and language, and the plan writes itself.
Every "this segment is messaging-led" claim in the category dissolves once you control for language. Here is the same data cut both ways.
| Segment → product | Lang | Weighted n | Messaging | Website | Read | |
|---|---|---|---|---|---|---|
| Gastric ORIGINAL 7g | ZH | 1,322 | 93.4% | 47.4% | 4.4% | 61% of the segment |
| MS | 604 | 12.3% | 11.8% | 87.4% | Strongest Malay cell measured. This carries the lead SKU. | |
| EN | 229 | 3.5% | 2.6% | 95.6% | web, no exceptions | |
| Fatigue / energy AVOCADO 8.8g | ZH | 968 | 96.4% | 33.2% | 3.1% | 55% of the segment |
| MS | 514 | 50.4% | 50.0% | 49.4% | The only genuine 50/50 in the corpus → this is the split-test | |
| EN | 268 | 4.9% | 3.0% | 95.1% | web | |
| Bowel PSP 10.4g | ZH | 1,018 | 94.5% | 41.4% | 4.3% | 84% of the segment |
| EN | 140 | 5.0% | 3.6% | 93.6% | web | |
| Confinement PSP · berpantang | MS | 148 | 39.9% | 38.5% | 57.4% | 94% Malay. Web leads, but 38.5% WhatsApp is a real minority |
| Elderly / carer PSP · adult child | ZH | 714 | 93.7% | 56.3% | 5.0% | Strongest WhatsApp cell in the entire corpus. 94% Chinese |
ORIGINAL → Malay-to-web is the workhorse (87.4% web on the largest Malay
sample we have). Chinese-to-WhatsApp is the compounding side bet.
AVOCADO → the one honest coin-flip. Run the destination split-test here, and
note the messaging half is 100% WhatsApp, 0% Messenger.
PSP → Chinese-to-WhatsApp for the elderly-carer buyer (56.3% WhatsApp, the
corpus peak). Malay-to-web for the confinement mother, with WhatsApp as the discretion option
she'll self-select into.
Nobody prints the number. We checked all 4,994 ads.
Across 771 competitor ads that name inulin or prebiotics in Malaysia and Singapore, exactly five print a number in grams — all from a single Singaporean advertiser. Zero in Malaysia. And not one of them is a brown-rice drink.
This converts "We print the number" from a nice line into a measured, uncontested position. It is also the rare claim that is simultaneously the strongest and the safest — it is a statement about a label, not about a body, so it survives Malaysia's closed claim list intact.
"8.8 grams of chicory-root inulin. Malaysia's threshold for the permitted claim is 2 grams. Most gut-health drinks won't tell you their number."
Several of the largest advertisers in this category are running claim types that Malaysia's closed positive list does not permit — quantified sugar-blocking percentages, specific weight-loss figures, symptom-relief language for a named condition, and published blood-glucose numbers. An advertiser whose best-performing line is non-compliant cannot scale spend safely. NutriBrownRice can tell its entire story legally, which is a durable structural edge — and the same logic is a live risk on their own Avocado page, which currently carries five non-compliant claims. advertisers de-identified in this version
We ranked hooks by how long advertisers keep paying for them.
The Ad Library won't show spend, but it shows run length — and nobody keeps funding a loser. An ad alive at 180 days is a proven winner. So longevity is the performance proxy.
| Archetype | Mean age | 180d+ | 365d+ | What it tells us |
|---|---|---|---|---|
| Pharmacy-availability drop | 198d | 38% | 24% | The longest-running hook in the corpus. 85% WhatsApp-destined. Half are cheap statics. NutriBrownRice runs zero. |
| Testimonial story | 158d | 32% | — | Carer-POV survives — in Chinese and Malay. The English executions die. |
| Problem-stat education | 127d | 45% at 90d | — | The legally-clean fibre-gap lane. Safest thing we can scale hardest. |
| Symptom callout | 108d | 17% | — | #2 by volume, below-median durability |
| Direct question ("Bloated?") | 94d | 14% | — | #1 by volume (23.2%) and the worst durability of any high-volume archetype. The category's reflex is its weakest move. |
| Family caregiver | 51d | 6% at 90d | 1% | Worst measured — and 74% English, which is the actual cause |
The single most useful line in this table: the archetype the category uses most is the one that survives least. Everyone opens with "Bloated? Constipated?" — and those ads die at 94 days while pharmacy-availability ads run past a year.
The winning Malaysian pattern is online-to-offline. You already own the hard part.
Thirteen advertisers carry 线下旗舰店 — "offline flagship store" — in their page name. 962 ads, essentially all messaging. And 224 ads across 48 advertisers name a pharmacy in the copy.
The mechanic: Meta ad → "Send message" → WhatsApp → route the buyer to the nearest pharmacy, or close the order in chat. The single largest advertiser measured — 820 weighted ads — runs creatives listing actual pharmacy addresses across three states, with opening hours, a Maps link and a WhatsApp number.
One major advertiser headlines "more than 50 outlets" as a genuine achievement.
Another has run a single creative for 535 days driving traffic to one pharmacy in a single town.
And the longest-lived creative structure in the entire corpus — 630–663 days — is a per-city pharmacy drop.
500+ points of sale via ABRI ASIA: hospitals, pharmacies, supermarkets, petrol stations, convenience stores.
This is ten times the footprint the leading advertiser promotes as a win, and 500 times the single-pharmacy operator's, and it is currently generating zero advertising.
The hook needs no product shoot, carries no health claim by construction, and answers the hardest objection a carer has — will it clash with Mum's medication? — by sending them somewhere a pharmacist can answer.
Distribution has been treated as a cost centre and a channel-conflict problem. It is the acquisition engine, and it is the one asset no competitor can copy this quarter. It needs one thing to switch on: a per-SKU list of which of the 500 doors actually stock which product.
Scored against 25 Malaysian and 20 Singaporean competitors, the product ranks first in both.
| Rank | Product | Score | Per day | Dose |
|---|---|---|---|---|
| 1 | NBR Purple Sweet Potato — ecobag | 86.2 | RM2.67 | 10.4g |
| 2 | NBR Avocado — ecobag | 83.2 | RM2.67 | 8.8g |
| 3 | NBR Original — ecobag | 82.3 | RM2.50 | 7.0g |
| 4 | NBR Original — box, as merchandised today | 79.5 | RM3.25 | 7.0g |
| 5 | ecoBrown's Original — nearest MY competitor | 54.6 | RM1.34 | undisclosed |
NutriBrownRice's inulin costs only about 5% more per gram than buying the raw ingredient at retail. Which means the brown rice, the coconut oil powder, the manufacturing, the certification, the packaging and the 35-gram breakfast around it are effectively free.
Note also rank 4: the product loses 2.8 points purely by being sold as a box instead of a monthly bag. The merchandising, not the product, is what's costing them.
Nine ads, chosen on evidence, ready to produce.
34 production-ready creatives exist across the three products — full copy, format, destination, visual direction, claim-risk and messaging handoff. These nine go first, picked where the simulation's hook ranking and the corpus's longevity evidence agree.
Highest-scoring safe hook written into any creative. It's a permission-to-eat frame aimed at the largest audience pool (1.1M, second-highest willingness to pay) — and it sits in the 127–158 day archetype band rather than the 94-day question reflex the category over-uses.
The moat asset, and the only week-1 ad that scales without human labour. English goes to web 91–96% of the time. Corpus finding worth obeying: a number on a static panel survives; the same number in video does not. It's also the retargeting substrate every messaging ad needs behind it — so it must exist from day one.
Top revenue hook in the whole simulation for the confinement mother. The dependency-break argument — a laxative empties, it doesn't rebuild — reframes the category without touching a bowel claim. Her mandated safety question (boleh ke masa menyusu?) needs a human answer before purchase, which no product page can give. That is why messaging wins here.
The strongest evidence-to-cost ratio in the entire file. 198-day mean lifespan vs 105 for every other Malaysian hook — 5.4× the one-year survival rate. Carries no health claim by construction, needs no product shoot, and turns 500 existing doors into the ad.
The pharmacy archetype is 99% Chinese, and Chinese pooled is 91% messaging. The clone source is the highest-grouped single creative in the category, and the per-city structure is proven at 630–663 days — the longest-lived creative structure in the corpus. Shares LW6's production day, so the second-highest-confidence ad in the file costs one language cut.
LW2 cheapest creative in the manifest — top-down tabletop, no face, no voice-over LW5 the untouched milk tin, for the adult child LW7 dose-disclosure master layout LW8 the fibre-gap stat — structurally outside the claim regime, so it's the one to scale hardest.
One product first. Not three.
Running all three products properly needs RM27,000–36,000 a month to keep every ad set above Meta's learning threshold. The proving budget is RM12,000. Three products cannot launch together without starving every ad set below RM30/day — which buys unreadable data at full price. So month one is ORIGINAL plus the product-agnostic pharmacy lane, and the other two are gated on fixes they need anyway.
- ORIGINAL only, plus the O2O pharmacy lane. 6 ad sets, 11 creatives, 3 languages, 2 destinations
- 60% web / 40% messaging — the inverse of a naive "Malaysia is messaging-first" read, because Original's audience is Malay-and-English-led and both go to web
- Messaging keeps 40% not as a destination preference but as the AOV instrument: a web page sells the RM79 monthly; a conversation sells the RM149 or the RM219 household
- Destination split-test live on the one genuine coin-flip cell (Malay fatigue, 50/50)
- Gates: AOV ≥ RM110 · attribution coverage ≥ 70% · ≥1 winning creative · median first reply ≤ 5 min
- PSP enters — it holds the two highest revenue hooks in the entire simulation. Gated on the stockout being cleared and the 10.4g figure reaching its own product page
- Chinese-language WhatsApp lane scales — it's the compounding asset (122-day mean life)
- Conditional entry, and this is a hard rule: if month 1 fails on AOV or attribution, do not spend RM16,000. Hold at RM12,000, fix the ladder and the tracking chain, re-run. Scaling a broken chain buys unreadable data at 33% higher cost
- AVOCADO enters — gated on its product page getting an ingredient list and nutrition panel, which it currently lacks entirely, plus removal of five live non-compliant claims
- Scale the proven winners; probe automated campaign types at ≤10% of budget only
- Singapore opens on the website funnel — it's 59% web, the mirror of Malaysia
- RM4,000 reserve, held outside the test, for winner-scaling only
Total 90-day media: RM52,000 + RM4,000 reserve
The same media plan is a win or a failure depending only on whether the price ladder is built.
| If average order value is… | Revenue | Front-end ROAS | Verdict |
|---|---|---|---|
| RM79 — box/hero only, no ladder | ~RM9,500 | 0.8 | Fails |
| RM120 — realistic month 1 with the ladder | ~RM14,400 | 1.2 | Marginal — and that is the honest expectation |
| RM150 — ladder plus chat upsell working | ~RM18,000 | 1.5 | Working |
That spread is the entire argument for doing the pricing work before the media work. The simulation's best menu for five of six customer types is the household bundle, at average orders of RM152–230. The ladder is what converts a losing media plan into a winning one — not better ads.
Attribution. Malaysia's funnel runs through messaging, and Meta's visibility ends the moment someone taps through to WhatsApp. Conversions become invisible in Ads Manager, which means an ad reporting ROAS 0.03 may be the profitable one. If the tracking chain isn't wired before day one of spend, Meta optimises against a false signal and kills the winner. The referral token has a retention window measured in days — after that, the ad that drove a customer is unrecoverable.
Reply time. Roughly 32% close at a five-minute first reply versus ~5% at 24 hours. That's a 6.4× revenue swing sitting entirely on operations. Messaging-first makes this the binding constraint. Hard rule: never scale ad spend past the reply-time SLA — spend that outruns reply latency converts at 5% and you've paid four times over for the same revenue.
No creative is ever called a winner or a loser on ROAS alone. Every verdict names at least two other signals from the matrix or its funnel stage, states which evidence tier it rests on, and states which attribution view it uses. Awareness creative is judged on reach, views, shares and saves — never on ROAS.
Three findings were overturned before they reached you.
Correction 1 — the sample was blind to Chinese
The first pass used 14 search queries, none in Chinese, in a category where 66% of Malaysian ad volume is Chinese. It also let one atypical advertiser — 100% website, a fifth of that corpus — set the average. Conclusion drawn: "66% of ads go to website." Wrong by more than double.
Correction 2 — the destination field doesn't say what I assumed
Meta's Ad Library serialises Messenger, WhatsApp and Instagram Direct identically as "Send message" with no URL. There is no field naming the inbox. The first pass inferred "Messenger" from that. The operator disproved it by clicking a competitor's ad. The detector now triangulates from the CTA, the URL and the ad copy — WhatsApp links, Malaysian mobile numbers, and the words the advertiser uses.
Correction 3 — "Malaysia is messaging-first" was itself an artefact
Even the corrected country-level number was misleading. Decomposed by language, the country effect nearly disappears: the funnel follows the language. Malaysia only reads as messaging-first because its category ad volume happens to be two-thirds Chinese — while NutriBrownRice's two largest audiences are Malay- and English-led, and both go to web. This is why month one runs 60% web, the inverse of what the corrected country data alone would have suggested.
1,000 synthetic respondents per customer type, choosing from real price menus with a calibrated price sensitivity each. It is a structured prior, not market data. Its value is forcing every assumption to be explicit and numeric, then showing which price and hook cells are robust and which are fragile. Two earlier versions produced nonsense — both said "the biggest pack always wins" at implausible rates — and were rebuilt rather than shipped. The final model independently lands on ~RM28 cost per order, matching an estimate reached by a completely different route. The honest test remains the live proving run.
A pass over all 15 client assets found that the campaign's most-repeated shot does not exist and would need to be produced — and that on two of the three focus products, that shot would photograph a non-compliant paraphrase of the one claim the brand is legally allowed to make. Both are fixable before spend; neither was visible from the file names.
Volume 2 — ads playbook, ICP simulation, 90-day plan · 25 July 2026
Companion to Volume 1 — market survey, repositioning, pricing and channel strategy
Corpus: Meta Ad Library, Malaysia + Singapore, 48 queries in Chinese, Malay and English
All claim guidance requires Malaysian food-law sign-off before publication.