Skip to content
Mousa BatarsehSr. E-Commerce Specialist
Week 0 · Storefront report · filed before day one

Your Shopify storefront, read cover to cover.

The Senior E-Commerce Specialist keeps Hay House's Shopify storefronts accurate, fast and easy to shop. Before applying, I read shop.hayhouse.com the way I would in my first week: all 874 products, the filters, the pages, the structured data, the speed, and how it lines up with hayhouse.com. Everything here comes from public pages on September 16, 2026.

The report · four parts

The storefront, in brief.

The same shape I'd use for a weekly note to the Director of E-Commerce: what's working, what needs attention, why it matters, and what I'd do first.

i.

What's working

The migration landed: 816 titles were created in April and new releases have been added every month since, with ISBN SKUs, book-detail metafields, an Authors filter and Shop Pay Installments. Shopify's agent endpoints are already on.

ii.

What needs attention

Some data came over from Magento with gaps: two prices for the same book across Hay House sites, duplicate listings, filters that split formats and authors, zero weights, templated alt text and 5,623 tags.

iii.

Why it matters

Filters, Google Shopping, social catalogs, shipping rates and AI shopping agents all read the same product data. Clean it once and every channel improves at the same time.

iv.

What I'd do first

Week one: agree the price of record, merge duplicates, fix the Format and Authors filters, add weights. Then H1s and book structured data with the developers, tags into metafields, and alt text in batches.

ISBNs as SKUs

All 878 variants use an ISBN-13 as the SKU, and every one passes the check-digit test. That makes matching, feeds and redirects much easier.

Book details

Product pages already show pages, language, publication date, ISBN and publisher from metafields, and the Authors filter is live.

Agent-ready plumbing

Shopify publishes /agents.md, an agentic discovery sitemap and a UCP profile (2026-08-25) for the store, so AI shopping agents can search the catalog and start checkouts that the buyer approves.

What I found · twelve findings

Found before anyone had to ask.

Each finding shows what I saw, why it costs sales or trust, and the fix. The evidence comes from the public storefront on September 16, 2026. The screenshots are cropped, not edited.

01
HighPricing · two storefronts

The same book has two prices on two Hay House sites.

hayhouse.com (Magento) vs shop.hayhouse.com (Shopify) · Sept 16Worthy · PB · 9781401950156          $9.50 vs $18.99
Divine Masters, Ancient Wisdom · HC      $9.50 vs $18.99
F**K It Therapy · PB · list $15.99      $8.00, out of stock vs $19.99
You Can Heal Your Life · PB            $14.39 vs $17.99
14 of 14 ISBNs I compared cost 20–60% less on hayhouse.com
Google indexes product pages on both domains

A reader who arrives on the Shopify page from Google, Instagram or an AI assistant can pay nearly twice what hayhouse.com charges for the same ISBN. Shoppers and price-comparing agents will find both pages.

Fix

Agree which storefront is the price of record and sync the other from it, through a scheduled price sync or one product feed. If the gap is deliberate (a web-only discount, for example), show it the same way on both sites. Until then, give the pair one canonical URL so they stop competing in search.

Owner Director of E-Commerce + eCommEffort a decision, then 1 dayMeasure price mismatches in the weekly check (target 0)
hayhouse.com product page for Worthy: list price $18.99, HayHouse.com price $9.50, save 50%
hayhouse.com, Sept 16: Worthy at $9.50 (list $18.99).
shop.hayhouse.com product page for Worthy at $18.99 with ISBN 978-1-4019-5015-6 in Book Details
shop.hayhouse.com, same day: the same ISBN at $18.99.
02
HighCatalog data · duplicates

Duplicate listings split sales, reviews and rankings.

products.json · 874 products · Sept 16embrace-your-power and embrace-your-power-1
  same ISBN 9781401955892, same price $14.99
