Beautiful Curly Me Audit
Storefront & brand audit beautifulcurlyme.com  ·  05 Sep 2026

Beautiful Curly Me

A brand that has already won the hard part — attention — sitting on a storefront that isn’t built to convert it.

Prepared by
Jehcy Adorna
Platform
Shopify · Impulse 9.2.0
Method
Live-theme instrumentation, 14 pages crawled, press review
Findings
18 — 10 high, 7 medium, 1 to verify
Scope on the table
Theme design & build Brand identity Imagery & video CRO / SEO / growth
§ 01

Where the brand stands

Beautiful Curly Me is an Atlanta toy-and-media brand founded by Zoe Oli, who started it at seven after coming home from school asking why her hair didn’t look like her classmates’. The catalogue now runs to 49 SKUs across 18-inch and 14-inch dolls, books Zoe authored, STEAM puzzles, satin bonnets, statement tees, digital activity packs and a Thinkific course — plus a Gift-A-Doll donation mechanic that is genuinely load-bearing, not a badge.

The credibility shelf is exceptional: Good Morning America, Forbes, TIME, CNBC, People, TED, The Kelly Clarkson Show, The Jennifer Hudson Show, a John Lewis Emerging Leader Award, and a July 2024 launch of the “Curly and Confident Crew” plush line into Target stores nationwide. Most DTC brands spend seven figures trying to buy this and never get it.

49
products in the sitemap — but only 40 published to /collections/all
4.9
191 reviews on the hero SKU, invisible on every collection grid
3,599
dolls donated against a 5,000 quarterly goal, shown live on the PDP
6.8 MB
transferred on one product page, across 437 requests
16
third-party script hosts loading on the storefront
29/41
homepage images shipping with no alt text
§ 02

What the store already gets right

Worth saying plainly, because the recommendations later are about sharpening this, not replacing it.

§ 03

Measured baseline

Captured by instrumenting the live theme in-browser on 5 September 2026. Absolute timings were measured from Asia-Pacific and will be faster from the US — request counts, payload weights and markup findings are location-independent.

Table scrolls sideways

SignalHomepageBella PDPRead
Requests366437Heavy. A tuned Shopify store lands 90–150.
Transferred3.34 MB6.77 MBHeavy. Images alone are 1.39 MB on the homepage.
Scripts5759App sprawl. 16 distinct third-party hosts.
Stylesheets1010Each app injecting its own CSS layer.
DOM nodes2,501Acceptable, but rising with every stacked section.
TTFB880 msGeo-inflated; re-measure from US before acting.
First contentful paint1.12 sFine. The problem is what loads after it.
DOM content loaded2.22 sThird-party scripts dominate this window.
Load complete3.58 sSlow for a mobile-first toy shopper.
JSON-LD blocks01Gap. No Organization or WebSite schema anywhere.
Images without alt29 / 419 / 41Accessibility + image SEO loss.
§ 04

Findings

Eighteen items, ordered by severity. Each carries the workstream that resolves it, and the phase plan in § 07 references these IDs directly.

F-01

Two different free-shipping thresholds on the same page

HighGrowth

Announcement bar: “FREE DOMESTIC SHIPPING for orders $60+”
Promo bar, same page: “Get free shipping when you spend $75 or more!”
Homepage meta and PDP both render both.

A shipping threshold is an AOV instrument. Two of them, fifteen dollars apart, on one screen, means the instrument is broken and the shopper is being asked to work out which number is true.

Every basket between $60 and $75 is a coin flip on whether the customer feels cheated at checkout. This is a one-hour fix with a measurable effect on both AOV and support tickets.

F-02

The hero is a flat JPG with a fake button drawn into it

HighBuild · Image

Hero asset: Labor_Day_Sale-3.jpg — 240 KB, 1920px wide. Headline, subhead and a pink “Shop Now” pill are baked into the pixels. A second banner ships at 343 KB uncropped.

