From RM 80K to RM 307K Monthly: How We Grew a Malaysian E-Commerce Store's Revenue 283% in 10 Months
When this Malaysian e-commerce client first walked into our Mont Kiara office, they had a recurring problem familiar to anyone who’s hired more than one SEO agency. Organic traffic was flat at around 5,000 monthly visitors. Their previous agency reported on rankings and impressions, but monthly revenue was stuck at RM 80,000 — meaningful for a small business, but well short of where the founders believed their category demand sat.
We ran a discovery audit. The diagnosis was clear: the site had a Stage 1 problem masquerading as a Stage 3 problem. Their previous agency had been buying links and writing blog posts, but the technical foundation underneath was leaking authority faster than any link campaign could replace it. Worse, the product pages that did rank weren’t converting — there was no Stage 2 (CRO) layer at all.
Ten months later, they were at 15,000 organic monthly visitors and RM 307,000 in monthly revenue. Here’s the actual work.
The starting point
Pre-engagement metrics, month 0:
| Metric | Month 0 | Month 10 | Change |
|---|---|---|---|
| Organic monthly visitors | 5,000 | 15,000 | +300% |
| Monthly revenue | RM 80,000 | RM 307,000 | +283% |
| Cost-per-acquisition (organic) | RM 220 | RM 78 | -65% |
| Product pages indexed | 1,840 | 1,650 | -10% (cleanup) |
Most agencies would have started by adding more content and more links. We started by removing things. Roughly 190 thin or duplicate product pages came out in Stage 1. Index bloat was suppressing the rest.
Stage 1: Analysis (weeks 1–4)
We ran Screaming Frog across the full site, pulled the Google Search Console Coverage report, and did a line-by-line audit of the top 50 revenue products. Three categories of issue surfaced:
Technical debt. Product pages were missing canonical tags or canonicalising to themselves with parameter URLs (faceted navigation hadn’t been managed). Schema.org markup was implemented but failed validation on 60% of product pages. Largest Contentful Paint was over 4 seconds on mobile because the hero image was unoptimised and the review widget loaded synchronously.
Indexation waste. 1,840 product URLs, but only 600 of them were generating organic traffic in the last 90 days. The remaining 1,240 were either out of stock, discontinued, or so thinly described that Google had de-indexed them anyway. Crawl budget was being wasted.
Content uniqueness. Roughly 40% of product descriptions were lifted verbatim from manufacturer copy that competitors also used. Google was correctly treating them as duplicate content and quietly suppressing them in commercial queries.

The key insight from Stage 1
The site didn’t need more content. It needed less, and the remaining content needed to be unique, indexed correctly, and load fast. We cut indexable product pages by 10% before adding anything.
Stage 2: CRO (weeks 3–10, ran in parallel with Stage 3)
This is the stage most retainers skip. Driving organic traffic to a product page that converts at 0.6% is wasted spend. We rebuilt the product template in three sweeps.
The first sweep added trust signals above the fold — Google Reviews badge, return policy callout, payment-method icons, and a visible WhatsApp click-to-chat. The second sweep rewrote product hero copy with concrete benefits and dropped the manufacturer-lifted descriptions in favour of unique 200-word write-ups. The third sweep integrated the review widget asynchronously and added a sticky add-to-cart bar on mobile.
Conversion rate on the affected product pages climbed from 0.6% to 1.4% over the first 90 days, then stabilised around 1.7% by month 6.
Stage 3: On & Off-Page Optimization (weeks 4–40)
With the technical foundation cleaned up and the conversion rate climbing, Stage 3 had something worth optimising for.
On-page work focused on rewriting product titles, descriptions, and meta tags for the top 200 revenue products. Category page introductions were added (most were empty before). Internal linking was restructured: each product page now linked back to its parent category and to 4 related products, and category pages linked down to their top 12 products by margin (not by alphabet).
Schema markup was rebuilt to validate. Product, Offer, AggregateRating, and Review schemas were added to every product template. Breadcrumb schema was added site-wide. Within 6 weeks of the schema fixes, product pages started showing star ratings in Google results — click-through rate from SERPs lifted around 18%.

Off-page work was deliberate. We didn’t buy links. We earned 22 editorial mentions across Malaysian e-commerce publications, retail trade press, and category-specific blogs over the 10 months. We placed the founder in two podcast interviews. Each mention came with a contextual link, but the bigger signal was the brand co-occurrence that the editorial coverage created — the same pattern that now drives AEO/GEO citations.
Stage 4: Re-Engagement (weeks 16–40)
By month 4 the foundation was solid enough to layer in remarketing. Abandoned-cart sequences (email + SMS via the client’s existing tools), Facebook remarketing audiences synced from GA4, and Google Ads dynamic remarketing on the top 100 product views. Stage 4 isn’t strictly “SEO”, but it’s where the compounding accelerates — the organic visitors Stage 3 was producing now had a second touchpoint, and revenue per visitor climbed accordingly.
What month 10 actually looked like
The headline numbers — 300% traffic growth, 283% revenue growth — tell most of the story, but two underrated metrics matter more for the business.
First, organic cost-per-acquisition dropped from RM 220 to RM 78. That’s the metric that compounds. As traffic grew, fixed retainer costs spread across more leads, and CPA fell faster than traffic rose.
Second, revenue mix shifted. In month 0, 78% of monthly revenue came from Google Ads. By month 10, organic accounted for 61% and Google Ads dropped to 39%. The founders reduced ad spend by RM 18,000 per month while still growing total revenue — most of the SEO investment paid for itself purely through reduced ad budget.
What we’d do differently
Two things, with the benefit of hindsight.
First, we’d have shipped the schema fixes faster. They were technically the smallest deliverable in the engagement but they unlocked the rich-result CTR lift that compounded for the next 8 months. We treated them as a week-3 ship; they could have been week-1.
Second, we’d have integrated AEO/GEO from the start. The engagement ran through 2024, and we officially expanded into AEO/GEO in September 2025. With the benefit of that methodology, we’d have rebuilt the product schema for LLM extractability and earned ChatGPT citations alongside the rich-result work.
Want results like this for your business? Our e-commerce SEO service follows the same 4-stage approach. Request a free founder-led discovery audit.
Adam Yong
Founder & Lead SEO Consultant
Adam Yong founded Adam SEO in 2011 after spending six years navigating every major Google algorithm update since 2005. He is the architect of the proprietary 4-Stage 9-Step SEO Framework.
15+ years SEO practice · Top 10 Malaysia 2025/2026
Want results like this for your business?
Adam personally reviews every discovery enquiry. Get a free, founder-led SEO audit.