you-can-heal-your-life   PB 1984 edition · $17.99
you-can-heal-your-life-1 40th Anniversary Edition · $19.99
  both titled "You Can Heal Your Life"
5 titles appear twice · Worthy HC and PB are two products,
while Super Attractor sells the PB and the card deck
as two variants of one product

Two identical titles look like a mistake in collections, search, Google and agent answers. Inventory and reviews split across the pair, and the "-1" handles give away the import.

Fix

Merge the two Embrace Your Power listings and 301 the spare handle. Rename the anniversary edition ("You Can Heal Your Life: 40th Anniversary Edition") and link editions with an "Also available" block. Pick one rule for formats: one product per ISBN, with editions linked through a metafield, and never a card deck as a variant of a book.

Owner eCommEffort half a dayMeasure duplicate ISBNs and titles (target 0)
Product page title: You Can Heal Your Life, by Louise Hay, $17.99
/products/you-can-heal-your-life
Product page title: You Can Heal Your Life, subtitle 40th Anniversary Edition, $19.99
/products/you-can-heal-your-life-1: the edition only shows as a subtitle.
03
HighFilters · format

The Format filter lists ISBNs as formats.

/collections/mind-body-spirit · Format filter · Sept 16Card Deck (155)
Card Deck (9781401918668) (1)
Card Deck (9781401969035) (1)
Card Deck (9781401978242) (1)
Card Deck (9781401993863) (1)
Trade Paperback (161)
Trade Paperback Original (196)

A reader who filters for card decks misses those four. Paperbacks sit under two labels that mean the same thing to a customer; "Trade Paperback Original" is a publishing term.

Fix

Rename the four option values to "Card Deck" and keep the ISBN in the SKU. Show one customer-facing "Paperback" value, and keep the publishing detail in a format metafield for reports and feeds.

Owner eCommEffort 1 hourMeasure filter values per format (target 1)
Format filter showing Card Deck with four ISBN-suffixed values, Trade Paperback and Trade Paperback Original
Format filter, desktop.
04
HighFilters · authors

Authors appear under several names.

/collections/mind-body-spirit · Authors filter · Sept 16David R. Hawkins, M.D. Ph.D. (5)
David R. Hawkins, M.D., Ph.D. (15)
Alberto Villoldo (4) · Alberto Villoldo, Ph.D. (1)
Alberto Villoldo with Patricia Gift (1)
Alberto Villoldo and Colette Baron-Reid (1)
Alberto Villoldo and Colette Baron-Reid, with Marcela Lobos (1)
Steven D. Farmer (2) · Steven D. Farmer, Ph.D. (4)
also: Bruce H. Lipton / Bruce H. Lipton, Ph.D.

A Hawkins reader who ticks one spelling sees 5 or 15 books, not 20. Co-authors inside one text value never match their own name, so a Colette Baron-Reid filter misses decks she co-created.

Fix

Make authors an Author metaobject (name, credentials, bio, photo) referenced as a list on each product. That gives one filter value per person, author pages at no extra cost, and credentials kept out of the name. The developer ticket is in the worked examples (HH-201).

Owner eComm + DeveloperEffort 2–3 daysMeasure filter values per author (target 1)
Authors filter listing Alberto Villoldo under five separate values
Authors filter: one author, five values.
05
HighCatalog data · shipping

Every shippable variant weighs 0 g.

products.json + /products/{handle}.js · Sept 16878 of 878 shippable variants: weight 0
You Can Heal Your Life (40th Anniversary) · weight: 0 · requires_shipping: true
The store ships to 28 listed countries plus the rest of the world

Weight-based and carrier-calculated rates, shipping labels and customs forms all need a weight. With every product at 0 g, the store can only charge flat or price-based rates, at home and abroad.

Fix

Bulk-fill weights by format from the publisher's product data (trim size and page count give a close estimate), check a sample against the warehouse, and make weight a required field in the new-title SOP.

Owner eComm + OpsEffort 1 dayMeasure variants with weight (target 100%)
06
MediumCatalog data · pricing