Nothing in that hero is text. It can’t reflow on mobile, can’t be read by a screen reader or a search engine, can’t be translated by Shopify Markets, and can’t be updated without opening Photoshop. The typo it carries — “No code needed.Savings at checkout” — has been shipped at 1920px because fixing it means re-exporting an image.

Every promotional cycle costs a design round-trip instead of a text edit, and the brand’s largest above-the-fold statement is invisible to search.

F-03

191 five-star reviews that never appear where people choose

HighGrowth · Build

Bella PDP: 4.9 ★ · 191 reviews (confirmed in Product JSON-LD).
/collections/all: 0 rating elements on 40 product cards. Homepage featured products: 0.

The store’s strongest conversion asset is locked one click deeper than the decision. Shoppers comparing four dolls in a grid see four prices and no proof.

Star ratings on collection cards are one of the most reliably positive changes in ecommerce. The data already exists and is already paid for.

F-04

Two competing review platforms installed at once

HighGrowth

Loading together on the PDP: loox.io (widget iframe + sticky side tab) and cdn.fera.ai (9 DOM nodes). Both are paid subscriptions. Both claim to own the rating.

Two review systems means two review inboxes, two request emails a customer might receive for the same order, two sets of star markup competing for the rich result, and two monthly invoices.

Duplicate spend, split social proof, and a genuine risk of conflicting aggregate ratings reaching Google.

F-05

App sprawl is the performance problem

HighBuild

Third-party hosts on the storefront: loox.io · cdn.fera.ai · static.klaviyo.com · static-tracking.klaviyo.com · config.gorgias.chat · config.gorgias.help · connect.facebook.net · googletagmanager.com · cdn.codeblackbelt.com · content.9gtb.com · cdnjs.cloudflare.com · shop.app + 4 CDN endpoints.
Theme app extensions: sales-countup, zipifypages, ocu-in-checkout. Plus a SimplyInsurance shipping-protection SKU sitting in the catalogue.

Two review apps, two Klaviyo endpoints, two Gorgias endpoints, a page builder (Zipify Pages) that renders landing pages outside the theme’s design system, and an 80 KB country-flag sprite loaded purely for the currency picker.

6.8 MB and 437 requests on a product page. On a 4G phone in a Target parking lot, that is the difference between a sale and a back button.

F-06

Zero structured data on the homepage

HighGrowth

Homepage <script type="application/ld+json"> blocks: 0.
No Organization, no WebSite + SearchAction, no LocalBusiness, no sitelinks search box.

PDPs are correctly marked up, so this is not a theme-wide failure — it’s a specific omission at the one URL that should be telling Google who this brand is, where it’s based, who founded it, and which social profiles are official.

Knowledge-panel eligibility, brand-name SERP presentation, and the sitelinks search box are all left on the table for a brand with national press coverage feeding branded search.

F-07

Typos in the metadata of the bestselling product

HighGrowth · Brand

Bella meta description: “… Gift for Gils ages 3+”
Homepage title: “Beautiful Curly Me| Empowering…” (no space)
Collection title: “All- Beautiful Curly Me…”

These are the lines that appear in Google results and in every link preview shared on social. For a brand whose product is confidence and whose buyer is a careful parent, a misspelling of girls in the search snippet is a brand problem before it is an SEO problem.

Small, but it’s free to fix and it’s the first thing a new customer reads.

F-08

The founder’s story tells three different ages

HighBrand

Meta description: “14-year-old girl CEO”
Our Story page: “13-year-old CEO”
Homepage brand block: “Founded by a 7-year-old girl” — without saying that was her age at founding.

Each number is defensible on its own; together they read as three brands. A visitor skimming from Google result to homepage to Our Story collects 14, 7 and 13 in under a minute. And because the age advances every year, any hard-coded number is a maintenance liability by design.

The origin story is the brand’s single biggest differentiator against Target shelf competition, and it currently has no canonical version.

F-09

Product photography has no system

HighImage · Brand

One homepage row, four products: a loose doll on white · a doll inside retail packaging · two dolls in a box · a flat-lay bundle. Four crops, four scales, three backgrounds, three lighting setups.
Badges in the same row: Bestseller (pink, top-left), available at Target (dark, top-centre), Limited Edition (pink, top-left).

