CRO Diary · a conversion specialist's working notebook entries reviewed weekly
CRO Diary

More sales from the traffic you already have

Benchmarks

Product Page Teardowns: 10 Real Pages, Scored Line by Line

Merchants assume a slow product page is a design problem, but the real story sits in named settings files like Dawn's main-product.liquid and Horizon's _product-details.liquid, where certain controls simply do not exist yet, no matter how the page looks.

From the diary · CRO Diary  ·  September 12, 2026  ·  6 min read  ·  AI-drafted from sourced data

Most merchants judge a product page by how it looks in a demo, then get surprised when the live page loads slowly or a setting they assumed existed turns out to be missing. The mistake is treating the page as one thing. It is actually a stack of named files, each with its own settings list, and the file behind the demo screenshot is rarely the file a merchant ends up editing after launch. This piece works through what those files actually contain, using the settings counts and pass rates that exist in the current market data, not impressions from scrolling ten homepages.

The market spread is wider than any single demo suggests

Across the aggregate ranking of 329 themes checked on themescout.co, the median price sits at $300, with themes ranging from $100 to $500. That is a three-to-one spread on price alone, before anything about performance enters the picture. The average rating across 308 rated themes is 4.53 out of 5, which sounds uniform, but the median number of reviews backing that rating is only 23. A theme with a strong average built on 23 reviews is a different bet than one built on hundreds, even if the star rating looks identical on the page.

Performance tells a similar story of a tight median hiding a wide range. On mobile, the median share of stores passing all Core Web Vitals checks is 85.5%, measured across 247 themes with sufficient CrUX traffic data from July 2026. The best theme in that set clears 98.6% of its stores passing, the worst manages only 46.1%. Desktop looks close to mobile at the median, 86.2% of stores passing, but the desktop range is actually wider at the extremes: 99.2% at the top theme against 30.3% at the bottom, across 199 themes with enough desktop data to count. These are real visitors being measured, not a lab tool running three times against a staging URL.

Dawn’s product page is one file with 13 settings, and that is the whole ceiling

The section that renders Dawn’s product page is sections/main-product.liquid, labeled internally as t:sections.main-product.name, and as measured in the Shopify/dawn repository at commit 258f00f from August 10, 2026, it carries 13 settings and 18 block types. Among the settings: enable_sticky_info is a plain checkbox, so the sticky behavior for the info column is either on or off with no gradation. color_scheme picks from the theme’s color scheme list. media_size is a select with 3 variants, controlling how large the product gallery renders relative to the rest of the layout. constrain_to_viewport is a checkbox that keeps media from overflowing the screen. media_fit is a select with 2 variants, and gallery_layout is a select with 4 variants, which is the setting that decides whether images stack, grid, or slide.

That is 13 settings total. There is no setting in this file for anything beyond that count, which means any customization a merchant wants outside those 13 controls requires editing the Liquid file directly or adding an app.

Dawn’s other product-adjacent file, sections/featured-product.liquid, is a separate thing entirely and it is smaller: 12 settings and 13 block types in the same commit. It includes a product picker setting, which main-product does not need because main-product always renders the page’s own product. It shares color_scheme, media_size, and media_fit with main-product, but adds secondary_background as its own checkbox and constrain_to_viewport as well. Featured-product exists to drop one product’s page into a homepage or landing page, not to replace the store’s actual product page, and the five fewer block types make that difference concrete rather than a matter of naming.

Horizon spreads product-page control across a details block, not one section

Horizon handles this differently. The file that carries most of the actual product detail controls is blocks/_product-details.liquid, labeled t:names.details, measured at 23 settings and 20 block types in the Shopify/horizon repository at commit 8b42ace from August 31, 2026. That is nearly double Dawn’s main-product settings count. Among them, width is a select with 3 variants and pairs with custom_width, a range from 0 to 100 in steps of 1%, giving fine control that Dawn’s media_size select does not offer. There is a separate mobile pair too: width_mobile as a select with 3 variants and custom_width_mobile as a range from 0 to 100 in steps of 1%, meaning desktop and mobile widths can be set independently rather than inheriting one value. height is a select with 2 variants, and details_position is a select with 3 variants, controlling where the details block sits relative to the gallery.

Horizon’s other measured files sit outside the product page proper. sections/main-collection.liquid, labeled t:names.collection_container, carries 14 settings including layout_type as a 2-option select, product_card_size as a 4-option select, and products_per_page as a range from 8 to 36 in steps of 4. sections/search-results.liquid mirrors much of that same set at 15 settings, and it opens with a plain paragraph setting (marked in the schema) before repeating layout_type, product_card_size, mobile_product_card_size, and enable_infinite_scroll. Neither of these files is the product page itself, but a merchant comparing Horizon to Dawn needs to know that Horizon’s product detail controls live in a block, not a single section, because that changes where you go to edit them.

