Free Shopify store auditSpeed, SEO and conversion leaks — no cost, no obligation.
Claim it
Thriftizer Solutions LLPShopify Select Partner
Book a Growth Audit
Analytics Aug 25, 2026 9 min read

Fashion Product Page CRO: Fit, Returns and Size Chart Placement

Add-to-cart rate is the wrong scorecard for an apparel PDP. Here's how to optimise fashion product pages for fit confidence and net contribution per session, with size chart placement that actually gets read.

Fashion Product Page CRO: Fit, Returns and Size Chart Placement

If you're doing fashion product page optimization and your scorecard is add-to-cart rate, you're optimising the wrong number. An apparel PDP can push ATC up 8% with a bigger sticky button, a countdown and a "only 3 left" badge, and hand back every rupee of that gain six weeks later in reverse pickups, unsellable returns and a customer who won't order again. The number worth moving on a fashion store is net contribution per session: revenue after returns, after reverse logistics, after the units that come back with deodorant marks and go to the write-off pile. Fit content, garment measurements and where the size chart sits on the page all pull that number. The urgency widgets don't.

Fashion product page optimization starts with the returns line, not the funnel

Most apparel stores we look at can tell you their conversion rate to two decimal places and cannot tell you what share of returns are size-related. Those two facts belong in the same sentence. Size and fit is usually the largest single return reason in Indian apparel, and it is the one the product page can actually influence. Colour mismatch is a photography and colour-profile problem. "Changed my mind" is a shipping-speed and marketing-promise problem. "Too tight across the chest" is a page problem.

So the first fix is measurement, not design. If your returns tool collects a free-text reason, or a single dropdown with "other" doing 40% of the work, you have no baseline and no way to prove a change worked. Force structured reasons at two levels: category (size, fit, quality, colour, wrong item, changed mind) then a sub-reason for size (too small overall, too large overall, length, sleeve, waist, shoulder). Push that back into Shopify order metafields or your returns app's export so you can slice it by product, by size and by collection. Two months of clean reason data is worth more than any CRO audit, including ours.

What a 25% cut in size returns is actually worth

Assumptions here are illustrative. Plug in your own; the shape of the answer holds.

Take a womenswear store doing 3,000 orders a month at ₹1,850 AOV. Return rate 28%, so 840 returns. Say 60% are size or fit related: 504 returns a month.

  • Reverse pickup: ₹110 per return, so ₹55,440
  • QC, steaming, repack, restock labour: ₹45 per unit, so ₹22,680
  • Forward shipping already spent and not recoverable: ₹75 per order, so ₹37,800
  • Units that come back unsellable, call it 8% of 504 = 40 units at ₹700 landed cost: ₹28,000

That's ₹1,43,920 a month, or roughly ₹17.3 lakh a year, sitting under the line labelled "fit". Cut size-related returns by a quarter and you keep about ₹36,000 a month. Around ₹4.3 lakh a year, before you count the margin on the exchanges you convert instead of refunding, and before the repeat-purchase effect of a customer whose first order fit.

Now compare the effort. Getting a 25% reduction in size returns takes garment measurements on every SKU, better fit copy, model stats and a size chart people can see without leaving the page. Getting the same rupee value from conversion rate on a store at 1.6% means pushing it to about 1.75% and holding it. Both are hard. Only one of them also lowers your operating cost and your RTO exposure.

Size chart placement: inline, next to the selector, opening at the right size

The default pattern on most themes is a small "Size guide" link near the swatches that opens a modal with one table for the whole store. It's the pattern we replace most often, because three things are wrong with it.

First, placement. The link should sit immediately beside the size selector, at the same visual weight as the selector labels, not below the buy button and not in the accordion with Shipping and Returns. On mobile that's the difference between a chart that gets opened and a chart that exists for legal comfort. Second, contents. A single store-wide chart is close to useless once you're selling both a knit dress and a structured blazer. Size charts belong on the product, driven by a metafield on the product or, better, on a metaobject shared by garment type so you maintain fifteen charts instead of two thousand.

Third, and this is the one that moves returns: publish garment measurements, not just body measurements. Body-measurement charts tell a customer which size to pick if she knows her bust to the centimetre, which she doesn't, and they say nothing about how the piece actually sits. Flat garment measurements plus a tolerance let people compare against something they own. Chest 104 cm flat with ±2 cm tolerance, length 68 cm from high point of shoulder, sleeve 60 cm. Add a one-line fit note per style: "Relaxed through the body, cut long in the sleeve. If you're between sizes and want it fitted, take the smaller."

Where we've had the biggest wins is pre-selecting context: when someone taps the size guide from an M swatch, open the chart scrolled to M and highlighted. Small piece of JavaScript, noticeable difference in whether the chart is read or dismissed.

Fit confidence beats fit information