The catalogue mixes studio cutouts, packaging shots, event photography and screenshots. Nothing establishes a repeatable shot list: no consistent hero angle, no fixed scale relationship between a 10-inch and an 18-inch doll, no styling grammar, no lifestyle-to-silo ratio.

The grid reads as a marketplace listing rather than a brand. At $65–$95 price points, photography is the perceived-value argument.

F-10

Live theme is an untracked duplicate

HighBuild

Published theme name: “July 2026 copy of Live Updated Impulse ||…”
Base: Impulse 9.2.0 (Archetype, Theme Store ID 857).

The duplicate-to-edit workflow with no version control, no dev theme and no staging. Every customisation drifts further from the Impulse base, which makes each vendor update more expensive to take, and there is no way to diff, review or roll back a change.

Change velocity gets slower every quarter, and one bad Saturday edit hits live traffic with no undo.

F-11

Category tiles set white text on busy photographs

MediumBuild · Image

“Inspire Confidence in Her” row — four tiles: Beautiful Black Dolls · Empowering Books · Inspiring Puzzles · Gift Sets & Bundles. Small white caps, bottom-left, no scrim or gradient, over high-detail photography.

Contrast depends entirely on whatever happens to be behind the words. On the puzzle tile the label sits over a multicoloured illustration; at mobile widths the type gets smaller while the photo stays busy.

Fails WCAG contrast in several tiles and, more practically, the four labels are the main navigation into the catalogue.

F-12

The PDP description is a 700-word wall with broken list markup

MediumBuild

Bella: highlights, narrative, care instructions, materials, packaging note and a 9-question FAQ all rendered as one continuous scroll. Paragraphs nested inside <ul>; two items (“Great for ages 3+”, “Encourages self-love…”) lost their bullet markers entirely. Bold headings sit mid-list.

The content itself is good — it answers washability, safety, age, contents and returns. It is simply unstructured: no accordions, no spec table, no care panel, no size reference near the buy box.

On mobile the buyer scrolls through nine screens of unformatted text to find whether the hair is washable. Most won’t.

F-13

Three widgets fighting over the mobile buy zone

MediumBuild

375×812 viewport, Bella PDP: the Gorgias chat bubble sits on top of the sticky ADD TO CART bar; the Loox “Reviews” tab covers the left edge of the product image; the announcement bar wraps to two lines and clips its own “Shop Now” link.

The gallery also runs 12 pagination dots with no thumbnails, and the sticky bar carries a button with no price and no product thumbnail.

The single most valuable pixel region on mobile commerce is partially covered by a support widget.

F-14

Collection pages carry no merchandising copy

MediumGrowth

/collections/all — H1: “ALL”. Description, and therefore the CollectionPage schema description: “All discount codes will be applied at checkout. Bundles are already discounted as reflected.”

A logistics note is doing the job of category copy, and it’s being fed to search engines as the page’s description. The Dolls collection does have real copy, so the pattern is inconsistent rather than absent.

Collection pages are the natural ranking targets for “black dolls with curly hair”, “natural hair dolls for girls”, “black girl puzzles” — the highest-intent non-branded terms in this category.

F-15

Cross-sell recommends the product you’re already on

MediumBuild · Growth

Bella PDP “You may also like”: features Bella.
Sitemap: 49 products. Published to /collections/all: 40. Nine SKUs unaccounted for.

Recommendations aren’t configured, and the catalogue has drift — products that exist, are indexable, but appear in no browsable collection.

Six bundle SKUs exist specifically to raise AOV and the PDP isn’t using them. The natural Bella upsell — the $95 Curl Confidence Bundle — is one row away and isn’t shown.

F-16

Footer is one ungrouped list of sixteen links

MediumBuild · Brand

Single column, no headings, no logo, no mission line, no social icons, no newsletter. Order runs: Shop, Book Zoe to Speak, Join our Email List, Find us in Store, Wholesale, Search, FAQs, Contact Us, Returns, Shipping, About Us, Join our Team, Earn $$$, Customer Reviews, Terms of Service, Blog.