Compare-at price equals the price on 861 of 878 variants.

products.json · Sept 16compare_at_price = price on 861 variants   e.g. Worthy $18.99 / compare-at $18.99
compare_at_price > price on 17 variants (real markdowns)

It isn't a discount today, but it's a trap: lower any of these prices and the product shows as on sale everywhere, without anyone deciding to run a sale. It also hides the 17 real markdowns in reports.

Fix

Clear compare-at wherever it equals the price in one bulk edit, and set it only for real promotions through the promotion SOP (SOP-03).

Owner eCommEffort 1 hourMeasure compare-at = price (target 0)
07
MediumCatalog data · import leftovers

Migration leftovers are live on the storefront.

products.json + product pages · Sept 16SPANISH-YOU CAN HEAL YOUR LIFE/TRD · 140 × 223 px GIF cover
Language: English on 4 Spanish titles (La Ley De Atracción,
  Sana Tu Cuerpo, El Poder Esta Dentro De Ti, the title above)
Sara, Book 2: no image · El Poder Esta Dentro De Ti: no description
3,055 of 6,284 images under 800 px wide · smallest 91 px
816 of 874 products created in April 2026 (the import)

Legacy catalog codes in titles and wrong language values show up in Google, in feeds and in agent answers. Small covers look blurry on phones and in Google Shopping.

Fix

Rename to the published title ("Usted Puede Sanar Su Vida"), set Spanish on the Spanish list, replace covers under 800 px from the cover archive, and add the missing image and description. Run the catalog check after every import.

Owner eCommEffort 1–2 daysMeasure catalog check issues (trend to 0)
Product page titled SPANISH-YOU CAN HEAL YOUR LIFE/TRD with a blurry cover and Language: English
The Spanish edition: legacy title, upscaled cover, language set to English.
08
MediumCatalog data · tags

5,623 tags, and customers can see them.

products.json · Sept 165,623 distinct tags · median 44 per product · max 98
222 tags exist in two or more capitalizations (Healing / healing)
318 BISAC subject codes stored as tags (e.g. FIC009030)
search phrases as tags: "self help books for women" (446 products),
  "motivational books for men" (242)
product pages list every tag under Book Details

Tags don't help a page rank, but they clutter the product page, slow down admin work and make automated collections unpredictable.

Fix

Move BISAC codes and subjects into metafields, keep a short, controlled list of merchandising tags with an owner, and hide tags from Book Details. Keyword research belongs in titles, descriptions and collection copy.

Owner eCommEffort 3–4 days, in batchesMeasure tags per product (target under 15)
09
MediumSEO · page basics

Product and collection pages have no H1.

rendered pages, desktop and mobile · Sept 16homepage: one H1, empty · title "Hay House" · no meta description
product pages: 0 H1 (the title is an H2)
collection pages: 0 H1
16 collections, none with a description
"Featured Products" is published with 0 products
You Can Heal Your Life: meta description starts in ALL CAPS jacket copy

The H1 tells search engines and screen readers what a page is about. Empty collections and missing descriptions leave the category pages that should rank for "tarot decks" or "self-help books" thin.

Fix

A theme change: product and collection titles become H1s, and the homepage gets a real one. Write the homepage and collection meta descriptions, add 50–100 word intros to the top collections, and unpublish Featured Products.

Owner eComm + DeveloperEffort 1 dayMeasure pages with one H1 (target 100%)
10
MediumStructured data · feeds · agents

Book pages don't tell Google or agents they're books.

JSON-LD on /products/you-can-heal-your-life · Sept 16@type Product · sku 9780937611012 · brand "Hay House LLC"
no gtin13 / isbn · no author · no bookFormat · no rating
Image alt text (220 images, 30 random products):
  211 read "{Title} - image {n}", 9 repeat the title, 0 describe the image

