How We Boosted FloraSoul's Mobile Conversions by 41% — and AOV by 28% — in 45 Days
Client: FloraSoul India — natural wellness and floral-care brand
Project type: WordPress to Shopify migration + full store rebuild
Duration: 45 working days
Results: +41% mobile conversion rate, +28% average order value
FloraSoul came to us with a complaint we hear more than we should: "The website feels slow, and mobile sales just aren't happening." We hear it, we do a quick browser test on a mid-range Android, and within thirty seconds we know exactly why. What we found under the hood was worse than they knew — and fixing it required more than tweaks. It required a complete platform change.
This is the full story of what was broken, how we diagnosed it, what we built, and why the numbers moved the way they did.
The Challenge: A WordPress Store Bleeding Mobile Revenue
FloraSoul had built their WordPress store with good intentions. Scroll animations on every section. Beautiful entrance effects on product cards. Large, rich lifestyle photography loaded across every page. On a desktop, on a fast connection, it looked stunning. On the phone most of their customers were actually using, it was a different story entirely.
The first-call complaint was conversion rate. The team had noticed traffic was healthy but purchases weren't keeping pace, particularly from mobile. When we opened the site on a standard Android handset — not a low-end one, just a normal phone — the problem was immediately visible without running a single diagnostic tool. Sections stuttered into view. Images loaded in stages. Scroll felt sluggish. The experience signalled to anyone on a budget phone: this store is not built for you.
When we did run diagnostics, the real picture came into focus. The animation library they were using — a scroll-trigger JS library embedded into their WordPress theme — was adding meaningful blocking weight to every page load. But the deeper problem was the images. Some product and lifestyle images were being loaded at original export sizes. Some of those files were over 25MB. And critically, several of those images were technically hidden from view in the current page design — never visible to the user — but were still being fully loaded on page paint. The browser had no way to know they weren't needed; they were in the DOM, so it fetched them. A hidden 20MB PNG was consuming mobile bandwidth and delaying rendering as reliably as if it had been on the hero.
This was not a CRO problem. It was a platform and engineering problem. WordPress, the way it had been configured here, was not the right foundation to fix it on.
Our Approach: Migrate First, Then Build Right
We recommended a full migration to Shopify for two reasons. First, Shopify's image CDN and asset pipeline handle resizing and format conversion automatically — upload a large image and Shopify serves it at the exact dimensions requested, in WebP where supported, at the right size for the device. That alone would eliminate the image bloat problem at the infrastructure level rather than requiring manual management of every asset. Second, moving to a platform where we had full control of the theme Liquid code meant we could replace the animation library entirely with surgical, manual scroll-trigger logic — only the transitions the brand actually needed, with no library overhead.
As an Official Shopify Partner, we had access to Shopify's theme development sandbox and could build a performance-first custom theme rather than adapting an existing one.
The scope was agreed upfront: every page, every collection, all products migrated and re-uploaded, full image pipeline rebuild, and as part of the commercial strategy work, we also developed a bundle framework for FloraSoul to present product combinations at a higher perceived value. That last piece was important — and it's the key to understanding why AOV moved alongside conversion rate.
The Build: 45 Days, Every Page Rebuilt
Sprint 1 — Architecture and image pipeline. The first priority was establishing the Shopify theme structure and getting the image pipeline right from the start. Every product image was re-exported at appropriate dimensions (max 2048px on longest edge), run through compression, and uploaded via Shopify's admin API. The CDN then handled WebP delivery and responsive srcset automatically. The 25MB files that had been loading on mobile became sub-200KB WebP assets served at the exact display size. That's not an exaggeration — the before/after on individual image weights was sometimes a 99% reduction.
The hidden images were audited by reviewing the full list of loaded network requests on first paint — not just what was visible on screen. Every asset showing up in the network tab that wasn't contributing to visible above-the-fold content was either removed or deferred behind a genuine user interaction.
Sprint 2 — Animation replacement. The scroll-trigger library was stripped out entirely. We replaced it with lean, hand-written Intersection Observer logic in the theme JavaScript — roughly 40 lines of vanilla JS replacing a library that added hundreds of kilobytes of blocking script. The transitions FloraSoul wanted kept: product card fade-in on scroll, the hero reveal. What we cut: the entrance animations on every heading, the stagger delays on every section, the floating CTA animation. The rule we applied internally was simple — if the animation adds perceived value to the buying decision, keep it; if it's decoration, it goes.
Sprint 3 — Page structure and product migration. Every collection page, product page, and static content page was rebuilt in Liquid. All product data was migrated and verified. Metafields were used to store ingredient callouts and product usage details, keeping product pages informative without adding page weight via embedded content blocks.
Sprint 4 — Bundle architecture and checkout. The bundle strategy we recommended to FloraSoul was straightforward: gift sets and "routine kits" combining complementary products at a small discount versus buying individually. The logic was that a customer buying a single floral water was likely to benefit from a mist paired with a complementary serum — and if that combination was pre-curated with a clear use case, conversion to the bundle over the individual item was high. We built the bundle sections as native Shopify sections with custom Liquid, no app dependency. This kept page weight controlled and the experience consistent.
Sprint 5 — QA and handover. Full cross-device QA on iOS and Android, across Chrome and Safari, at multiple connection speeds. Load time targets: under 2.5 seconds on mobile on a 4G connection. We hit them.
The Results
Measured over 30 days post-launch against the equivalent prior period:
Mobile conversion rate: +41%
The biggest lift came from the image and animation work. Mobile visitors who had previously experienced a sluggish, stutter-heavy store were now moving through product pages and to checkout without friction. The store loaded fast on the phones they were actually using.
Average order value: +28%
This is the number that surprises people. When you fix conversion rate, you typically see AOV hold flat or dip slightly — you're converting buyers who were previously hesitant, and hesitant buyers tend to start with smaller orders. The fact that AOV went up 28% is almost entirely attributable to the bundle strategy. The routine kits converted well, and the customers buying them were spending more per transaction than single-product buyers had previously.
Platform stability. On WordPress, the FloraSoul team had been managing plugin conflicts and hosting performance variability. On Shopify, those conversations stopped.
FloraSoul used the launch as a foundation. Within a few months, they had grown enough to bring development in-house — which is, genuinely, the best outcome a project can have.
Key Takeaways
Hidden assets are invisible performance killers. An image that isn't displayed is still loaded. Always audit network requests on first paint, not just what's visually on screen. We found 25MB files loading on mobile that no customer ever saw.
Animation libraries are almost never worth the overhead. A JS animation library adds hundreds of kilobytes of blocking script for effects most users won't consciously notice. Manual Intersection Observer logic for the transitions you actually need is almost always the right call.
Platform choice is a performance decision. Shopify's image CDN solves the image optimisation problem at the infrastructure level. On WordPress, you're managing it manually, plugin by plugin, forever.
CRO and AOV are not independent levers. The conversion fix and the bundle strategy were designed together. If we'd only fixed the technical issues without addressing the commercial structure, AOV would have been flat or down.
If I were starting this project again, I'd run the full DOM network audit in Sprint 1, not after the first week of build. We caught the hidden image issue during the project, not before it. An automated crawl of all loaded assets on first paint should be standard in discovery. It would have saved a few days of mid-project reprioritisation and surfaced the full scope of the problem before we'd already started rebuilding pages.
Thinking About a Similar Problem?
If your store is running on WordPress and mobile conversions are underperforming your traffic, the cause is almost never the content. It's the stack. We've navigated this migration pattern with multiple D2C brands and the performance delta between an optimised Shopify build and a bloated WordPress install is consistent.
You can read more about our Shopify development process here, or see the FloraSoul project in our portfolio.
FAQ
How long does a WordPress to Shopify migration typically take?
For a brand of FloraSoul's size — a few hundred SKUs, custom pages, existing content — 45 working days is a realistic timeline for a full migration that includes theme rebuild, product migration, and QA. Simpler stores can move faster; brands with larger catalogs or complex custom functionality take longer. We scope every project before committing to a timeline.
Can't you fix image and animation performance issues on WordPress without migrating?
Yes, partially. You can compress images manually, install caching plugins, and remove animation libraries from your WordPress theme. The problem is that this requires constant maintenance — every plugin update, theme change, or new image upload can reintroduce the problem. Shopify's CDN handles image optimisation at the infrastructure level, which means the fix stays fixed.
What caused the AOV to increase, not just the conversion rate?
The conversion rate increase came from performance fixes. The AOV increase came from the bundle strategy — pre-curated product combinations (routine kits and gift sets) presented at a slight discount versus individual purchase. Customers buying bundles spend more per transaction. Both interventions happened in the same project, which is why both metrics moved.
Why do hidden images still load even if they're not visible?
Browsers load assets based on what's in the DOM, not what's visible in the viewport. If an image tag exists in the HTML — even inside a hidden div or a section with display: none — the browser typically fetches it anyway. This is one of the most common performance issues we find on heavily customised WordPress themes, where elements get hidden visually but not removed from the DOM.
Is Shopify the right platform for every D2C brand?
Not every brand, but most Indian D2C brands at the growth stage benefit significantly from Shopify's native payment integrations, CDN infrastructure, and predictable hosting performance. If your catalog is highly complex, you have very specific backend integrations, or you need complete server-side control, there are edge cases where WooCommerce makes sense. For most brands we work with, Shopify is the right foundation.
Do you still work with FloraSoul?
FloraSoul now has an in-house development team — which they built partly on the revenue growth that came post-launch. We consider that a success. We designed the Shopify theme to be maintainable by in-house developers, with clean Liquid structure and documented customisation points.
Rishabh Sethia, Founder & CEO of Innovatrix Infotech. Former Senior Software Engineer and Head of Engineering. DPIIT Recognised Startup | Official Shopify Partner | AWS Partner.