Peppermint
Audit Overview
Your store's untapped revenue potential — and how to unlock it
Why We Created This Audit
We analyzed https://peppermint.in the same way we've audited 350+ e-commerce stores — looking for the specific gaps between your current experience and what top-performing Fashion & Apparel stores deliver. Every finding in this report is a revenue opportunity backed by industry data and competitive benchmarks.
What We Analyzed
- UX & Conversion Design15 findings
- Performance & Speedvs 4 competitors
- Technology & App StackPlatform + 5 apps
- Industry BenchmarksFashion & Apparel
Pages Analyzed
- Homepage4 findings
- Collection Pages3 findings
- Product Pages (PDP)4 findings
- Cart & Checkout4 findings
This audit was prepared by Growisto — a CRO-led Website development team behind 167% conversion growth for Atomberg, 46% CR lift for TyresNmore, and 350+ e-commerce projects.
Performance & Technology
Speed benchmarks, Core Web Vitals, and technology assessment for Peppermint
Mobile PageSpeed Score
Solid mobile performance relative to the competitive set — Peppermint's 56 mobile / 74 desktop leads three of four benchmarked competitors, and real-user field data is largely healthy (FCP 1.2s and INP 137ms both pass, TTFB 474ms good). Two of five Core Web Vitals pass. The three that miss are all borderline rather than severe: field LCP at 2.5s sits a hair over the 2.5s line, field CLS at 0.11 just crosses 0.1, and lab Total Blocking Time is 368ms against a 200ms target.
Competitive Comparison
Benchmarked against 4 leading Fashion & Apparel stores in your market
| Store | Mobile Score | Desktop Score | Mobile LCP | Mobile CLS | Mobile INP |
|---|---|---|---|---|---|
| Peppermint (Client) | 56 | 74 | 2.5s | 0.11 | 137ms |
| Miniklub | 58 | 65 | 1.9s | 0.01 | 77ms |
| Cub McPaws | 49 | 61 | 3.7s | 0.25 | 161ms |
| Libas | 35 | 62 | 2.1s | 0.00 | 174ms |
| Nauti Nati | 30 | 44 | 2.6s | 0.22 | 292ms |
⚠ Note: Cub McPaws, Libas, Nauti Nati score lower than Peppermint on mobile PageSpeed. This reflects the Fashion & Apparel category average — even established brands in this space struggle with mobile performance. The opportunity is to leapfrog the category, not just match it.
Core Web Vitals — Google's UX Quality Signals
Sites failing Core Web Vitals may rank lower in Google mobile search results
LCP How fast content appears
FCP First visual response
TBT Main thread blocking
CLS Visual stability
INP Tap/click responsiveness
What This Means for Revenue
Peppermint scores 56/100 on mobile and 74/100 on desktop in Lighthouse lab testing — the strongest desktop score in the benchmarked set and ahead of Cub McPaws (49), Libas (35) and Nauti Nati (30) on mobile, with only Miniklub marginally higher at 58. Real-user CrUX field data backs this up: First Contentful Paint (1.2s), Interaction to Next Paint (137ms) and TTFB (474ms) all sit in the good band, so visitors experience a genuinely responsive site. Two of five Core Web Vitals pass. The misses are narrow — field LCP 2.5s and field CLS 0.11 are each just over threshold, and lab Total Blocking Time is 368ms — which typically points to hero-image sizing, unreserved space for late-loading elements, and third-party script weight rather than deep architectural problems. Worth noting the lab and field readings diverge on layout shift: Lighthouse measured CLS at 0.0007, while the 28-day field value is 0.11; the field figure is reported here because it reflects what real users actually get. The category as a whole struggles more on mobile — Nauti Nati's 17.6s lab LCP and 2,536ms blocking time show the headroom available. Peppermint is already competitive on speed; closing the small LCP and CLS gaps would make it the clear category leader rather than merely ahead of the pack.
Technology Stack
Platform
Shopify
Shopify handles auto-scaling, PCI compliance and enterprise-grade uptime, so the commerce foundation is sound. Store ID 58522304673 on peppermintkids.myshopify.com, serving a 2,652-product catalogue across 79 collections in INR.
Theme
Wokiee 2.1.0
- Type: Third-party ThemeForest theme (Online Store 2.0 compatible)
- OS 2.0 compatible — installed as 'Install-me-wokiee-v-2-1-0-shopify-2-0', no Shopify Theme Store ID
- The theme is the source of the audit's most consequential gaps: the footer newsletter form is present in the DOM but never renders, and the PDP reserves a review badge slot that displays nothing. It also loads jQuery and the Revolution Slider library — heavy legacy dependencies that contribute to the 9.2s mobile Speed Index.
Checkout & Payments
Shopify native checkout via Shopify-managed (specific gateway not publicly exposed)
- Guest checkout: Available — cart proceeds directly to Shopify checkout
- Express checkout: Not detected — no Shop Pay, Google Pay or UPI express buttons render in the cart, so every shopper takes the full multi-step path
- Payment methods are not displayed anywhere in the cart — no card, UPI, RuPay or net-banking icons render, so the accepted methods are invisible to shoppers before checkout
Technology Assessment
Peppermint runs on Shopify with the third-party Wokiee 2.1.0 theme, and the split between the two is the story of this audit. The platform layer is genuinely strong: native Shopify checkout with no risky third-party override, HSTS and a restrictive content-security policy in force, PCI compliance handled, and mobile PageSpeed at 56 with desktop at 74 — ahead of three of the four benchmarked competitors. The theme layer is where value is leaking. Wokiee renders a newsletter capture form invisibly while the store promotes a FIRSTBUY10 discount that form should be collecting; and it reserves a star-rating slot on every PDP that stays empty because no reviews app is connected. Each of these is a configuration or template fix rather than a rebuild — the infrastructure to support them is already paid for and in place. On delivery, the absence of WebP or AVIF across a catalogue averaging 6.6 images per product, combined with jQuery and Revolution Slider, is the most direct route to improving the borderline 2.5s field LCP and 0.11 CLS.
UX & Conversion Findings
Page-by-page analysis with visual comparisons against top Fashion & Apparel stores
- A DOM scan of the homepage returned zero review widgets, zero star-rating elements and zero testimonial blocks — no Judge.me, Yotpo, Loox, Okendo or Stamped markup anywhere on the page.
- No review app is installed on the store at all. App detection across the homepage, collection, PDP and cart found only four apps (Blockify, XO Gallery, CleverTap, Shopify Forms) — none of them a reviews platform.
- The PDP makes the gap concrete: the theme places directly beneath the price, wrapped in a container carrying a 'Go to review' tooltip, and it renders completely empty. The badge targets Shopify's Product Reviews app, retired in 2024, and nothing replaced it — so the most valuable social-proof position on the page is reserved and blank.
- The homepage does surface three service promises (Hassle Free Refunds, Simple Returns within 15 days, Free Shipping), but these are brand claims rather than customer evidence — nothing on the site comes from another parent.
- Kidswear is a high-consideration, fit-sensitive purchase made on a child's behalf. In our 10-store fashion benchmark 7/10 carry customer reviews, rising to 5/5 among the US stores; it is also the sharpest India-market weakness in the set, where only 2/5 have them.
- Install a reviews app (Judge.me's free tier covers this) — it populates the existing PDP badge slot in place, with no theme work required.
- Add an aggregate rating block to the homepage and a full reviews section to the PDP, and point the badge's existing 'Go to review' tooltip at it.
- Seed the programme with post-purchase review requests to existing customers so the widgets do not launch empty, and prioritise collecting fit feedback (runs small / true to size / runs large) — fit is the dominant question in kidswear and the biggest driver of returns.
- Across the 10 product cards rendered on the homepage carousel, 0 contained any star, rating or review markup, and 0 offered an add-to-cart, quick-add or quick-view control.
- The cards do several things well — colour swatches appear on all 10, and sale items show MRP strikethrough with an explicit discount badge — so the card template is already capable of carrying more.
- Each card also prints its full size ladder as plain text (4-5Y, 5-6Y, 6-7Y, 7-8Y, 9-10Y, 11-12Y, 13-14Y, 15-16Y). On a 375px viewport this consumes more vertical space than the product name and price combined, without being tappable.
- Absent ratings on browse-stage cards is genuinely common in fashion — 8/10 benchmarked stores share the gap — which makes it a cheap differentiator rather than a baseline failure.
- Surface the aggregate star rating and review count on the card once a reviews app is live — this reuses the same data as the homepage social-proof block.
- Convert the plain-text size ladder into tappable size pills that add the selected variant directly, turning wasted vertical space into an add-to-cart path.
- Add a quick-add control on the card so shoppers browsing a 2,652-product catalogue can buy without a full PDP round trip.
- The announcement bar promotes a first-purchase discount code (FIRSTBUY10) on every page, and a rotating strip cycles Cash on Delivery / first-purchase discount / Free Shipping.
- A newsletter signup exists in the DOM — an input with placeholder 'Enter your email' inside a 'JOIN US' block, tagged contact[tags]=newsletter — but it computes as not visible, so no shopper can actually use it. The 'BE IN TOUCH WITH US' footer heading renders while its form does not.
- This is a broken control rather than a missing one: the capture mechanism is built and wired, it simply is not rendering. The fix is a theme/CSS repair, not a new feature.
- The net effect is that the discount is given away to anyone who reads the banner while producing no email address in return — the offer funds acquisition without funding retention.
- Repair the hidden newsletter form so the 'JOIN US' email field renders in the footer, then confirm submissions reach the contact list.
- Gate the FIRSTBUY10 code behind the email capture — deliver the code on signup instead of printing it in the announcement bar.
- Keep the banner promoting the offer, but change the call to action from 'Use code FIRSTBUY10' to a signup prompt so the incentive earns a contactable customer.
- The single product section, 'WE THINK YOU'LL LOVE THESE', renders 10 tiles but only four unique styles — Girls Trendy Top 20626, Girls Sequins Dress 20405, Girls Textured Shorts & Top 20529 and Girls Design Net Dress 20498 — cycled three times through the carousel.
- The catalogue behind it holds 2,652 products across 79 collections, so the homepage exposes four of them.
- Category entry points are also incomplete: the homepage tiles cover Toddlers, Kids and Youth, but Infants (3-12M) — a headline segment in the main navigation — has no tile, and all three tiles link to girl- collections.
- There is no 'New Arrivals', 'Best Sellers' or occasion-led module, despite dedicated collections existing for new-arrivals, festive and sale — merchandising surfaces that already have inventory behind them.
- Replace the repeated carousel with two or three distinct modules — New Arrivals, Best Sellers and the current sale event — each pulling from its existing collection.
- Add the missing Infants (3-12M) category tile so all four age segments in the navigation have a homepage entry point.
- Introduce occasion-led tiles (Party, Festive, Everyday) — a pattern that helps shoppers navigate large catalogues by intent, and one Peppermint already has collections to support.
- Auditing every variant of all 2,652 products, 1,334 of them have no available variant in any size or colour — they cannot be purchased at all.
- These products are not withheld from browse. On the first screen of /collections/all, 4 of the 13 rendered tiles carried a 'Sold Out' badge, mixed in with in-stock styles in the default sort order.
- An availability filter does exist (In stock / Out of stock) — but it defaults to off and sits inside a filter panel that opens only after tapping FILTER, so the default experience is the unfiltered one.
- The default sort makes no attempt to push them down: sold-out styles sit in the same positions as buyable ones, so a shopper working through a collection repeatedly lands on products that cannot be bought in any size.
- Default collection sorting to in-stock-first so sold-out styles fall to the end of the grid rather than competing for the first screen.
- For genuinely discontinued lines, unpublish rather than display — half the catalogue being dead weight also dilutes search and filter results.
- Where a style is returning, replace the passive 'Sold Out' badge with a back-in-stock email capture, converting a dead end into a recoverable lead.
- The filter drawer is genuinely well built. Opening it reveals five facet groups — Availability, Price, Colour (39 values), Size (20 values) and Product Type (35 values) — 98 filter values in total, which exceeds the 5–10 facet groups our benchmark recommends.
- None of it is visible on load. The collection page surfaces only a sort dropdown, a per-page selector and a price slider inline; everything else requires tapping a plain 'FILTER' text link with no icon, no active-filter count and no indication of what lies behind it.
- Size is the facet that matters most in kidswear — parents shop for a specific age — yet size filtering is two taps deep and invisible until then.
- No applied-filter chips are shown after filtering either, so shoppers get no persistent feedback on what is narrowing the grid. Notably none of the four benchmarked competitors surfaces filter values outside their own drawer — so doing it is a genuine differentiator rather than catching up.
- The proposal opposite uses Peppermint's own data: the 2,652-product result count, the real size ladder (4-5Y through 15-16Y), and two current styles — Girls Trendy Top 20626 at Rs.1,299.00 and Girls Textured Shorts & Top 20529 at Rs.2,299.00.
- Surface Size as a horizontal pill row directly above the product grid, so the highest-intent facet in kidswear is filterable in one tap.
- Give the FILTER control a funnel icon and an active-count badge so its purpose and state are legible at a glance.
- Render applied filters as dismissible chips above the grid, so shoppers can see and undo each constraint without reopening the drawer.
- None of the 13 tiles rendered on the collection page offered a quick-view, quick-add or add-to-cart control — every card leads only to the full PDP.
- Each card already displays the complete size ladder as static text, so the variant information a quick-add needs is present on the card; it simply is not actionable.
- For a catalogue this size, browsing is the dominant behaviour, and each extra page load costs a shopper on a mobile connection real time on a store scoring 56/100 for mobile performance.
- Roughly half our benchmark set offers quick view or quick add, so this is a competitive gain rather than a baseline expectation.
- Make the existing size text on each card tappable, adding the chosen variant to the cart directly from the grid.
- Show a compact confirmation on add so shoppers can keep browsing without losing their place in the collection.
- Keep the interaction inline rather than in a modal — a full-screen overlay on mobile costs as much context as the page load it replaces.
- The Add to Cart button sits 1,353px down the PDP — already below the fold on a 375x812 viewport — and once scrolled past it does not return. Measured at 2,200px scroll depth, the button's position was 847px above the viewport.
- Scanning for fixed or sticky elements at the top of the page, at 1,800px and at the page bottom returned zero results at every depth. Nothing persists as the shopper scrolls.
- Because nothing is pinned, the buy action exists in only one fixed position on a 3,562px page — a shopper who has scrolled to read the description or browse related products must scroll all the way back up to act on it.
- This is the clearest baseline gap in the audit. Sticky mobile ATC is present on 9/10 stores in our fashion benchmark, and on 5/5 of the Indian stores — it is a settled expectation in this market.
- Add a sticky bottom bar on the mobile PDP carrying the product name, price and an Add to Cart button, persisting from the moment the inline ATC scrolls out of view.
- Include the size selector in the sticky bar so a shopper can choose a size and add to cart without scrolling back up.
- Make the header sticky as well, restoring access to search and cart during the long scroll through description and related products.
- The container holding the Add to Cart button contains the button text and nothing else — zero images, zero icons, no supporting copy.
- A keyword scan of the rendered PDP found no mention of free shipping, returns, exchange or the 15-day window anywhere on the page. The only policy term present was 'COD'.
- The information exists but is one tap away: two small modal links sit above the buy form — 'Size Chart' (genuinely useful and well placed) and 'Shipping', which hides the delivery and returns detail behind an overlay.
- For a first-time visitor landing on a PDP from an ad or search, the buy area therefore presents no evidence that the store is safe to transact with — no payment reassurance, no returns promise, no COD mention.
- Half our benchmark set shows trust badges on the PDP, and among Indian stores it is 2/5. Notably, none of the four approved competitors surfaces this beside the ATC either — Miniklub's only reassurance is a top-of-page '10-Day Return Policy' banner — so this is a differentiator available to whoever does it first.
- Place a compact three-to-five icon row directly beneath the Add to Cart button covering free shipping, 15-day exchange, secure payment and cash on delivery.
- Use the specific promise rather than a generic label — '15-day easy exchange' outperforms 'Easy Returns' because it answers the question precisely.
- Reuse the existing homepage service icons so the visual language stays consistent and no new design work is needed; keep the Shipping modal for full detail rather than as the primary reassurance.
- Across the full catalogue, 2,421 of 2,652 products contain at least one 'N. A.' placeholder in the description spec table, averaging just over two per product and reaching seven on the worst offenders.
- On the sample PDP audited, Length, Sleeve Length, Sleeve Styling and Collar all read 'N. A.', while Fabric Type and Add On were blank entirely. Only Shape, Neck, Fabric Pattern, Occasion, Fit and Closure carried real values.
- Fabric composition and sleeve or length detail are exactly what a parent checks before buying — for skin comfort, for season, and to judge fit on a growing child. Presenting the field and then declining to fill it reads as lower quality than omitting it.
- The description is also collapsed behind a DESCRIPTION accordion, so a shopper must open it to discover the table is largely empty.
- Suppress any spec row whose value is 'N. A.' or blank at template level — a shorter complete table is more persuasive than a long one full of gaps.
- Prioritise populating fabric composition and care instructions across the catalogue, starting with the in-stock half that is actually buyable.
- Surface the three or four highest-value attributes (fabric, fit, occasion, closure) as visible bullets outside the accordion, leaving the full table inside it.
- The PDP contains no pincode or postcode input and no delivery-related copy — a keyword scan for pincode, delivery by, estimated delivery, check availability and deliver to returned no matches.
- Cash on delivery is offered, which makes serviceability genuinely variable by location, yet a shopper cannot confirm their area is covered before adding to cart.
- Kidswear purchases are frequently deadline-driven — a birthday, a festival, the start of a school term — so an arrival date materially affects whether the shopper buys now or leaves.
- Delivery estimation appears on roughly 6/10 stores in our benchmark and is close to standard among Indian D2C stores, where COD serviceability checks are routine.
- Add a pincode field near the Add to Cart button returning an estimated delivery window and confirming COD availability for that area.
- Show the estimate as a date range rather than a duration — 'Arrives 24–26 Aug' is more actionable than 'Ships in 2–4 days'.
- Do not gate Add to Cart behind the pincode check — keep it informational so it reassures without adding friction.
- With a product in the cart, the page renders the line item, a subtotal, a grand total and a checkout button. A scan for recommendation headings — also bought, you may also like, complete the look, frequently bought together — returned nothing, and no product tiles other than the cart line itself.
- Peppermint's catalogue is unusually well suited to this: the range is built around co-ordinate sets, tops, bottoms and dresses in matching styles, so 'complete the look' pairings are a natural fit.
- Kidswear also carries a strong multi-buy instinct — parents commonly buy several sizes or several styles in one visit — and the cart is the moment that instinct is easiest to act on.
- Cross-sell in the cart is present on 7/10 stores in our benchmark and 4/5 of the Indian stores, making this one of the clearer gaps against local peers.
- Add a 'Complete the look' row in the cart suggesting two or three matching pieces from the same collection as the item already added.
- Favour complementary pairings over similar alternatives — accessories and matching separates convert better in cart than substitutes for what is already chosen.
- Keep suggestions to a single row of three so the checkout button stays visible without scrolling on mobile.
- The site footer already carries a payment-card logo strip (`ul.tt-payment-list`, an 18px card-logos image) plus a 'Payment Method' link — so the assets and the intent both exist.
- The cart itself carries none of it: a scan of the cart with an item in it found no payment-method imagery of any kind, and no security copy — secure, SSL, safe, encrypted and trusted all returned no matches.
- That places the reassurance several screens away from the moment it is needed. A shopper deciding whether to hand over card details is on the cart page, not scrolling the footer of a collection page.
- Cash on delivery is available and is a significant trust factor for Indian shoppers, but it is never mentioned in the cart either, so a hesitant shopper sees no fallback to a payment method they already trust.
- The cart also offers no express checkout — no Shop Pay, Google Pay or UPI button — so every shopper takes the full multi-step path regardless of intent.
- Reuse the existing footer card-logo strip directly beneath the cart's checkout button — the asset is already on the site, so this is placement work rather than new design.
- Add a short 'Secure payment' line alongside it, and state cash-on-delivery availability explicitly in the cart.
- Enable express checkout so high-intent shoppers can bypass the standard multi-step flow.
- The cart contains no coupon, promo or discount input — a scan of every input on the page found none matching coupon, discount, promo or code.
- The same page carries the announcement bar promoting 'Use code: FIRSTBUY10', so the store advertises a code on the very screen that gives no way to redeem it.
- The price summary compounds the uncertainty: subtotal and grand total are identical, with no discount line, no shipping line and no savings total, so a shopper cannot confirm the offer has been applied before committing to checkout.
- Discount entry deferred entirely to checkout is a common abandonment trigger — shoppers leave to hunt for a working code, or abandon rather than proceed on faith.
- Add a collapsed 'Have a discount code?' field in the cart that expands on tap, so the code can be validated before checkout.
- Auto-apply FIRSTBUY10 for first-time visitors and show it as a discount line in the summary, removing the need to type it at all.
- Show a savings line in the price summary whenever a discount or sale price applies — with half the catalogue discounted, most carts have savings worth naming.
- Adding an item opens a full-viewport modal reading 'Added to cart successfully!' with three choices — Continue Shopping, View Cart and Proceed to Checkout. Confirmation feedback is therefore clear and unambiguous, which many stores get wrong.
- But it is a modal, not a cart drawer: it covers the page, shows no line items, no running subtotal and no cross-sell, and forces an explicit dismissal to resume browsing.
- A cart drawer is the benchmark standard, present on 8/10 stores, precisely because it confirms the add, shows the cart contents and subtotal, and returns the shopper to the grid without a page transition.
- The drawer is also the natural home for the cross-sell, coupon field and trust signals identified in the three findings above — one component change would create the surface for all of them.
- The proposed drawer opposite is populated entirely with Peppermint's own live data: the cart line is Girls Trendy Top 20626 in Black, size 4-5Y at Rs.1,299.00, and the 'Complete the look' row uses three styles from the current homepage carousel — Girls Sequins Dress 20405 at Rs.2,170.00 (reduced from Rs.3,099.00), Girls Textured Shorts & Top 20529 at Rs.2,299.00, and Girls Design Net Dress 20498 at Rs.2,399.00.
- Replace the confirmation modal with a slide-in cart drawer showing line items, subtotal and a checkout button.
- Use the drawer to carry the cross-sell row, discount field and payment reassurance, consolidating three separate gaps into one build.
- Keep the current explicit success message inside the drawer — the clarity of the existing confirmation is worth preserving.
- Seed the cross-sell from the same collection as the item in the bag — the four styles above are all current, in-stock and priced between Rs.1,299 and Rs.2,399, so the pairing is realistic rather than aspirational.
App Ecosystem
What's installed vs what's missing from best-in-class Fashion & Apparel stores
Detected
Missing
Present (5)
Missing (6)
App Stack Assessment
Peppermint's app stack is unusually lean for a 2,652-product store: five apps, of which Google Tag Manager, CleverTap, XO Gallery, Shopify Forms and Blockify cover analytics, engagement, lookbook content, email capture and fraud prevention. There is no reviews app, no back-in-stock capture, no cart cross-sell, no loyalty programme and no advanced search — the five categories that most directly move conversion, AOV and repeat rate in fashion. Two of the installed apps are also not delivering what they were installed for. Shopify Forms is wired to CleverTap for newsletter capture, but the form never renders, so the FIRSTBUY10 offer promoted on every page collects no email addresses. And Blockify's bot-blocking is configured aggressively enough that any browser identifying itself as automated is redirected away from the store: its allowlist covers Googlebot, bingbot and Ahrefs so classic SEO crawling is unaffected, but AI assistants, partner integrations and monitoring tools that are not on that list see Google's homepage instead of Peppermint — a growing visibility risk as AI-mediated product discovery increases. The encouraging read is that most of the gap is inexpensive to close: the theme already has the slots for reviews and email capture, and the catalogue's scale means search, filtering and back-in-stock alerts would each pay for themselves quickly.
Confidential — Prepared for Peppermint by Growisto | August 2026