What the numbers look like side by side

FileThemeSettingsBlock typesNotable control
sections/main-product.liquidDawn1318gallery_layout, 4 variants
sections/featured-product.liquidDawn1213product picker, secondary_background checkbox
blocks/_product-details.liquidHorizon2320custom_width range, 0–100 step 1%
sections/main-collection.liquidHorizon14products_per_page range, 8–36 step 4
sections/search-results.liquidHorizon15paragraph setting plus product_card_size
blocks/_cart-products.liquidHorizon14image_ratio, 3 variants

The method behind the settings counts is a direct read of each file’s schema block at the named commit, counting every setting id and every block type entry once, no estimation.

Core Web Vitals pass rate, mobile vs desktop (CrUX, July 2026)

Mobile (247 themes with sufficient data) worst 46.1%

median 85.5%

best 98.6%

Desktop (199 themes with sufficient data)

worst 30.3%

median 86.2%

best 99.2%

Bar length equals reported pass rate percent. Method: CrUX real-visitor field data, one measurement per theme, no lab runs.

Before choosing a product page, open the actual section or block file the theme ships, count its settings against what this piece names, and check where that theme’s Core Web Vitals pass rate falls against the 85.5% mobile and 86.2% desktop medians rather than trusting the demo alone.

Questions I get about this

Why do two product pages that look almost identical load so differently on mobile?

Because looking similar and being built the same are not the same thing. The Core Web Vitals dataset from July 2026 shows a mobile median of 85.5% of stores passing all checks, but the spread runs from 46.1% at the worst theme to 98.6% at the best, across 247 themes with enough traffic data to count. Two pages can share a layout pattern, a hero image, and a similar add to cart button, and still sit on opposite ends of that range because the underlying section code handles image sizing, sticky behavior, and layout constraints differently.

Does paying more for a theme guarantee a better product page?

No. The median price across 329 themes is $300 with prices ranging from $100 to $500, and that number does not track with the Core Web Vitals pass rates in the same dataset. A $500 theme is not automatically the one with the sticky info panel wired up correctly, and a $100 theme is not automatically the slow one. Price tells you about positioning in the market, not about which settings file underlies the product page.

What should I actually check in a theme's code before buying it, not just the demo?

Look at the actual section or block file that builds the product page, not the marketing screenshot. Dawn's sections/main-product.liquid carries 13 settings and 18 block types including enable_sticky_info as a checkbox, media_size as a three-option select, and gallery_layout with four variants. Horizon's blocks/_product-details.liquid goes further with 23 settings and 20 block types, including separate width controls for desktop and mobile and a details_position select with three options. If a theme's documentation does not name settings at this level of detail, you cannot know what you are buying until after checkout.

Is a featured-product section the same thing as a main product page section?

No, and the settings prove it. Dawn's sections/featured-product.liquid has 12 settings and 13 block types, three fewer settings and five fewer block types than sections/main-product.liquid's 13 settings and 18 block types. Featured-product is built to drop a single product into a landing page or homepage, with a product picker setting that main-product does not need, while main-product is the page a shopper actually buys from. Confusing the two when reading theme documentation leads to wrong assumptions about what the real product page can do.

Why do reviews on theme marketplaces feel thin even for popular themes?

Because the market's median review count is only 23, against an average rating of 4.53 out of 5 across 308 themes. A theme can carry a high rating built on a small number of reviews, which means the rating alone does not tell you much about how the product page performs for thousands of daily visitors versus the handful of buyers who left feedback.

Sources & data

  1. ThemeScout market aggregate ranking, 329 themes, pricing and rating distribution (checked September 4, 2026)
  2. Chrome UX Report (CrUX) mobile and desktop Core Web Vitals pass rates, July 2026 (checked September 4, 2026)
  3. Shopify Dawn theme source, sections/main-product.liquid and sections/featured-product.liquid, commit 258f00f (checked September 4, 2026)
  4. Shopify Horizon theme source, sections/main-collection.liquid, sections/search-results.liquid, blocks/_cart-products.liquid, blocks/_product-details.liquid, commit 8b42ace (checked September 4, 2026)
Cite this entry: CRO Diary (2026). “Product Page Teardowns: 10 Real Pages, Scored Line by Line.” https://crodiary.com/benchmarks/product-page-teardowns-10-real-pages-scored-line-by-line/