The footer is where a values-led brand restates what it stands for and where a wholesale buyer, a school partner and a journalist all find their door. Here, “Book Zoe to Speak” — a genuine revenue line — sits second in an undifferentiated list.

Three distinct audiences (retail buyers, educators, press) share one flat list with the returns policy.

F-17

Wholesale and courses run outside the store

MediumGrowth

Wholesale page: name / email / message contact form. No minimums, no tiers, no price list, no application gate, no B2B catalogue.
Confident Girls Lead course: vendor Thinkific, $59, fulfilled off-platform.

With product on Target shelves nationwide, inbound retail interest is a real pipeline and it is currently handled by inbox. Shopify’s B2B tooling would let approved retailers log in to a price-tiered catalogue against the same inventory.

Retail partner acquisition is manual, and course customers leave the brand’s own environment at the point of highest engagement.

F-18

A bot-management challenge is interstitialing navigation

VerifyBuild

Repeated “Just a moment… / Your connection needs to be verified” Cloudflare interstitials on product URLs during automated browsing, from an Asia-Pacific IP.

Triggering this with automation is expected behaviour, so this is not itself a defect. It is worth confirming that the same rules aren’t challenging Googlebot, Bingbot, Shopping feed crawlers, or real shoppers on VPNs and corporate networks.

If crawlers are being challenged, it would silently suppress indexation and Merchant Center feeds. Fifteen minutes in Search Console settles it.

§ 05

Competitive read

Table scrolls sideways

BrandHero priceAssortmentProof shown up frontStorefront tell
Beautiful Curly Me $65 (from $79) 49 SKUs: dolls, books, puzzles, bonnets, tees, courses, donations None in grid; 4.9★/191 on PDP only Story-rich, merchandising-thin
Healthy Roots Dolls $96.97 (from ~$227) 3 dolls + accessories None on homepage Narrow, premium, permanently discounted
Fresh Dolls from $19.99 8+ product lines, mass-market 4.85★ (173) on the homepage Clean, modular, built for scale
Target (own channel) plush line 3 “Curly and Confident Crew” characters Target’s own ratings + shelf The easy place to buy the plush

The competitive set is not really the other doll brands. It is Target. Since July 2024 a parent who wants a Beautiful Curly Me plush can add it to a cart they were already filling, at a mass-retail price, with two-day shipping. That is a win for the brand and a structural problem for the .com.

So the site has to sell what a Target endcap cannot: the 18-inch flagship, signed books, the bundles, Gift-A-Doll, the school and educator programmes, the courses, and the founder herself. Right now the storefront merchandises as though it’s still competing for the same $30 plush purchase.

§ 06

The read

This is not a traffic problem. GMA, Forbes, TIME, CNBC, TED and a nationwide Target launch generate branded search that most brands never see. The storefront simply isn’t built to catch it.

Three things are true at once. The brand is stronger than its execution — the story, the mission and the press are best-in-category, while the typography, photography and page structure are stock Impulse. The proof exists but is hidden — 191 five-star reviews, 3,599 dolls donated and a Target shelf, none of which reach the shopper at the moment of choice. And the store has been extended app-by-app rather than designed — sixteen third-party hosts, two review platforms, a page builder outside the theme, and a live theme that is an untracked duplicate.

None of that requires replatforming. It requires one coherent system: a brand canon, a real design system in the theme, a photography standard, and a stack pared back to what earns its place.

§ 07

Proposed engagement

Four phases. Sequenced so that revenue-affecting fixes ship in the first fortnight and nothing downstream is built on an undefined brand.

Phase 0~2 weeks
Foundation

Stabilise, then stop the leaks

  • Dev theme + Git-backed workflow; staging before live, diffable changes, one-click rollback
  • Reconcile the shipping threshold to a single number, sitewide, and fix metadata typos
  • Consolidate to one review platform; migrate history, remove the loser, cancel the subscription
  • Audit all 16 third-party scripts against actual value; remove or defer
  • Organization + WebSite/SearchAction schema; alt text pass across homepage and collections
  • Confirm crawler access past bot management in Search Console

