Shopify does not make your ads cheaper. Nothing will. Meta CPMs in India climb every festive season and Google's auction does not care which platform your cart runs on. What Shopify can do is change the denominator: more of the traffic you already paid for turns into orders, more of those orders actually get delivered, and more of those buyers come back without another rupee of media spend. That is where the real reduction in customer acquisition costs happens, and it is almost entirely an execution problem on your side of the click.
CAC is a fraction, and the platform only touches the bottom half
Blended CAC is spend divided by new customers. Founders spend 90% of their attention on the numerator, because that is where the dashboards are. The denominator is quieter and moves more.
Run the arithmetic. Say you spend ₹4,00,000 a month on Meta and Google, and your blended CPC lands at ₹8. That buys 50,000 sessions. At a 1.6% conversion rate you get 800 orders, so CAC is ₹500. Push the conversion rate to 2.0% — not a heroic number, a normal one for a well-built store with a decent offer — and the same 50,000 sessions produce 1,000 orders. CAC drops to ₹400. Twenty per cent off, with no change to creative, bidding or budget.
That 0.4 percentage point is what a platform, a theme and a checkout are actually worth. It is also why "we'll fix CAC with better creative" and "we'll fix CAC by rebuilding the PDP" are not competing plans. They multiply.
The checkout is where the cheapest wins are
Shopify's checkout converts better than almost anything you would build yourself, and you are not allowed to break it, which is the point. A few things we change on nearly every Indian store:
- UPI as the first payment method, not the fourth. Razorpay or Cashfree will happily show you cards on top because that is the default order. Reorder it. UPI intent on mobile is a two-tap payment; a card form is eleven fields and an OTP that arrives late.
- Shop Pay and express wallets above the form, for returning buyers. Saves the address typing that kills mobile checkouts.
- Kill the surprise. Shipping and COD fees revealed at the last step are the single most common abandonment cause we find in session recordings. If you charge ₹49 for COD, say so on the cart drawer.
- One-page checkout, no custom scripts stacked on it. Every app that injects into checkout adds latency at the worst possible moment.
None of this is glamorous. All of it shows up in the order count within a fortnight.
COD and RTO: the acquisition cost nobody puts in the spreadsheet
If 65% of your orders are COD and a quarter of those come back undelivered, your real CAC is not what Shopify's analytics says. You paid for the order, paid forward shipping, paid return shipping, and got nothing.
Worked example. 1,000 orders a month, 650 on COD, 25% RTO — so 162 parcels round-trip for free. Now offer a ₹75 prepaid discount. Suppose 100 orders switch from COD to prepaid, which is a conservative shift when the discount is shown on the product page and not buried in checkout. Prepaid failure is near zero, so you avoid roughly 23 RTOs. At ₹140 of wasted logistics per failed COD order, that is ₹3,220 back. Those 23 orders now also deliver, at say ₹400 contribution each, another ₹9,200. Total ₹12,420 recovered against ₹7,500 of discount. Net ₹4,920 a month, and your cost per delivered customer falls even though your average discount went up.
The awkward part: this only works if you measure CAC against delivered orders. Plenty of brands we audit are optimising Meta campaigns against a purchase event that includes parcels which will be sitting in a Delhivery hub three weeks later. Fix the metric before you fix the funnel.
Speed is an acquisition cost line item
A slow store means you pay for the click and lose the session. On a 4G connection in a tier-2 city, the difference between a 3.4-second LCP and a 1.8-second LCP is the difference between a landing page and a bounce. Paid traffic is the worst-affected because it is cold, impatient and usually on mobile.
Where the weight actually comes from, in our experience, in this order: hero images shipped at 2400px for a 390px viewport, review and upsell apps loading synchronously, three analytics pixels where one server-side setup would do, and a theme with six sections rendering above the fold. Removing two apps you stopped using in 2023 often beats any amount of Liquid refactoring.
If you want a quick read on where you stand before committing to a project, SwiftStore scans the store, fixes what is safely automatable and keeps an eye on the score over time — useful for catching the regression that happens the week after someone installs a new app. For the deeper work, theme surgery and render-blocking cleanup, that is a speed engagement, not an app.
Stop losing the conversions you already earned to bad tracking
Half the CAC problems we are handed are measurement problems. The store converts fine; Meta cannot see it, so the algorithm optimises towards the wrong people and the CPA report looks worse than reality.
Three things to check this week:
- Your Meta pixel is installed through Shopify's Web Pixels API or the official channel app, not pasted into
theme.liquidwhere iOS and ad blockers eat it. - The Conversions API is live and sending the order server-side, with email and phone hashed. Match quality below the mid-range means you are throwing away signal.
- GA4 and Shopify Analytics disagree by less than 10% on orders. If they are 30% apart, someone is counting sessions twice and your channel attribution is fiction.
Better signal does not lower CPMs. It does let the auction find buyers instead of browsers, which lands in the same place on the CAC line.
The cheapest customer is the one who already bought
This is the part that actually reduces customer acquisition costs at a blended level, and it is the part most brands under-build. A second order from an existing buyer costs you an email send and a small discount. A first order from a stranger costs ₹400 to ₹900 depending on your category.
What we set up, roughly in order of return:
- A post-purchase flow tied to the consumption cycle. If your 200g jar lasts 40 days, the replenishment email goes at day 32, not day 7. Getting this timing right matters more than the copy.
- Segmented winback at 90 and 150 days, with the discount only on the second send. Do not train people to wait for a coupon.
- WhatsApp for order updates first, marketing second. Utility templates get read. Promotional blasts get you blocked, and in India that is a real cost.
- Customer accounts turned on with passwordless login, so repeat checkout is a one-tap affair.
Shopify Flow, Shopify Email and a proper ESP cover most of this. We build a lot of these on Omnisend because the Shopify data model maps cleanly to its segments, though Klaviyo is equally fine and the choice matters far less than whether anyone actually maintains the flows after launch.
Large catalogues bleed paid traffic on collection pages
If you sell 40 SKUs, skip this section. If you sell 4,000, your collection pages are probably where the ad spend dies. Someone clicks an ad for a specific saree, lands on a 900-product grid, and the default filters offer "price" and "availability".
Fix the on-site search before you raise the budget. Search users convert at a multiple of browsers on most catalogues we look at, and a store where "cotton kurta xl" returns nothing is an acquisition cost problem wearing a merchandising costume. Faceted filters on the attributes people actually shop by — size, fabric, occasion, metal purity, wattage, whatever your category uses — plus a search that tolerates typos.
What Shopify will not fix
Being blunt, because this is where the money goes:
It will not fix a weak offer. If your ₹1,899 product competes with a ₹899 near-identical listing on Amazon and you have no story, no platform migration saves you. We have had brands come to us for a replatform when the honest diagnosis was pricing.
It will not fix creative fatigue. Three ads running for eight months is a CAC problem no developer can touch.
Shopify Audiences, the much-cited CAC lever, is Plus-only and its usefulness depends heavily on where your buyers are. If you sell mainly in India, do not build a Plus business case around it. And on Plus generally: checkout extensibility, Functions-based discount logic and B2B are worth real money once you are past roughly ₹4–5 crore of annual GMV or you have genuinely complex checkout requirements. Below that, the licence fee buys you things you will not use. We say this often enough that it costs us projects, and we would rather you spend the difference on inventory. If you are close to the line and want the numbers argued properly, that is what a Plus conversation is for.
Where to start if you only have two weeks
Pull three numbers: conversion rate by device, RTO rate on COD, and repeat purchase rate at 90 days. Whichever is furthest from a reasonable benchmark for your category is where your acquisition cost is hiding. Mobile CVR under 1.2% means the store is the problem. COD RTO over 25% means the payment mix and address quality are the problem. Repeat rate under 15% on a consumable means you have been buying the same customer twice.
Then fix one. Not all three. The brands that get CAC down do it in sequence, measuring after each change, which is slower to write in a deck and considerably faster in practice.
If you would rather have someone else pull those numbers and tell you which one to attack, our store audit covers exactly that — speed, checkout, tracking and retention, with the arithmetic shown.