Google Shopping, rich results and AI assistants match books by ISBN and author. The data already exists in the metafields; it just isn't in the markup. Alt text that says "image 7" gives screen readers and image search nothing to work with.

Fix

Output gtin13 and author on Product, or a Book + Offer graph with isbn, author, bookFormat, numberOfPages and datePublished, all from existing metafields, and settle whether the brand should read "Hay House". Write alt text in batches with the reviewed AI workflow in the worked examples.

Owner Developer + eCommEffort 1–2 daysMeasure Rich Results test pass, Merchant Center item issues
11
MediumPerformance · third parties

Mobile pages are slow, mostly because of third-party scripts.

Lighthouse 12 · mobile · lab run from a cloud server (directional) · Sept 16Performance: homepage 36 · product page 36
Total blocking time 5.6 s / 6.0 s · LCP 4.2 s / 5.8 s
Homepage: 3.7 MB · 3,868 DOM elements
Main-thread blocking: accessibility overlay 2.1 s (home) ·
  Google Tag Manager 1.1–2.8 s · Facebook pixel 0.7–1.9 s ·
  OneTrust 0.3–0.5 s · jQuery 3.6 from Google's CDN

Most book discovery happens on phones, from social and email. Seconds of blocking time delay the first tap on Add to Cart.

Fix

Load pixels through Shopify's customer events, trim Google Tag Manager tags, drop jQuery where the theme no longer needs it, and review whether the overlay is still needed once the theme's own accessibility fixes (H1s, alt text) are in. Set a performance budget in the launch checklist and confirm the gains with field data (CrUX) before and after.

Owner Developer + MarketingEffort 1 weekMeasure mobile LCP, INP, conversion rate
12
LowNavigation · crawling

The store has three menu items.

header, breadcrumbs, robots.txt · Sept 16menu: Home · Catalog · Contact
16 collections exist (Mind, Body, Spirit 537 · Self-Help 462 …)
  but none is in the menu
