12.9 seconds to 3.6: how fixing mobile speed helped a ready-to-eat meal brand grow revenue 4×
A positioning A/B test and a Core Web Vitals rebuild took a ready-to-eat Indian meal brand from no online sales to 4× revenue. Numbers, method and what to copy.
Smaran Challapalli
Web & App Dev @ ShraviTech · Published on Sep 2, 2026

Before a single ad was tested, this brand's storefront took 12.9 seconds to load on a phone. That number was quietly taxing every rupee of ad spend. This is the story of a positioning experiment and a performance rebuild that together took a ready-to-eat Indian meal brand from zero online sales to 4× revenue.
Engagement: D2C food · Brand positioning, Growth Marketing, Shopify performance rebuild
The numbers
| Measure | Before | After |
|---|---|---|
| Mobile PageSpeed score | 38 | 84 |
| Desktop PageSpeed score | 57 | 99 |
| Mobile Largest Contentful Paint | 12.9 s | 3.6 s |
| Best Practices score | 73 | 96 |
| SEO score | – | 100 |
Revenue: 4× since taking over the brand, from a standing start with no online sales. Positioning A/B test: the travel-friendly message beat the daily-food message by 2× on revenue.
The situation
A ready-to-eat Indian meal can be sold a dozen ways: daily convenience, health, students, travel, gifting. The team had no online sales and no validated position, and a hunch was not going to settle it. Underneath that, the Shopify store was slow enough on mobile, where most D2C food traffic lives, that any campaign would have leaked customers at the door.
What we did
Ran the positioning as an experiment. Two campaigns, identical audience and product, different message: "daily healthy food" against "travel-friendly food". Travel-friendly won by 2× on revenue. We narrowed again to international travellers and rebuilt the creative around them. The same insight is now moving offline, with conversations under way for an airport stall and in-flight placement.
Rebuilt the store for speed. A performance-first Shopify rebuild focused on Core Web Vitals, the rendering path and technical hygiene. Mobile went from 38 to 84, desktop to 99, Largest Contentful Paint from 12.9 seconds to 3.6, with a perfect SEO score.
Then scaled the winner. With a message that converted and a store that loaded, the ad spend finally turned into orders instead of bounces.
What made it work
Order of operations. Many brands scale ads on top of a slow store and conclude that ads do not work. Here the speed fix and the positioning test happened before the spend, so when the budget went up it went up on a page that could carry it.
The A/B test also did something a workshop never could. It settled an argument with data, and the winning message turned out to be the one the team had ranked second.
What we would tell a founder in the same spot
- →Test your load time on a mid-range Android phone on a mobile network before you test anything else.
- →Settle positioning with two campaigns, not two opinions.
- →A perfect SEO score costs nothing extra if the rebuild is done properly. Ask for it.
- →Once the message and the page both work, that is when you spend.
If you do not know how long your store takes to load on a phone, find out first. The free SEO and AI visibility audit reports it. The service behind this rebuild is Web & App Development, and the full results are on the work page.
FAQs
Was the store rebuilt from scratch?+
It stayed on Shopify. The theme and the rendering path were rebuilt; the catalogue and orders were untouched.
What is a good mobile LCP for a D2C store in India?+
Under 2.5 seconds on a mid-range phone is the target. 3.6 seconds is a large improvement from 12.9 and the work continues.
How did you measure the 2×?+
Same audience, same product, same spend, different creative. Revenue attributed per campaign over the test period.
Tags
About Author
Smaran Challapalli
Web & App Dev @ ShraviTech