A table is information. Confidence comes from something the customer can map onto her own body. Three things do that work, in order of impact:

  1. Model stats on every image set. Height, and the size worn. "Model is 5'7", wearing S." Two data points, and they resolve half the guessing. If you shoot two models per style at different sizes, say so on the page and label which image is which.
  2. Fit-specific reviews surfaced above generic ones. Ask two extra questions at review time: your height, and how the fit ran. Then filter the review block so the fit comments sit at the top rather than "lovely fabric, fast delivery". Only publish a "runs true to size" percentage once you have enough responses on that style to mean something. A percentage from nine reviews is noise dressed as data.
  3. Fabric behaviour in plain language. Whether it has stretch, whether it will relax after a wash, whether the linen will crease in Chennai humidity by lunchtime. Founders resist writing this because it sounds like a negative. It reduces returns because the disappointment happens before the payment, not after.

What we've mostly stopped recommending: third-party AI fit-prediction widgets on stores below a few thousand orders a month. They need volume and clean size data to calibrate, they add script weight, and on a catalogue of 300 SKUs with inconsistent grading they'll confidently recommend the wrong size. Fix your measurement data first. The widget is the last step, not the first.

Photography carries more of the load than any on-page widget

One 8 to 12 second silent video per style, model walking and turning, does more for fit confidence than every copy change on this list combined. It shows drape, movement, opacity and length on a body. Autoplay muted, in the gallery, first or second slot on mobile.

It also has a cost. A 6 MB MP4 in the first gallery slot will wreck your LCP on a 4G connection in a tier-2 city, and a fashion PDP that takes 4 seconds to paint loses more money than a bad size chart. Serve the poster frame as the LCP image, lazy-load the video after first interaction or after the main image paints, and keep the file under 1.5 MB with a 720p H.264 encode. We cover the mechanics of this in Shopify speed optimization, and it matters more on fashion than on almost any other category because the gallery is the product.

The India-specific part: COD, exchanges and RTO

A prepaid return in the US costs you a label. A COD size return in India costs you the forward leg, the reverse leg, the handling, and the working capital that sat in transit for eleven days. So the returns policy on the product page has to do two jobs at once: reassure enough to convert, and steer towards exchange rather than refund.

What works on the PDP itself: a single line near the buy button stating free size exchange, with the window in days, and no small print about "conditions apply". Then in the flow, put exchange first and make it one tap, with the alternate size pre-checked and stock-aware. If the next size up is out of stock, don't offer the exchange, offer store credit at a small premium over the refund value. Most brands offer refund and exchange as visually equal options and then wonder why 80% of returns are refunds.

Second India-specific lever: size confidence has a direct effect on COD share. When a customer isn't sure it will fit, COD becomes free optionality. Firmer fit information and a clean exchange promise pull some of that volume to prepaid, which cuts RTO. We've seen this show up as a shift in payment-method mix within about six weeks of a fit-content rollout, and it's worth watching alongside your return reasons during festive season when the whole system is under load.

Don't sell sizes you can't ship

Half the fit problem on large catalogues isn't the product page at all. It's a collection grid full of styles where the customer's size sold out three weeks ago. She clicks four products, finds M greyed out on all of them, and leaves. Size-aware filtering on collection pages fixes it, and it's a straightforward win on any catalogue past a few hundred SKUs. If your current theme filters can't do size-in-stock properly, FilterPro is the app we built for this kind of catalogue navigation problem.

The related habit: kill the size swatch that's out of stock rather than leaving it clickable with a "notify me" that nobody fills in, and re-order your grid so styles with full size runs rank above the ones down to XS and XXL.

The order we roll these out

Sequence matters, because some of these depend on data you don't have yet.

  1. Structured return reasons and a two-month baseline. Nothing else is measurable without it.
  2. Garment measurements into product metafields, grouped by garment type. This is the unglamorous part, and it's usually four to six weeks of merchandising work, not a dev task.
  3. Size chart out of the global modal, inline beside the selector, per garment type, opening at the selected size.
  4. Model height and size worn on every style. Fit note in the first 200 characters of the description.
  5. Fit questions in the review request, fit reviews surfaced first.
  6. Video in the gallery, with the LCP protected.
  7. Exchange-first returns flow with stock-aware size swap.

Read the results on a longer window than you're used to. A returns effect takes at least one full return window plus two weeks to show up, so on a 15-day policy you're looking at six to seven weeks minimum before the data means anything. And accept that ATC may dip slightly on some styles. If net contribution per session is up and size returns are down, a lower add-to-cart rate is a sign the page is doing its job: it's filtering out the orders that were going to come back.

One awkward case we hit often. Brands that source from multiple vendors frequently have inconsistent grading between two styles labelled the same size, and once you publish garment measurements, customers will notice. That's not a reason to skip publishing. It's a reason to fix the grading, and the measurement exercise is what makes the problem visible.

Where to start this week

Pull your last 90 days of returns, tag the top 20 SKUs by return count, and check what their product pages say about fit. Our guess, based on the apparel stores we work on from Bengaluru, is that at least twelve of them have no garment measurements, no model height, and a size chart two taps away. Start with those twelve.

If you'd rather have someone else do the pass, our free store audit covers PDP structure, fit content and the speed cost of your gallery. If you already know what needs building and just need hands, hiring a Shopify developer on a monthly basis is usually cheaper than a fixed-scope project for work that runs across a few hundred product pages.

Previous postNext post

Ready to scale your D2C brand profitably?

Let's build a growth engine that drives more traffic, more conversions and more profit.

Book a Growth Audit
📅 Free Audit💬 WhatsApp