robots.txt: "User-agent: * Allow: /"
  (Shopify's default Disallow rules are gone)
/search pages are canonical to themselves

Readers browse by topic and author. Without a topic menu, the collections are only reachable from homepage blocks, and crawlers can spend their time on search and sorted URLs instead.

Fix

Add a Shop by Topic menu (Mind, Body, Spirit · Self-Help · Health & Fitness · Card Decks · New Releases) and an Authors link. Restore Shopify's default robots rules for /search and filtered URLs.

Owner eCommEffort half a dayMeasure collection sessions, crawl stats
Store header with only Home, Catalog and Contact in the menu
The full main menu.
Tool · catalog check

Every product, checked every Monday.

This runs in your browser on a copy of all 874 live products taken September 16. To check today's catalog, save shop.hayhouse.com/products.json?limit=250 (and &page=2, 3, 4), then drop the files below. As a scheduled job, it would post the list before the weekly meeting.

Snapshot · Sept 16, 2026 · 874 products

ProductFormat · ISBNPricePriorityIssues
Files stay in this browser; nothing is uploaded.

Checks: duplicate ISBNs and titles, ISBNs inside option values, zero weights, compare-at equal to price, legacy titles, missing images or descriptions, small covers, marketplace image files, tag counts and case duplicates, BISAC codes as tags, and the "Trade Paperback Original" label. Alt text isn't in products.json, so the alt-text sample comes from product .js files instead.

Tool · price check

Two storefronts, one catalog.

I searched hayhouse.com for 15 ISBNs from the Shopify store: a random sample plus a few bestsellers. 14 were found, and all 14 cost less on hayhouse.com. Each search returned exactly one matching title.

Sorted by the size of the gap. Hover or focus a row for the numbers.

TitleShopifyhayhouse.comGap

hayhouse.com shows a list price and a lower "HayHouse.com" price; the comparison uses the lower price. F**K It Therapy also has a different list price ($15.99 vs $19.99) and shows as out of stock on hayhouse.com. El Poder Esta Dentro De Ti wasn't found on hayhouse.com.

Worked examples · the rest of the posting

Seven lines from the job, worked through.

Each tab takes one responsibility from the posting and shows how I'd handle it at Hay House. Store facts come from the public storefront on September 16. Traffic and sales figures are samples, and marked that way, until they come from Shopify and GA4.

From the postingOwn e-commerce reporting through Shopify, GA4, and related tools … Monitor emerging channels, including social commerce, AI-referred traffic, and agentic commerce.

Sample numbers · the structure is what I'd sendWeek of Sept 7–13 vs the week before

Sessions and sales by source (GA4)

Orders by sales channel (Shopify)

AI-assistant sessions, last 8 weeks

GA4 setup for AI traffic (real)

  1. Admin → Data display → Channel groups → copy the default group.
  2. Add a channel "AI assistants": Source matches regex (below).
  3. Drag it above Referral, save, and use the new group in reports.
  4. Add a second condition for AI sources with medium "(not set)", because some assistants pass utm_source without utm_medium.
^(.*\.)?(chatgpt\.com|chat\.openai\.com|openai\.com|perplexity\.ai|copilot\.microsoft\.com|gemini\.google\.com|claude\.ai|meta\.ai|deepseek\.com|you\.com|poe\.com|grok\.com)$

The note that goes with it

    Every line ends with an owner. Orders from AI agents through UCP would show up as their own sales channel in Shopify, which is why I'd track them apart from AI-referred web sessions.

    The first 90 days

    What I'd do, in order.

    The findings set the order: first the data that every channel reads, then the fixes that need Development, then growth work that depends on both. Each month ends with a short readout to the Director of E-Commerce.

    30days

    Learn the stores, stop the leaks

    • Get access, list every storefront, app, feed and integration, and who owns each one.
    • Agree the price of record with hayhouse.com, merge the duplicate listings, clean the Format filter and add weights.
    • Start the Monday health check, the weekly report and the AI-assistant channel in GA4.
    • Write the new-title and promotion SOPs with the people who'll use them.
    60days

    Fix the data model with Development

    • HH-201 (Author entries and filter) and HH-202 (H1s and book structured data) through QA and launch.
    • BISAC codes and subjects into metafields, a controlled tag list, tags off the product page.
    • Alt text in ChatGPT Enterprise, starting with covers of the top 200 sellers.
    • Script and app review with Development and Marketing: the pop-up, tag manager and pixels behind a mobile Lighthouse score of 36.
    90days

    Grow what's working

    • Book-and-deck sets live and measured, then the first product page tests.
    • Navigation beyond three menu items, collection descriptions and search synonyms in Search & Discovery.
    • Monthly AI-agent check and the redirect map, ready for whatever comes next for hayhouse.com.
    • Quarter review: conversion, feed approvals, AI-referred sessions and catalog-check trend.
    Who filed this

    Mousa Batarseh.

    I've spent seven years running e-commerce storefronts end to end, including more than three years administering Shopify stores. I look for problems before anyone reports them, and I'd like to do that for Hay House.

    • ShopifyBuilt and ran the Universal Wholesale and United Textile stores side by side (2019–2023): catalogs of 14,000+ SKUs, collections, discounts, seasonal promotion calendars and product data.
    • MigrationsMoved stores between platforms with the URL structure and redirects planned ahead.
    • NowWebmaster at Wild Bill's Tobacco (2023–now): the wholesale B2B e-commerce site (catalog, inventory, pricing, descriptions, imagery) and a portfolio of retail sites, with campaign pages built alongside marketing.
    • ReportingGA4, Search Console and PageSpeed data turned into weekly actions; A/B and conversion tests.
    • AII work hands-on with ChatGPT and Claude for drafting, data checks and documentation, and I review everything before it ships.
    • BasicsB.S., Accounting Information Systems. Bilingual in English and Arabic. Based in Warren, Michigan.