Conversion Rate Optimization

Oops Nails

CRO Audit Report  ·  oopsnailsbcn.es  ·  September 2026

Overview of Issues

Oops Nails is a genuinely well-built Shopify store — and that is the most important context for everything that follows. The catalogue is deep (1,500+ products across 250 collections from Staleks, Saeyang, DNKa', BIBLIOTEKA, Nails Of The Day and others), the faceted filtering is better than most stores we audit (15 facets including head diameter, abrasive grit and rotation speed), all 14 footer links return HTTP 200, product descriptions are present on 100% of sampled products, and the trust stack is exceptional: seQura and Klarna instalments, 12 payment methods, WhatsApp support staffed by a beauty advisor, a live loyalty programme, 2-hour local pickup in Barcelona, and free shipping over €95. This is not a store that needs rebuilding. It is a store leaking revenue through a small number of very specific, very fixable gaps.

The single largest gap is the cart. The store advertises free shipping over €95 in the announcement bar, in the hero trust row and in the footer — but the cart never tells the customer how close they are to it. We added a €5.90 item and the cart offered no progress indicator, no upsell and no recommendations; just an empty column beside the totals. For a consumables business where salons buy gel, tips, files and gloves in bulk, a free-shipping progress bar plus a cart upsell block is the highest-ROI change available and it costs a fraction of a day's development.

The second gap is mobile purchase friction. There is no sticky Add-to-Cart on mobile. The button sits roughly 1,156px down the page; the moment a customer scrolls to read the description or the reviews, both the price and the buy button vanish with no way back except scrolling up. Compounding this, the product page scores 68/100 on mobile PageSpeed with an LCP of 5.6 seconds — more than double Google's 2.5s threshold, measured on the exact pages where purchase decisions are made. The header is also not sticky anywhere on the site, so navigating a 1,500-SKU catalogue means repeatedly scrolling a 9,700px homepage back to the top.

The third gap is that the store has no way to bring visitors back. We found GA4, Google Tag Manager, Meta Pixel and Microsoft Clarity correctly installed — but no email marketing platform (no Klaviyo, Omnisend or Mailchimp), no email-capture popup or welcome offer, and no TikTok pixel despite an active TikTok account linked in the footer. Without an ESP there are no abandoned-cart, abandoned-browse, post-purchase or replenishment flows — and replenishment is precisely where a consumables catalogue makes its repeat revenue. Every euro of TikTok traffic is currently untracked and unretargetable.

Finally, social proof is almost entirely missing at the point of decision. Judge.me is installed correctly — verified-buyer badges, sorting and a photo filter all work — but only ~14% of product cards carry any rating at all, the flagship bestseller we tested showed "Sé el primero en escribir una reseña", and even on products that do have reviews no star rating renders under the product title; a shopper must scroll ~2,600px to discover a rating exists. A distributor with a physical Barcelona showroom has the order volume to be sitting on thousands of reviews. There is also no UGC or Instagram gallery anywhere on the homepage — in a category that is fundamentally visual and inspirational.

Bottom line: the foundations here are strong and the brand presentation is genuinely premium. The gaps are concentrated in the cart, in mobile buy-flow, in retention infrastructure and in review coverage — four areas where the fixes are well-defined, bounded and disproportionately profitable.

12
Critical Issues
25
Warnings
79
Done Right
1,500+
Products Audited
Suggestions — Homepage
01. Header & Navigation
Homepage · Desktop 1440×900
Needs Work
Oops Nails header, mega menu and hero section
Issues to Fix
🔴 Header Is Not Sticky

The header computes to position: static — it scrolls away permanently. On a homepage measuring 9,702px and a catalogue of 1,500+ products across 250 collections, every navigation action forces the user to scroll all the way back to the top. This is the highest-frequency friction point on the entire site, and it affects every page.

⏱ Estimated: 4 dev hours

⚠️ Search Is an Icon in the Far-Left Corner

Search is hidden behind a magnifier icon positioned top-left, against the near-universal convention of top-right. For a 1,500-SKU professional catalogue, search is the primary discovery path and deserves a visible input field with a placeholder ("Busca marca, tipo, código…"), not a hidden toggle.

⏱ Estimated: 3 dev hours

⚠️ Navigation Consumes Two Full Rows

The menu wraps onto two lines (~145px of vertical space) because 11 top-level items don't fit on one. Combined with the non-sticky behaviour, this is a large permanent cost to first-screen real estate that delivers no ongoing benefit.

⏱ Estimated: included in sticky header

What's Done Right
✅ Outstanding Announcement Bar

Rotates through 8 genuinely useful messages: free shipping over €95 (Península y Baleares), official distributor status, physical Barcelona store, seQura instalments in 3/6/12 months, and Nacex 24–48h delivery. Specific, concrete and trust-building — far better than the usual generic "FREE SHIPPING" banner.

✅ Well-Structured Mega Menu

11 logical top-level categories (Bestsellers, Consumibles, Materiales, Herramientas, Diseños, Equipo, Fresas, Ofertas & Kits, Qué Hay de Nuevo, Marcas, Información). For a 1,500-product catalogue this shows real information-architecture discipline — no category overload.

✅ Predictive Search Works Well

Tested live: "lampara" returned Lámpara "ONail AI" and Lámpara SUN3 48W, plus 1 collection and 3 query suggestions — and it matched correctly despite the missing accent. The underlying search quality is good.

✅ Account, Cart & Market Selector Always Visible

Account icon, cart with a live item badge, and a language/country selector (11+ EU markets with correct currencies) are all present top-right on every page.

✅ Strong Contrast

Black text on white throughout the header, with the pink brand accent reserved for the active state. Highly legible and accessible.

02. Hero Section & CTA
Homepage · Desktop 1440×900
Strong
Hero banner with value proposition and dual CTAs
Issues to Fix
⚠️ No Social Proof in the Hero

The hero establishes authority through "Distribuidor Oficial" but carries no quantified proof — no aggregate rating, no customer count, no years in business, no "+X profesionales confían en nosotros". In a B2B-leaning professional-supply category buyers choose a distributor on credibility, and a single proof number in the hero is the cheapest way to supply it.

⏱ Estimated: 2 dev hours

⚠️ Mobile Hero Image Is Heavily Cropped

On a 390×844 viewport the hero image collapses to roughly 155px tall, cropping the featured lamp and e-file so the products are barely identifiable. The desktop composition is excellent; the mobile crop discards most of it.

⏱ Estimated: 2 dev hours

What's Done Right
✅ Value Proposition Reads in Under 3 Seconds

"Todo para una manicura profesional" with the supporting line "Esmaltes semipermanentes, tornos, lámparas, fresas y materiales para uñas. Envíos a España y la Unión Europea." A visitor knows exactly what is sold and where it ships within one glance.

✅ Authority Eyebrow Above the Headline

"DISTRIBUIDOR OFICIAL · BARCELONA & ONLINE" positions the brand as an authorised distributor with a physical presence before the visitor reads anything else — exactly the right first message for this category.

✅ Two CTAs Above the Fold, Correctly Ranked

Primary "VER BESTSELLERS" in solid brand pink, secondary "OFERTAS & KITS" as an outline button. Clear visual hierarchy, both fully above the fold on desktop and mobile.

✅ Static Hero — No Auto-Rotating Carousel

A single static banner rather than a slideshow. This is the correct decision: faster to load, one unambiguous focal point, and no content rotating away before it can be read. Many stores get this wrong; this one does not.

✅ Trust Bar Immediately Below the Hero

Four icon-led guarantees directly under the fold: Envío gratis +95 €, Pago seguro (Tarjeta · Contra reembolso · seQura), Entrega 24–48 h (Nacex), Distribuidor oficial. Positioned exactly where the first doubt occurs.

✅ Premium Visual Hierarchy

Considered typography, generous whitespace and consistent brand-pink accenting. The store genuinely looks like an authorised professional distributor rather than a dropshipper.

03. Product Cards & Best Sellers
Homepage · Desktop 1440×900
Critical
Tabbed bestsellers module with product cards
Issues to Fix
🔴 No Quick Add on Product Cards

Cards link only to the product page — there is no Quick Add control anywhere in the grid. This is the defining friction of a professional-supply store: a salon restocking gloves, files, tips and orange sticks must open and return from a separate page for every single line item. Quick Add on cards (with a variant picker for multi-option SKUs) directly increases both conversion rate and units per order.

⏱ Estimated: 8 dev hours

🔴 No UGC / Instagram Gallery on the Homepage

The store has an active Instagram and TikTok linked in the footer, yet there is no user-generated content block anywhere on the homepage — we verified the full 15-section structure. Nail products are bought on visual inspiration; a shoppable gallery of real work by real technicians is the single best-converting homepage module available in this category, and it is entirely absent.

⏱ Estimated: 6 dev hours

⚠️ "Favorito" Badge Appears on Every Card in the Row

All 5 visible bestseller cards carry an identical teal "Favorito" badge. A badge appearing on 100% of products in a row carries zero differentiating signal — it becomes wallpaper. Reserve it for a genuine subset and diversify the badge vocabulary (Nuevo, Top valorado, Reposición, Últimas unidades).

⏱ Estimated: included in badge rework

⚠️ No Star Ratings on Bestseller Cards

Only 29 of 209 rendered cards (≈14%) display any rating. On the bestseller row specifically, 4 of 5 products show nothing. Ratings on cards are one of the strongest click-through drivers in a grid — see Block 09 for the underlying review-coverage problem.

⏱ Estimated: covered in Block 09

⚠️ Bestsellers Sit ~1,750px Down the Page

The bestsellers module is placed below a full-height collection-list section, putting it roughly two screens down. Social-proof-backed bestsellers are the strongest early merchandising asset and are currently the fourth content block rather than the second.

⏱ Estimated: 1 dev hour

⚠️ Category Tab Strip Overflows Behind the Arrows

In the bestsellers module the tab labels run under the carousel navigation buttons — "CUIDADO PODOLÓGICO" is visibly truncated mid-word by the arrow controls. A small but visible polish defect on a prominent module.

⏱ Estimated: included in badge rework

What's Done Right
✅ Tabbed Bestsellers Module

"¡Conoce los productos más vendidos!" with six switchable category tabs (Bestsellers, Lámparas, Alicates, Pinceles, Cuidado de Manos, Cuidado Podológico) lets very different buyer types self-select from one compact module. Genuinely smart merchandising.

✅ Hover Image Swap Works on 87% of Cards

181 of 209 rendered cards carry a second image and swap correctly on hover, letting shoppers see an alternate angle without leaving the grid.

✅ Genuine Discount Badges

Percentage badges (−35%, −15%) and "Oferta" labels appear only on products that are actually discounted, and they are paired with real strikethrough pricing (€45,00 → €39,00). No invented anchor prices — this is honest, credible merchandising.

✅ Clear, Unambiguous Pricing

Every card shows a clean EUR price in high contrast, with no hidden "from" pricing games.

✅ Clear Module Exit CTA

A prominent "VER TODO" button closes the bestsellers module, giving engaged browsers an obvious next step into the full collection.

04. Footer & Trust Signals
Homepage · Desktop 1440×900
Strong
Footer with policies, payment icons, WhatsApp and newsletter
Issues to Fix
⚠️ No FAQ Link in the Footer

The homepage carries a well-built FAQ section ("¿Tienes preguntas? Obtén respuestas."), but there is no route to it from the footer. The content already exists and is well written — it is simply unreachable from the one place users reflexively look for it.

⏱ Estimated: 1 dev hour

⚠️ Store Address Missing from the Footer

The Barcelona showroom address (C/ del Consell de Cent, 64) appears only in a mid-homepage section. For a business whose core differentiator is being a real, physical, official distributor, full NAP details in the footer is both a trust signal and a local-SEO asset that is currently unused.

⏱ Estimated: 1 dev hour

What's Done Right
✅ Zero Broken Links — All 14 Verified

We extracted every internal footer href and tested each one: all 14 return HTTP 200. No 404s anywhere in the footer. This is rarer than it should be and reflects real maintenance discipline.

✅ Complete, Findable Policy Set

Datos de envío, Pago con seQura, Devoluciones y cambios, Contacta con nosotros, Política de Privacidad, Política de Cookies and Condiciones Generales de Venta are all present and grouped under a clear "Atención al cliente" heading.

✅ 12 Payment Methods Displayed

Visa, Mastercard, Maestro, American Express, PayPal, Apple Pay, Google Pay, Klarna, Bancontact, Wero, Cartes Bancaires and UnionPay. Broad EU coverage with BNPL visible at the point of reassurance.

✅ Human Support Channel, Prominently Placed

"¿Necesitas ayuda? Escribe a una asesora de belleza por WhatsApp" with the number +34 611 84 90 18 shown as a large tappable link. Offering a named human advisor — not a bot — is a genuine differentiator in professional supply.

✅ Multi-Market Selector

Country/currency switching across 11+ EU markets (España, Francia, Portugal, Alemania, Italia, Países Bajos, Bélgica, Austria, Andorra, Luxemburgo, Dinamarca) with correct local currencies. Real cross-border infrastructure.

✅ Social Profiles & Newsletter Present

Instagram and TikTok are linked, and a newsletter capture field sits in a dedicated footer column.

✅ Out-of-Stock Transparency

A dedicated "Productos sin stock" link lets professionals check availability directly rather than hunting through collections — a thoughtful touch for trade buyers planning restocks.

Suggestions — Collection Page
05. Collection Page Layout
/collections/mejores-vendedores · Desktop 1440×900
Critical
Collection page with faceted filters
Issues to Fix
🔴 Zero Products Visible Above the Fold

On a standard 1440×900 desktop screen the customer lands on a collection and sees no merchandise at all. The title block and banner image consume roughly 330px, then four wrapped rows of filter controls consume another ~180px, pushing the first product row to approximately 760px. A collection page's only job is to show products; this one requires a scroll before it does that. Compact the header and move the 15 facets into a left sidebar or a "Filtrar" drawer.

⏱ Estimated: 6 dev hours

⚠️ No SEO / Intro Copy on Collections

The audited collection returned 0 characters of description. Across 250 collections — many targeting high-intent commercial terms like "base builder gel", "alicates" and "fresas de diamante" — this is a substantial organic-traffic gap. A short, genuinely useful intro paragraph per collection also helps buyers choose between similar categories.

⏱ Estimated: 5 dev hours

⚠️ Pagination Instead of Load More

Collections use numbered pagination with no infinite scroll or "Cargar más" button. On large collections (157 products in the one tested) pagination measurably reduces the number of products viewed per session versus progressive loading.

⏱ Estimated: 3 dev hours

⚠️ Generic Collection H1

The H1 is simply "BESTSELLER" — one word, no keywords, no descriptive value. A heading like "Bestsellers — Los productos de manicura profesional más vendidos" serves both the shopper and search.

⏱ Estimated: 2 dev hours

What's Done Right
✅ Exceptional Faceted Filtering

15 facets including Marca, Categoría, Tipo, Colección, Tipo de color, Color, Forma, Punta, Grosor/abrasivo, Diámetro de cabeza, Longitud de la cabeza, Longitud de hoja, Velocidad de rotación, Disponibilidad and Ofertas. These are real professional purchase criteria, not generic defaults — this is the best-executed part of the entire store.

✅ Filters Show Result Counts

We counted 416 facet labels carrying live product counts, so users know how many results each option yields before clicking — this prevents the dead-end empty-result experience.

✅ Filters Also Work on Search Results

The search results page carries the same facet set (Marca, Categoría, Tipo, Colección, Tipo de color, Color, Disponibilidad) plus sorting. Many stores filter collections but leave search unfiltered; this one does not.

✅ Sorting & Result Count Displayed

"Ordenar por" is present alongside a clear "157 productos" count, so users always know the scope of what they're browsing.

✅ Breadcrumbs on Collections

"OOPSNAILS / BESTSELLER" gives clear hierarchical context and a one-click route back up the tree.

✅ Clean Catalogue Hygiene

We parsed all 1,500 products and found exactly one duplicated product title and only 3 "copy-of-" handles. For a catalogue of this size that is remarkably well maintained — duplicate listings normally fragment reviews and pollute search results.

Suggestions — Product Page
06. Product Page — Images & Pricing
Product page · Desktop 1440×900
Needs Work
Product page with gallery, variant pills and seQura widgets
Issues to Fix
⚠️ Colour Options Render as Text Pills, Not Swatches

The audited product exposes five genuine colour options — Negro, Rosa, Violet, Blanco, Azul — as plain text buttons. On a nail products store, where colour is frequently the entire purchase decision, forcing customers to read colour names instead of seeing them is a direct conversion cost. This matters most across the gel polish and Cat Eye lines. Visual colour chips (or variant thumbnails) should replace text pills wherever the option is a colour or finish.

⏱ Estimated: 8 dev hours

⚠️ No Product Video or 3D on Any Product Examined

No <video> or model-viewer element was found. For the equipment range — e-files, lamps and dust vacuums in the €100–400 band — video is the single most decisive asset: buyers want to see the torque, the noise level, the build quality and the actual cure. Static supplier photos cannot answer those questions.

⏱ Estimated: covered in photography workstream

⚠️ Inconsistent Product Photography Across Brands

Own-brand lines (DNKa') have polished, on-brand imagery on consistent lilac backgrounds, while distributed lines use raw supplier box shots on plain white — one card even carries a burnt-in third-party certification sticker. A single "También te puede interesar" row mixed white, orange-gradient, purple and lifestyle backgrounds. The grid reads as inconsistent even though the products are legitimate.

⏱ Estimated: 6 dev hours

⚠️ No Size Guide on Sized Products

The gloves offer XS/S/M/L with no sizing reference, and no size-guide element was found anywhere on the page. Sizing uncertainty on a consumable bought in boxes of 100 drives both hesitation and returns.

⏱ Estimated: 3 dev hours

What's Done Right
✅ Rich Gallery with Working Zoom

7 images with a thumbnail strip, navigation arrows and a functioning lightbox/zoom modal. Multiple angles including in-use shots are available.

✅ Breadcrumbs on Product Pages

"OOPSNAILS / Consumibles" appears above the product, giving clear category context and improving both navigation and SEO — the checklist item many Shopify themes skip entirely.

✅ Brand Shown Above the Title

The vendor (e.g. SANTEX) is displayed above the product name. In professional supply, buyers shop by brand first — surfacing it prominently matches real purchase behaviour.

✅ Large, High-Contrast Product Title

The H1 is set at a genuinely large size in near-black on white, immediately establishing what the customer is looking at.

✅ Transparent Pricing

"€5,90 EUR" shown large, followed by "Impuestos incluidos. Los gastos de envío se calculan en la pantalla de pago" with the shipping policy linked. No tax surprises at checkout.

✅ Structured Specification Lists

Brand products carry clean labelled specs (Colección, Tipo de color, El color, Volumen disponible, Artículo/SKU) — exactly the reference data a professional needs to reorder the right item.

07. Product Page — Buy Section & Trust
Product page · Desktop 1440×900
Needs Work
Buy section with Add to Cart and seQura financing
Issues to Fix
⚠️ No Sticky Add-to-Cart on Desktop

No sticky or fixed buy element exists on desktop. Once the customer scrolls into the description, specifications, cross-sell and reviews, the Add-to-Cart button and the price are both gone. On long product pages this forces a scroll back up at precisely the moment intent peaks. (The mobile version of this problem is more severe — see Block 12.)

⏱ Estimated: 3 dev hours

⚠️ No Reassurance Row Beneath Add-to-Cart

This is the most avoidable miss on the page. The store owns outstanding trust assets — free shipping over €95, returns and exchanges, official distributor status, secure payment, 24–48h Nacex delivery — and displays none of them adjacent to the buy button. They appear in the announcement bar and the footer, but not at the exact moment of decision. A compact three-icon strip directly under the CTA is a few hours of work.

⏱ Estimated: 3 dev hours

⚠️ No Stock or Scarcity Indicator

No inventory element was found. Professionals restocking consumables respond strongly to genuine availability signals ("Solo quedan 4 unidades", "En stock — listo para envío hoy"). Given real inventory data is available, honest stock messaging is low-risk and effective.

⏱ Estimated: 2 dev hours

What's Done Right
✅ Prominent, Unmissable Add-to-Cart

"AGREGAR AL CARRITO" is a full-width solid brand-pink button — the single highest-contrast element in the buy column, with no competing CTA stealing attention.

✅ seQura BNPL Directly Under the CTA

Two live seQura widgets sit immediately beneath the button: "Recibe tu compra antes de pagar" and "Paga a plazos tu compra desde 29,00 €", each with a "+info" expander. For the €100–400 equipment range this is exactly the right financing message in exactly the right place — and Klarna is available at checkout as well.

✅ Local Pickup with a Concrete Time Promise

"Retiro disponible en Oops Nails BCN — Normalmente está listo en 2 horas" with a link to store information. A 2-hour pickup promise from a real Barcelona showroom is a powerful competitive advantage over pure e-commerce rivals, and it is surfaced correctly on the product page.

✅ Proper Quantity Stepper

A −/+ stepper rather than a bare number field — important for a store where orders are frequently multi-unit.

✅ Contextual In-Cart Indicator

The quantity label updates to "Cantidad (1 en el carrito)", telling the customer what they already have before they add more. A genuinely thoughtful detail that prevents accidental duplicate ordering.

✅ BNPL Correctly Scoped

Instalment messaging is handled by seQura and Klarna and is appropriate to the equipment price band — no need for additional BNPL providers. Marked as fully implemented.

✅ Back-in-Stock Widget — Not Applicable

With 1,500 SKUs across many colour/size variants, out-of-stock variants are hidden rather than shown, and no sold-out product was encountered during the audit. A back-in-stock notifier would add noise without value here, so this is correctly marked N/A rather than flagged as missing.

08. Product Page — Description & Cross-sell
Product page · Desktop 1440×900
Strong
Product description and cross-sell recommendations
Issues to Fix
⚠️ Descriptions Are a Flat Block, Not Accordions

No <details> or tab elements were found in the product information area. On simple consumables the description is short enough to work; on the equipment range — where specs, contents, warranty and usage instructions all belong on one page — a flat wall of text pushes reviews and cross-sell far down and buries the details buyers are hunting for.

⏱ Estimated: 4 dev hours

⚠️ No How-To or Application Content on Product Pages

The brand already runs a training arm ("Academia Elena Antul", featured on the homepage) but none of that expertise reaches the product page. Application guidance — cure times, layer counts, compatible bases and tops — reduces both hesitation and post-purchase support load, and it is content the business already owns.

⏱ Estimated: 4 dev hours

What's Done Right
✅ 100% Description Coverage

We sampled 40 products via the catalogue API: every single one had a real description (zero under 40 characters). Across a 1,500-product distributor catalogue, having no empty product pages is a genuine content achievement.

✅ Well-Formatted, Benefit-Led Copy

Descriptions lead with bold labelled facts (Colores disponibles, Tallas disponibles, Cantidad) then explain the actual benefit — e.g. why chlorinated nitrile gloves don't stick together and how they outperform latex with micro-perforations. Specific and useful rather than generic filler.

✅ Excellent "Top añadidos" Upsell Widget

A compact horizontal upsell showing frequently added companions with price, an inline variant dropdown and a direct "Comprar" button on each — customers can add a complementary item without ever leaving the page. This is a properly implemented upsell and one of the strongest features on the site.

✅ Relevant Recommendations Block

"También te puede interesar" surfaces four genuinely related products (brushes, arm rests, hand rests and kits alongside a gel) rather than random catalogue filler, with live discount badges where applicable.

✅ No External Links Leaking Traffic

We scanned all links within the product description area: zero point to external domains. Nothing pulls the customer off-site mid-decision.

09. Product Page — Reviews & Social Proof
Product page · Desktop 1440×900
Critical
Judge.me review widget showing a single review
Issues to Fix
🔴 Review Coverage Is Near Zero

Only 29 of 209 rendered product cards (≈14%) carry any rating at all. The bestselling product we audited displayed "Sé el primero en escribir una reseña" — zero reviews — and the top-ranked DNKa' product had exactly one. A distributor with 1,500 SKUs, EU-wide shipping and a physical Barcelona showroom has the order history to be sitting on thousands of reviews. The Judge.me infrastructure is already installed and working; what is missing is the automated post-delivery request flow and a backfill campaign against historical orders.

⏱ Estimated: 6 dev hours

🔴 No Star Rating Under the Product Title

Even on products that do have reviews, no rating badge renders near the H1 — we verified this on a product with a live 5.0 rating and found no preview badge anywhere in the buy column. The rating only exists at the bottom of the page, roughly 2,600px down. A clickable star summary directly beneath the title (anchor-linking to the reviews) is standard practice and is one of the highest-impact single elements on any product page.

⏱ Estimated: included in reviews workstream

⚠️ No Review Photos in Practice

Judge.me's "Solo Imágenes" filter is present and functional, but there is no photo content to filter. In a visual category, customer photos of actual manicures are the most persuasive asset available — incentivising photo reviews should be built into the request flow from day one.

⏱ Estimated: included in reviews workstream

⚠️ No Aggregate Social Proof on the Homepage

There is no store-wide rating, testimonial block or review carousel anywhere on the homepage. Once review volume exists, an aggregate figure ("4.8/5 de X reseñas verificadas") belongs in the hero and near the bestsellers module.

⏱ Estimated: included in hero social proof

What's Done Right
✅ Judge.me Correctly Installed and Configured

The widget renders cleanly in Spanish with a "Verificado" verified-buyer badge, a clear "Escribir una reseña" CTA, working sort controls (Más Recientes, Mayor Calificación, Menor Calificación) and a photo-only filter. The platform work is already done — only the content is missing.

✅ Ratings Do Render on Collection & Homepage Cards

Where reviews exist, star ratings and counts appear correctly on product cards in grids and on the homepage bestsellers module — so the moment coverage improves, the benefit propagates across the catalogue automatically.

Suggestions — Shopping Cart
10. Shopping Cart
/cart with a product added · Desktop 1440×900
Critical
Cart page with item, totals and express checkout
Add to cart notification popup overlapping variant selectors
Issues to Fix
🔴 No Free-Shipping Progress Bar — The Biggest Miss on the Site

The store advertises free shipping over €95 in the announcement bar, in the hero trust row and in the footer — but the cart never mentions it. We added a €5.90 item and the cart gave no indication whatsoever that €89.10 more would unlock free delivery. A progress bar ("Te faltan 89,10 € para el envío gratis") in the cart, in the add-to-cart notification and in the header is the single highest-ROI change available to this store, and for a consumables catalogue where topping up an order is effortless, it is close to free money.

⏱ Estimated: 5 dev hours

🔴 No Cart Upsell or Recommendations

The cart page has a large empty column beside the totals and offers no complementary products at all. This is the moment of highest purchase intent in the entire session, and it is completely unmonetised — especially wasteful given the store already has a working recommendation engine ("Top añadidos") on product pages that could be reused directly.

⏱ Estimated: 6 dev hours

⚠️ No Cart Drawer — Full Page Load Required

We confirmed no cart drawer element exists in the theme; the store uses Dawn's lightweight cart notification instead. Reviewing or editing the cart therefore means a full navigation away from the product the customer was browsing, breaking the multi-item shopping flow that a professional-supply store depends on.

⏱ Estimated: 8 dev hours

⚠️ Add-to-Cart Popup Covers the Variant Selectors

A reproducible layout defect: after adding an item, the confirmation popup overlays the right side of the buy column and hides part of the variant options — the Color row was reduced from five visible options (Negro, Rosa, Violet, Blanco, Azul) to two, and Size "L" was partially obscured. A customer wanting to add a second colour or size is physically blocked by the confirmation of the first.

⏱ Estimated: 2 dev hours

⚠️ No Trust Badges on the Cart Page

The cart carries no payment icons, no returns reminder and no secure-checkout signal — despite 12 payment methods and a clear returns policy existing elsewhere on the site. The final pre-checkout screen is where reassurance matters most.

⏱ Estimated: 2 dev hours

What's Done Right
✅ One-Click Quantity Editing and Removal

Each line has a −/+ stepper and a dedicated trash icon, so adjusting or removing an item takes a single click with no form resubmission.

✅ Clear Line Items with Variant Detail

110px product thumbnails alongside the full title, unit price and selected variants ("Color: Negro", "Size: XS") — the customer can verify exactly what they're buying at a glance.

✅ Total Clearly Visible Before Checkout

"Total estimado €5,90 EUR" sits directly above the checkout button with an honest note that taxes are included and shipping/discounts are calculated at checkout.

✅ Express Checkout Options

Below the primary "PAGAR PEDIDO" button, PayPal and Google Pay express buttons let returning customers skip form entry entirely.

✅ Loyalty Redemption Prompt in the Cart

"Inicia sesión para canjear tus puntos por recompensas" appears right above checkout — surfacing the loyalty programme at the exact moment it can influence the decision and drive account creation.

✅ Promo Code Field Correctly Deferred

There is no discount-code field on the cart page — it is handled at checkout. This is the correct decision: a visible empty coupon box sends customers off-site hunting for codes they don't have.

✅ Order Notes Field

"Instrucciones especiales del pedido" is available — valuable for trade customers specifying delivery windows or salon collection details.

✅ Clear Add-to-Cart Confirmation

The notification confirms the item with a thumbnail and the chosen variants, then offers three sensible paths: "VER CARRITO (1)", "PAGAR PEDIDO" and "Seguir comprando" — the continue-shopping option is correctly present rather than forcing checkout.

Suggestions — Mobile Experience
11. Mobile — Homepage & Navigation
Homepage · Mobile 390×844
Strong
Mobile homepage hero and trust icons
Mobile hamburger navigation drawer
Issues to Fix
⚠️ Base Font Size Is 15px, Below the 16px Standard

Measured font-size: 15px on the body. Beyond general legibility on small screens, sub-16px font sizes on form inputs trigger automatic zoom on iOS Safari — which disrupts the newsletter form, the search field and every checkout input. Raising the base to 16px is a one-line change with disproportionate benefit.

⏱ Estimated: 3 dev hours

⚠️ 34 of 60 Tap Targets Below 44×44px

We measured the first 60 interactive elements: 34 fall below the 44×44px accessibility minimum, most at 217×40px — only 4px short. Padding these to 44px removes mis-taps on menu and footer links at essentially zero design cost.

⏱ Estimated: included in mobile typography

⚠️ Announcement Bar Wraps to Two Lines

At 390px width the announcement messages wrap, consuming double the intended header height and pushing the hero further down. Shortening the mobile variants of these messages recovers the space.

⏱ Estimated: included in mobile typography

What's Done Right
✅ Excellent Full-Screen Navigation Drawer

The hamburger opens a clean full-screen menu with generous ~56px row heights, a clear visual hierarchy, chevrons indicating expandable sections, emoji accents highlighting key categories, and account login plus the country/currency selector docked at the bottom. This is a genuinely well-executed mobile menu.

✅ Search and Cart Remain in the Mobile Header

Both stay accessible beside the logo rather than being buried inside the drawer, and the cart badge correctly displays the live item count.

✅ No Horizontal Overflow

Document width measured exactly 390px against a 390px viewport — zero horizontal scroll anywhere. Clean responsive implementation.

✅ No Intrusive Popups or Cookie Wall

We waited 8 seconds on a fresh mobile session: no full-screen interstitial, no blocking cookie modal. Nothing obstructs the first impression.

✅ Primary CTA Above the Fold on Mobile

"VER BESTSELLERS" lands at roughly 550px — comfortably within the 844px viewport — with the secondary CTA and trust icons following directly.

✅ Fully Responsive Layout Throughout

Hero, trust bar, product grids, filters, cart and footer all adapt cleanly with no broken elements or clipped content across every template tested.

12. Mobile — Product Page
Product page · Mobile 390×844
Critical
Mobile product page scrolled — no sticky Add to Cart visible
Issues to Fix
🔴 No Sticky Add-to-Cart on Mobile

This is the highest-impact mobile fix available. The Add-to-Cart button sits at approximately 1,156px down the page, and we confirmed no fixed or sticky buy element exists. The screenshot above shows the reality: a customer reading the product description sees no price and no buy button anywhere on screen, with no way to purchase without scrolling back up. Mobile is where the majority of Shopify traffic converts, and every scroll away from the CTA is a conversion leak. A persistent bottom bar carrying price, variant summary and Add-to-Cart resolves it.

⏱ Estimated: 5 dev hours

⚠️ Price Disappears Along With the Button

Because the price lives only in the buy column, it scrolls out of view with the CTA. Customers comparing options while reading specifications have no persistent price reference — the sticky bar should carry the live variant price, not just the button.

⏱ Estimated: included in sticky ATC

What's Done Right
✅ Swipeable Product Gallery

The mobile gallery uses a native slider component, so images can be swiped through with standard touch gestures rather than requiring thumbnail taps.

✅ Numeric Keypad for Quantity

The quantity field is type="number", so mobile devices present the numeric keypad rather than the full alphabetic keyboard — meaningful for a store where multi-unit orders are routine.

✅ Clean Mobile Product Layout

Gallery, title, price, variant pills, quantity and CTA stack in a logical single column with comfortable spacing and no clipped content or overflow.

Suggestions — Technical & Marketing
13. Speed & Technical
Homepage + Product page · Google PageSpeed Insights & in-browser resource audit
Critical
Google PageSpeed Insights — Homepage, Mobile
75
Performance
3.3 s
FCP
3.6 s
LCP
190 ms
TBT
0.135
CLS
3.9 s
Speed Index
Google PageSpeed Insights — Product Page, Mobile
68
Performance
3.2 s
FCP
5.6 s
LCP
160 ms
TBT
0.078
CLS
4.7 s
Speed Index
Google PageSpeed Insights — Homepage, Desktop
70
Performance
0.7 s
FCP
1.0 s
LCP
610 ms
TBT
0.034
CLS
2.1 s
Speed Index
In-Browser Resource Audit — Homepage
2.79 MB
Total Weight
370
Requests
1.60 MB
JavaScript
171
JS Files
20
3rd-Party Hosts
442 / 449
Images Lazy
Issues to Fix
🔴 Product Page Mobile LCP of 5.6 Seconds

Product pages score 68/100 on mobile with a Largest Contentful Paint of 5.6 s — more than double Google's 2.5 s threshold, and the slowest template on the site. These are the exact pages where purchase decisions happen, and they are measurably slower than the homepage (3.6 s). The main product image is not being prioritised: it needs fetchpriority="high", explicit width/height, a preload hint, and lazy-loading must be removed from the first gallery image. This also carries a direct organic-ranking cost.

⏱ Estimated: 8 dev hours

🔴 Desktop Total Blocking Time of 610 ms

Despite excellent desktop paint metrics (FCP 0.7 s, LCP 1.0 s), the page is unresponsive to input for 610 ms — firmly in Google's "poor" band. The cause is visible in the resource audit: 1.60 MB of JavaScript spread across 171 separate files from 20 third-party hosts (POWR, Judge.me, Microsoft Clarity, Meta, GTM, seQura, loyalty). The page paints fast, then freezes while scripts execute. Deferring non-critical apps and auditing which POWR widgets are still in use would recover most of this.

⏱ Estimated: 6 dev hours

⚠️ Mobile Layout Shift of 0.135

Homepage CLS on mobile measures 0.135, above Google's 0.1 threshold (desktop is fine at 0.034). The likely causes are the rotating 8-message announcement bar reflowing as text lengths change, and images rendering without reserved dimensions. Fixing the announcement bar height and adding explicit aspect ratios resolves it.

⏱ Estimated: 3 dev hours

⚠️ 370 Requests and 449 Image Tags on the Homepage

The homepage renders 449 image elements and 209 product cards in a single document because every tab panel in the three tabbed modules is rendered upfront rather than on demand. Lazy-rendering inactive tab panels would cut both request count and DOM size substantially.

⏱ Estimated: 4 dev hours

⚠️ Mobile First Contentful Paint Above 3 Seconds

FCP measures 3.3 s on the homepage and 3.2 s on product pages — over the 3 s threshold on both. Users on mobile data see nothing meaningful for over three seconds, and mobile is the majority traffic source.

⏱ Estimated: included in LCP work

What's Done Right
✅ Lazy Loading Correctly Implemented

442 of 449 images (98%) carry loading="lazy". Given the homepage renders hundreds of product images, this is doing significant heavy lifting and is the main reason the page is usable at all.

✅ Correct Heading Structure

Exactly one H1 per page across every template audited, with a logical H2 hierarchy beneath (16 H2s structuring the homepage sections). No heading-tag abuse for styling.

✅ Modern Image Delivery via Shopify CDN

Images are served through the Shopify CDN with full responsive srcset breakpoints (165w / 360w / 533w / 720w / 940w) and automatic WebP negotiation — devices receive appropriately sized, modern-format images without manual work.

✅ Fast Server Response and Desktop Paint

TTFB measured 18 ms on a warm connection, with desktop FCP at 0.7 s and LCP at 1.0 s. The hosting and the critical rendering path are genuinely fast — the bottleneck is script execution, not infrastructure.

✅ Excellent Desktop Layout Stability

Desktop CLS of 0.034 is well inside the 0.1 "good" threshold — desktop content does not jump as it loads.

✅ Lean CSS and Font Payloads

CSS totals just 56 KB and fonts only 73 KB. The styling layer is efficient; the weight problem is isolated almost entirely to third-party JavaScript.

14. Marketing — Popups & Email Capture
Homepage · Desktop 1440×900
Critical
Footer newsletter, WhatsApp chat and loyalty widget
Issues to Fix
🔴 No Email-Capture Popup Anywhere

We found no Klaviyo, Privy, Omnisend or any other popup form on the site, and no popup appeared during an 8-second wait on a fresh session — there is no welcome offer and no exit-intent capture. The only capture point is a passive footer form that most visitors never scroll to. For a store running paid social traffic, this means the overwhelming majority of first-time visitors leave with no way to ever be contacted again. A welcome-offer popup plus exit-intent is the standard fix and typically captures a multiple of what a footer form alone achieves.

⏱ Estimated: 5 dev hours

⚠️ Newsletter Offers No Incentive

The footer form promises only "Novedades, colecciones y ofertas exclusivas en tu correo" — no discount, no free shipping, no concrete benefit. A specific first-order incentive ("−10% en tu primer pedido") reliably multiplies signup rate against a generic newsletter pitch, and for this store it also nudges customers toward the €95 free-shipping threshold.

⏱ Estimated: included in popup work

⚠️ No Refer-a-Friend Programme

A loyalty programme already exists but there is no referral mechanism. Nail technicians operate in an unusually tight, highly networked professional community where peer recommendation drives brand adoption — referral is a natural fit here and an obvious extension of the loyalty infrastructure already in place.

⏱ Estimated: 4 dev hours

What's Done Right
✅ WhatsApp Live Chat with a Real Advisor

A persistent WhatsApp button sits bottom-left on every page, backed by the footer message "Escribe a una asesora de belleza por WhatsApp" and a real number. For consultative professional supply — where buyers ask which base suits which builder gel — a named human on the customer's preferred channel beats a generic chatbot outright.

✅ Active Loyalty Programme

A "Puntos de fidelidad" widget is present sitewide and the cart surfaces redemption ("Inicia sesión para canjear tus puntos por recompensas"). For a repeat-purchase consumables business, points are exactly the right retention mechanic and they are already live.

✅ Zero Fake Scarcity or Countdown Timers

We scanned for countdown timers and artificial urgency widgets and found none. The store sells on genuine merits — official distributor status, real stock, real delivery times — rather than manufactured pressure. This protects long-term trust with a professional audience that sees through such tactics immediately.

✅ No Intrusive Interstitials

No popup obstructs the first visit on desktop or mobile, and there is no blocking cookie wall. First impressions are clean and uninterrupted.

✅ On-Site FAQ Section

The homepage includes a collapsible FAQ module ("¿Tienes preguntas? Obtén respuestas.") that pre-empts common objections without requiring a support contact.

✅ Newsletter Capture Exists in the Footer

A clean email field with an OK button is in place — the collection mechanism works; it needs an incentive and a more prominent entry point.

15. Marketing — Email Automations & Tracking
Sitewide · Script and pixel detection
Critical
Issues to Fix
🔴 No Email Marketing Platform Installed

We scanned every loaded script and found no Klaviyo, Omnisend, Mailchimp or equivalent ESP. Without one, the store has no abandoned-cart flow beyond Shopify's basic default, no abandoned-browse, no post-purchase sequence, no win-back and — most costly here — no replenishment flow. A consumables catalogue (gel, bases, tops, files, tips, gloves) has entirely predictable reorder cycles, and automated replenishment reminders are typically among the highest-revenue flows such a business can run. This is the largest untapped revenue system on the site.

⏱ Estimated: 12 dev hours

🔴 No TikTok Pixel Despite an Active TikTok Account

TikTok is linked in the footer as an active brand channel, but window.ttq is absent — the TikTok pixel is not installed. Every visitor arriving from TikTok is invisible to analytics, cannot be retargeted, and cannot feed conversion optimisation. In a category where TikTok is arguably the dominant discovery platform for nail professionals, this is a significant blind spot on both spend and attribution.

⏱ Estimated: 2 dev hours

⚠️ No Abandoned-Browse Capability

Abandoned-browse depends on an ESP with on-site tracking. With no platform installed, visitors who view products without adding to cart — the largest segment of any store's traffic — cannot be re-engaged at all.

⏱ Estimated: included in ESP setup

⚠️ Review-Request Automation Appears Inactive

Judge.me supports automated post-delivery review requests, but the near-zero review coverage documented in Block 09 strongly suggests the flow is either disabled or was never configured. Turning it on — plus a one-off backfill campaign against historical orders — is the fastest route to meaningful review volume.

⏱ Estimated: included in reviews workstream

What's Done Right
✅ GA4 and Google Tag Manager Active

Both gtag/dataLayer and a live GTM container were confirmed. Analytics foundations and a tag-management layer are in place, which makes adding the missing pixels straightforward.

✅ Meta Pixel Installed

window.fbq is active with fbevents.js loading correctly — Facebook and Instagram campaigns are tracked and retargetable.

✅ Microsoft Clarity Running

Clarity is live, providing free session recordings and heatmaps. This is genuinely valuable and under-used by most stores — it means several findings in this report (the collection above-the-fold problem, the mobile ATC scroll-back) can be verified against real user sessions immediately.

✅ seQura BNPL Fully Integrated

The seQura integration runs sitewide with product-level instalment messaging and pre-payment options — a meaningful conversion asset for the higher-priced equipment range in the Spanish market specifically.

✅ Judge.me Review Platform Installed

The infrastructure for review collection and automated requests is already present and correctly localised — only the automation and content are missing, which makes the reviews workstream far cheaper than a fresh implementation.

Implementation Estimate — Time & Fixed Price

Average dev hours and a fixed price at $40/hour. Suggested order: Critical → Medium → Low.

🔴 Critical Priority — Must Fix
Direct revenue impact. Start here for the biggest wins.
BlockTaskHours (avg)Fixed Price
15Email platform setup (Klaviyo) + abandoned cart, browse, post-purchase & replenishment flows12$480
13Product page mobile LCP optimisation (image priority, preload, dimensions)8$320
3Quick Add on product cards (with variant picker)8$320
10Cart upsell & recommendations block6$240
9Star rating under product title + Judge.me request automation & backfill6$240
5Collection above-the-fold rebuild (compact header + filter drawer)6$240
10Free-shipping progress bar (cart + notification + header)5$200
12Mobile sticky Add-to-Cart bar with live price5$200
14Welcome-offer email popup + exit-intent capture5$200
1Sticky header on scroll (desktop + mobile)4$160
15TikTok pixel install + event mapping2$80
Subtotal — Critical67 hrs$2,680
⚠️ Medium Priority — Should Fix
UX friction. Tackle after Critical to compound the gains.
BlockTaskHours (avg)Fixed Price
6Visual colour swatches replacing text variant pills8$320
10Cart drawer replacing the notification popup8$320
3Homepage UGC / Instagram shoppable gallery6$240
13Third-party JS audit — defer non-critical apps, reduce TBT6$240
5Collection SEO descriptions (template + rollout)5$200
8Product description accordions for equipment specs4$160
7Trust & reassurance row beneath Add-to-Cart3$120
7Desktop sticky Add-to-Cart3$120
13Mobile CLS fixes (announcement bar height + image dimensions)3$120
5"Cargar más" / infinite scroll on collections3$120
11Mobile typography to 16px + 44px tap targets + announcement bar3$120
1Expanded search input in the header3$120
3Badge strategy rework + bestseller tab overflow fix + module reorder3$120
10Fix add-to-cart popup overlapping variant selectors2$80
10Cart trust badges & payment icons2$80
7Honest stock / availability indicator2$80
4Footer FAQ link + store NAP block2$80
2Hero social-proof element (aggregate rating / customer count)2$80
Subtotal — Medium68 hrs$2,720
🟢 Low Priority — Nice to Have
Polish & long-term wins. Optional, no direct revenue gate.
BlockTaskHours (avg)Fixed Price
6Product photography consistency guidelines + retouch batch6$240
14Refer-a-friend widget on top of existing loyalty4$160
8How-to / application content module on product pages4$160
13Homepage request reduction (lazy-render inactive tab panels)4$160
6Size guide popup for sized products3$120
5Keyword-rich collection H1s2$80
2Mobile hero image crop optimisation2$80
Subtotal — Low25 hrs$1,000
Total Estimated
160 hrs · $6,400 fixed

* Hours are averages and the price is fixed at $40/hour, for development implementation only. Content creation (product videos, photography shoots) and third-party subscription costs (Klaviyo, loyalty and referral apps) are not included. Suggested order: Critical → Medium → Low.

Proven Results — Our Approach in Action

Stores on our CRO approach grew Total Sales +19%

The fixes in this report aren't theory — they're the same conversion levers we implement for the stores we work with. Here's the Total Sales curve from a store running our approach versus the previous period:

Total Sales over time — up 19% with our CRO approach

Total Sales over the period: $168,636+19% vs the prior period. Solid line = current (our approach), dotted = before.