CRO Audit — uppercase (uppercase.co.in)
Master conversion-rate-optimisation audit for Acefour Accessories Pvt Ltd's D2C storehttps://uppercase.co.in/, synthesised from the five page-level audits (pageaudit/homepage.md,pageaudit/plp.md,pageaudit/pdp.md,pageaudit/cart-checkout.md,pageaudit/support-and-utility.md) and thebusiness-analysis.mdbaseline. Captured 2026-08-27. Every finding below traces to a live-DOM/AX observation recorded in a page audit — no finding is invented here. Where adjacent reports (web-quality, ai-seo, content-strategy, ad-intelligence, digital-brand, competitive) corroborate or extend a finding, it is cited in §7.
0. Audit Scope, Method & Honest Limitations
| Item | Detail |
|---|---|
| Device / viewport | Desktop only — 1280px (HeadlessChrome). No mobile/responsive emulation exists in this environment. |
| Methodology | Live accessibility tree (browser_navigate/snapshot) + browser_console DOM reads + server-rendered HTML cross-checks (curl/urllib) + genuine click traversal of the cart→checkout funnel. |
| Pages audited (live) | Homepage · PLP (Eco Trolley Bags, Eco Backpack) · PDP (Bullet Silver Large Trolley, Drip 02 School Backpack Red) · AJAX cart drawer · /cart page · native Shopify checkout (supplementary) · About Us · Sustainability · Register Warranty · Complaint Form · Store Locator · Warranty/Refund/Terms/Privacy policies · return_prime app · Blogs |
| Mobile-first traversal | NOT performed. Mobile nav, hamburger, sticky buy-bar, touch-swipe gallery and the cart/checkout on phone are inferred from DOM/CSS, not visually confirmed. This is a stated limitation, not a finding. |
| Screenshots | Not available; audit driven by rendered DOM + AX tree. |
| Checkout caveat | The live cart's ONLY checkout CTA is the third-party Gokwik accelerator, which did not resolve to a payment screen in this sandbox. The native Shopify checkout was reached only via the skill-sanctioned supplementary /checkout token route and is labelled as such. |
| Rivyo caveat | Third-party widget APIs can be blocked in the sandbox. The detailed Rivyo reviews list/Q&A/photos rendered empty across multiple loads + 4–6s waits on PDPs. This MUST be re-verified on a real browser/incognito before being filed as a hard defect — but the aggregate badge (4.9/69) is server-rendered and proves Rivyo is integrated, so the list endpoint is the thing to debug. |
What the environment does NOT let us assess: mobile conversion behaviour, real-browser Gokwik completion, real-browser Rivyo list rendering, visual layout/screenshot QA, and Core Web Vitals lab runs (the unstable Lighthouse lab numbers from the web-quality audit are excluded here; that audit uses CrUX field data as authoritative).
1. Executive Summary
uppercase's store is structurally sound and technically correct — filters/sorts validate mathematically, the AJAX cart drawer is clean, pricing is transparent (always-on MRP-vs-sale + % off), delivery ETA + COD are strong, and the native Shopify checkout is guest-friendly with Razorpay + COD and a transparent tax line. The brand's sustainability/fashion/celebrity differentiation is well told.
But conversion leaks at the two highest-leverage moments: the cart→checkout gate and the trust/social-proof layer. Three issues are Critical/Major funnel risks:
- The checkout is gated by a single third-party accelerator (Gokwik). There is no standard "Proceed to Checkout" button anywhere in the drawer or
/cart. Shoppers who want COD, distrust the "5% Off Prepaid" framing, or expect the store's own checkout have no in-UI alternative. (Critical) - Customer review social proof is not surfaced. Rivyo aggregate badges are absent from every homepage/PLP card, and the detailed reviews/photos/Q&A list renders empty on PDPs. For a considered, low-frequency, mid-AOV category (trolleys ₹2,400–₹42,080; backpacks ₹899–₹1,800), the absence of why others bought it at the highest-intent moment is the dominant purchase-risk amplifier. (Major — corroborated by ai-seo: products carry
Product+Offerschema with noaggregateRating, so AI crawlers also see them as unreviewed.) - The site's best top-of-funnel asset is broken. In-article blog links point to a
shopifypreview.comstaging domain (not publicly reachable) instead of live PDPs/collections — a direct revenue leak from buying-guide content. (Critical)
Underneath sit a cluster of Major trust/loyalty/UX gaps: no loyalty/rewards program (strategic miss for a low-frequency category), no standalone FAQ/Help Center, an image-only hero with no textual value prop, no wishlist, no PDP cross-sell, and a dead-end empty cart.
Estimated impact tiers (directional, not measured — no analytics access this session):
- P0 (revenue-protecting): CRO-01 (checkout gate), CRO-02 (broken blog links), CRO-03 (reviews surfacing).
- P1 (LTV + trust): CRO-04 (loyalty), CRO-05 (FAQ), CRO-06 (hero value prop), CRO-08 (variant UX), CRO-09 (empty-cart recovery).
- P2 (polish/SEO/a11y): everything else.
2. Funnel Conversion View
| Stage | What works | Leak / gap | Master ID |
|---|---|---|---|
| Awareness → Landing (Home) | Clean hero, trust strip, impact stats, ambassador UGC, category grid | No textual value prop / above-fold CTA; coupon hidden in rotating bar; no card ratings | CRO-06, CRO-17, CRO-03 |
| Discovery (PLP) | Filters/sorts correct; rich facets; transparent price; swatches | No breadcrumb/result count; no card ratings; no wishlist/compare/quick-view; empty alt | CRO-18, CRO-03, CRO-11, CRO-10 |
| Consideration (PDP) | Breadcrumb, structured specs, inline accordions (no funnel leak), pincode ETA, AJAX add-to-cart, Gokwik express | Detailed reviews/Q&A/photos empty; variants = full-page reload; no EMI; no cross-sell; no product FAQ; thin gallery on staple SKU; empty alt | CRO-03, CRO-08, CRO-13, CRO-12, CRO-14, CRO-25, CRO-10 |
| Cart | Clean AJAX drawer; instant qty updates; working UCB100 coupon; free-ship/COD; "You May Also Like" on cart page | Only Gokwik checkout CTA; empty-cart dead-end; upsell drawer-only; no CTA trust badges; no cart shipping calc / "View cart" link | CRO-01, CRO-09, CRO-12, CRO-19, CRO-27 |
| Checkout | Native flow: guest OK, Razorpay + COD, transparent tax | Gokwik gate + "5% Off Prepaid" COD framing; native reachable only via fallback in testing | CRO-01, CRO-07 |
| Post-purchase / Support | Strong policies, return_prime self-serve, 463 stores, consistent contact | No FAQ/Help Center; broken blog shoppable links; no loyalty; brand pages no shop CTA; no store booking; no in-article capture | CRO-02, CRO-05, CRO-04, CRO-15, CRO-16, CRO-24 |
| Retention / LTV | Email/phone/WhatsApp support | No loyalty, no wishlist, no recently-viewed, no refer-a-friend — zero repeat-purchase engine on a low-frequency category | CRO-04, CRO-11 |
3. Master Consolidated Findings Register
Severity: Critical / Major / Moderate / Minor. Confidence: High / Med. Effort: Low / Med / High. "Sources" cites the page-audit finding IDs that roll up into each master finding.
| ID | Finding | Severity | Conf. | Effort | Sources |
|---|---|---|---|---|---|
| CRO-01 | Only checkout CTA is the Gokwik accelerator; no standard "Proceed to Checkout" button in drawer or /cart; Gokwik did not resolve to a payment screen in testing | Critical | High | Low–Med | cart C1 |
| CRO-02 | Blog in-article product links point to shopifypreview.com staging (not publicly reachable) → broken shoppable links; top-of-funnel revenue leak | Critical | High | Low | support F1 |
| CRO-03 | Rivyo review social proof not surfaced: aggregate badges absent on homepage/PLP cards; detailed reviews/photos/Q&A list empty on PDP | Major | High (absent) / Med (root cause may be env) | Low–Med | home F4, plp P5, pdp P1 |
| CRO-04 | No loyalty / rewards / refer-a-friend program surfaced anywhere (header, footer, in-page, post-purchase) | Major | High | High | home F7, support F4 |
| CRO-05 | No standalone FAQ / Help Center; only 6 store-locating Q&As buried at bottom of Store Locator; no inline links to policies | Major | High | Med | support F2, F3 |
| CRO-06 | Homepage hero is image-only — no textual value proposition / H1 headline; no prominent above-fold CTA | Major | High | Low–Med | home F1, F2 |
| CRO-07 | Gokwik CTA pre-frames "5% Off on Prepaid Orders", implicitly penalising COD for Indian shoppers who prefer it | Major | High | Low | cart C2 |
| CRO-08 | PDP variants are separate product URLs (full reload on color/size select); no in-page swatch sync or color×size matrix | Major | High | Med–High | pdp P2 |
| CRO-09 | Empty-cart state is a dead-end — only "Back to shopping", no recommendations/quick-adds | Major | High | Med | cart C3 |
| CRO-10 | Missing image alt text site-wide (hero, collection, PLP, PDP product images all alt="") — WCAG 1.1.1 fail + image-SEO loss | Moderate | High | Low | home F5, plp P3, pdp P8 |
| CRO-11 | No wishlist / save-for-later anywhere (header, footer, PLP cards) | Moderate | High | Low–Med | home F6, plp P6 |
| CRO-12 | No cross-sell / "You may also like" / "Bought together" / recently-viewed on PDP; upsell carousel appears only on /cart page, not the more-frequent AJAX drawer | Moderate | High | Med | pdp P4, cart C4 |
| CRO-13 | No EMI / financing reassurance on higher-AOV trolleys (₹6k+) — common Indian-market expectation | Moderate | Med | Low | pdp P3 |
| CRO-14 | No product-specific FAQ / care-wash / "what fits / cabin-compliant" guidance on PDP ("More Information" shows only mfr/COO) | Moderate | Med | Low | pdp P5 |
| CRO-15 | Brand pages (About Us, Sustainability) end with no in-content shop CTA — brand-story readers stranded | Moderate | Med | Low | support F5 |
| CRO-16 | No booking / appointment CTA on Store Locator; store cards lack hours/ratings/photos | Moderate | Med | Med | support F7 |
| CRO-17 | Coupon UCB100 (−₹100) shown only in the rotating announcement bar → low salience, easy to miss | Moderate | High | Low | home F3 |
| CRO-18 | No breadcrumb / visible result count on PLP; breadcrumb parent-label mismatch (nav "Eco Backpack" vs PDP "Eco School Backpack") | Moderate | High | Low | plp P1, P2, pdp P11 |
| CRO-19 | No trust / return / secure-payment badges adjacent to the checkout CTA in cart (footer-only) | Moderate | High | Low | cart C5 |
| CRO-20 | Two near-identical buy-now buttons ("Buy Now" theme + "Buy it now" Gokwik) may confuse primary action | Minor | Low | Low | pdp P10 |
| CRO-21 | FAQ answers lack inline links to Refund/Warranty policy + return_prime app | Minor | High | Low | support F3 |
| CRO-22 | WhatsApp prefill is generic ("Hi" + page URL), not context-aware by page intent | Minor | Med | Low | support F6 |
| CRO-23 | Policy pages lack "last updated" dates (Refund is stale "16 Jan 2023") and no visual trust summary strip (wall-of-text) | Minor | Med | Low | support F8, F9 |
| CRO-24 | No in-article newsletter / lead capture in blog posts (newsletter only on homepage/footer) | Minor | Med | Low | support F10 |
| CRO-25 | PLP no secondary hover image; staple backpack PDP has only 1 gallery image (thin media for considered purchase) | Minor | Med | Low | plp P4, pdp P9 |
| CRO-26 | Predictive search not verified/implemented; no suggestion UI in DOM | Minor | Med | Med | home F8 |
| CRO-27 | No shipping calculator / delivery ETA inside cart; AJAX drawer lacks a "View cart" link | Minor | High | Low | cart C6, C8 |
Severity tally (consolidated): 2 Critical · 7 Major · 11 Moderate · 7 Minor = 27 findings. (Down from the ~50 raw page-audit IDs after de-duplication — e.g. empty alt text appeared 3×; ratings absence appeared 3×; wishlist absence 3×; loyalty absence 2×.)
4. The Two Dominant Risks (detail)
CRO-01 — The Gokwik checkout gate (Critical)
A real shopper clicking "Checkout" in either the cart drawer or the /cart page is routed through Gokwik — not the store's own Shopify checkout. There is no parallel standard "Proceed to Checkout" button in the visible UI. In this environment Gokwik did not advance to a payment screen (button stuck on "Loading..", URL stayed on /cart); the underlying native Shopify checkout (guest OK, Razorpay + COD, transparent tax) was reached only via the supplementary /checkout token route. Action: restore a visible standard Shopify "Checkout" button alongside the Gokwik express CTA so COD / store-checkout-preferring shoppers have an in-UI path; and verify on a real browser/incognito whether Gokwik actually completes in production (it may be silently failing). This is the single highest-leverage fix.
CRO-03 — Reviews not surfaced (Major, cross-cutting)
- Homepage & PLP cards:
wc_product_review_badgecontainer present but renders no stars/count (re-checked after 3.5s wait — 0/15 PLP cards). - PDP: aggregate badge server-renders (4.9/69 on flagship) but the detailed list, star distribution, verified-buyer tags, customer photos and Q&A tab stayed empty across 3 loads + 4–6s waits.
- Schema corroboration (ai-seo-audit): product
Product+Offer+BreadcrumbListJSON-LD carries noaggregateRating→ both human shoppers and AI agents see products as unreviewed. - Action: debug the Rivyo list/review endpoint (CDN/API key/CORS); confirm on a real browser; enable the collection-card rating widget; ensure review body, distribution histogram, verified-buyer tags and customer photos render. Metric: PDP→cart rate, review-section view rate, conversion.
5. Prioritised 90-Day Roadmap
P0 — Revenue-protecting (do first; weeks 1–3)
- CRO-01 Restore standard Shopify checkout CTA + verify Gokwik completion in prod.
- CRO-02 Fix Liquid/blog link substitution so in-article links resolve to live
/collections/+/products/; add shoppable product cards to guides. - CRO-03 Surface Rivyo ratings on cards + debug PDP review list (confirm on real browser first).
P1 — Trust, LTV & UX
- CRO-04 Launch/feature a points or refer-a-friend program (footer + homepage + post-purchase).
- CRO-05 Build a dedicated
/pages/faq(shipping, COD safety, 15-day returns, warranty, exchanges, sizing, payments) + link from footer/homepage; add inline policy links from the buried Store-Locator FAQ. - CRO-06 Add a hero headline + subhead + primary CTA overlay (keep campaign imagery as support).
- CRO-08 Convert variants to native Shopify swatches with live image/price/SKU sync on one PDP.
- CRO-09 Add a "Trending / Best Sellers" carousel + quick-add to the empty-cart state.
- CRO-07 Neutralise the "5% Off Prepaid" COD-penalty framing (or show COD remains ₹0-fee).
- CRO-11 / CRO-12 Enable wishlist + PDP/cart cross-sell ("You may also like", "Bought together", recently-viewed).
P2 — Polish, SEO, Accessibility
- CRO-10 Populate descriptive
alttext site-wide (also lifts image SEO + AI-crawl product understanding). - CRO-13 / CRO-14 Add EMI text on trolleys + product FAQ/care/"what-fits" accordion.
- CRO-15 / CRO-16 Inline shop CTA on brand pages + store booking/hours/ratings on Store Locator.
- CRO-17 / CRO-18 / CRO-19 Persistent coupon slot; PLP breadcrumb + result count; CTA-adjacent trust badges in cart.
- CRO-20 → CRO-27 Minor cleanups (button labelling, WhatsApp prefill, policy date stamps, in-article newsletter capture, hover image, predictive search, cart shipping calc / "View cart" link).
6. Recommended Measurement & Instrumentation
No analytics access was available this session; before/after any change, instrument:
- Funnel: homepage→PLP CTR, PLP→PDP CTR, PDP→cart rate, cart→checkout-start rate, checkout completion rate, empty-cart→add rate.
- Trust: review-section view rate, card-rating impression→PDP CTR, UCB100 redemption rate.
- LTV: repeat-purchase rate, wishlist adds, refer-a-friend enrolment, store-visit bookings.
- A/B candidates: hero CTA vs image-only; Gokwik-only vs Gokwik + standard checkout; coupon sticky-bar vs rotating.
- Existing trackable layers: Rivyo, Gokwik, Shopify analytics, BusinessOnBot (WhatsApp commerce).
7. Continuity with Adjacent Reports (cross-citations)
| This finding | Corroborated / extended by | Link |
|---|---|---|
| CRO-06 empty homepage H1 / no text hero | web-quality-audit (empty homepage H1, desktop CLS 0.18) + ai-seo-audit (homepage H1 empty) | web-quality-audit.md, ai-seo-audit.md |
| CRO-03 reviews not surfaced | ai-seo-audit (product schema lacks aggregateRating; AI sees products as unreviewed); digital-brand-intelligence (no owned trust layer — no Trustpilot/Google reviews surfaced) | ai-seo-audit.md, digital-brand-intelligence.md |
| CRO-02 broken blog links | content-strategy (blog technically broken for AI/SEO — empty server-side bodies, 404; weak post→PDP internal linking); ai-seo-audit (no FAQ/how-to schema) | content-strategy.md, ai-seo-audit.md |
| CRO-04 loyalty absent | business-analysis (luggage = low-frequency → LTV risk); competitive-analysis ("add sets/gifting hooks", "surface reviews on PDP") | business-analysis.md, competitive-analysis.md |
| CRO-07 / ad→LP mismatch | ad-intelligence (ads promise "End of Season Sale" urgency the always-on-discount storefront doesn't visibly reciprocate — a concrete CRO leak; partial COD/UPI/EMI ad readiness) | ad-intelligence.md |
| CRO-10 alt text / SEO | web-quality-audit (accessibility 74–76; ~46% homepage images missing alt); ai-seo-audit (product descriptions ~44 words, below AI floor) | web-quality-audit.md, ai-seo-audit.md |
No contradictions found across reports. The page audits, business baseline, and technical/SEO/brand/competitive reports are mutually consistent.
8. What's Working (protect, don't regress)
- Mathematically correct filters/sorts + clean active-filter chips on PLP.
- AJAX cart drawer with correct variant/price mapping + instant qty updates.
- Transparent always-on pricing (sale + struck MRP + % off + tax-incl).
- PDP breadcrumb, structured specs, inline Dimension/More-Info accordions (no funnel leak).
- Pincode delivery ETA + COD indicator; native Shopify checkout (guest, Razorpay + COD, transparent tax).
- Gokwik express "Buy it now" with prepaid discount (keep as an option, not the only option — CRO-01).
- Strong trust pages (Sustainability GRS/RCS, Warranty, Privacy, return_prime self-serve, 463-store locator).
- Interactive sustainability "contribution" slider — genuine brand differentiator.
Prepared by the uppercase CRO-audit synthesis. All findings derive from the live-DOM/AX page audits captured 2026-08-27 (pageaudit/.md) and business-analysis.md. Mobile-specific behaviour and real-browser Gokwik/Rivyo rendering are explicitly out of scope for this environment and flagged where relevant (CRO-01, CRO-03).*