Resolves F-01 · F-04 · F-05 · F-06 · F-07 · F-10 · F-18

Phase 1~3 weeks
Brand

One canon, one system

  • Story canon: a single approved origin narrative, an age-agnostic phrasing that doesn’t expire, and a voice guide for product, email and social
  • Identity refinement on the existing pink/violet equity — palette with tested contrast pairs, type scale, spacing scale, badge and label system
  • Design tokens delivered as Figma variables and theme CSS custom properties, so the file and the storefront cannot drift apart
  • Photography art direction: shot list, scale reference across 10″/14″/18″, background and lighting standard, lifestyle-to-silo ratio, packaging-shot rules

Resolves F-08 · F-09 (direction) · F-11 · F-16 (brand layer)

Phase 2~5–6 weeks
Theme

Design and build the storefront

  • Homepage rebuilt as real, editable sections — live text over art-directed imagery, no baked-in headlines, promos changeable without a designer
  • Collection template: ratings on cards, merchandising copy per collection, filter set that matches how parents actually shop (age, product type, price, gift)
  • PDP rebuilt: structured description with accordions, spec and care panel, size reference, bundle upsell in place of the self-referencing cross-sell, mobile buy zone cleared of widget collisions
  • Footer and IA restructured for three audiences — shoppers, retail/education partners, press
  • Performance budget enforced at build: request count, payload weight, third-party allowlist

Resolves F-02 · F-03 · F-12 · F-13 · F-14 · F-15 · F-16

Phase 3ongoing
Content & growth

Feed it

  • Production against the Phase 1 shot list: full catalogue re-shoot in priority order, plus hair-play and unboxing video for PDP and paid social
  • Collection and blog SEO against the high-intent non-branded terms the category actually searches
  • Structured CRO programme — bundle merchandising, Gift-A-Doll placement, post-purchase flow, email/SMS segmentation on Klaviyo
  • Optional: Shopify B2B for wholesale partners, and bringing the course in-house so the highest-engagement customer never leaves the brand

Resolves F-09 (execution) · F-14 · F-17

§ 08

What we’d measure

Baselines captured today, so the engagement is judged on movement rather than opinion.

Table scrolls sideways

MetricBaseline (5 Sep 2026)Target
PDP page weight6.77 MB / 437 req< 2.5 MB / < 150 req
Homepage page weight3.34 MB / 366 req< 1.5 MB / < 120 req
Third-party script hosts16≤ 8
Product cards showing ratings0%100% of reviewed SKUs
Images with alt text (homepage)12 of 41 (29%)100%
Collections with merchandising copypartialall primary collections
Products in a browsable collection40 of 4949 of 49
Schema coveragePDP onlyOrg, WebSite, Collection, Product, FAQ
Conversion rate, AOV, bundle attachto be pulled from Shopifyset after 30-day baseline
§ 09

Open questions for the client

Answers to these change the shape of the proposal, so they’re worth asking on the first call.

How is DTC performing against Target, and what is the .com meant to do?
If Target now carries the volume on plush, the site’s job may be flagship products, bundles, gifting, donation and community rather than unit sales — which changes the whole merchandising strategy and what we shoot.
Which review platform holds the real history — Loox or Fera?
Determines the migration direction. The 191 reviews on Bella need to survive the consolidation intact.
What is on the Zipify Pages landing pages, and are they still in use?
If they drive paid traffic, they need to be rebuilt inside the theme’s design system rather than left as a separate visual world.
How much wholesale demand is coming through that contact form?
Sets whether Shopify B2B is a Phase 3 nice-to-have or a Phase 1 revenue priority.
What product photography assets exist beyond what’s published?
Raw files, packaging renders and event footage may cover a large part of the re-shoot and reduce production scope.
Who owns the store today, and what access is available?
Needed to begin: Shopify staff access with theme permissions, GA4 and Search Console, Klaviyo, and the brand asset library.