Design & Content Experimentation for Shopify Themes

Great Shopify themes aren't born β€” they're refined through experimentation. This chapter teaches you the professional techniques developers use to test, iterate, and perfect theme designs. You'll learn how to create demo content, test layout variations, and make data-informed design decisions.

πŸ“Œ Chapter Overview

Time estimate: 60 – 90 minutes
Tags: CSS UX Design

Why Design Experimentation Matters

Amateur developers build a feature once and ship it. Professional developers build three variations, test them, and ship the best one. Experimentation is what separates functional themes from premium-quality themes.

Experimentation helps you:

  • Discover better solutions β€” Your first idea is rarely your best idea
  • Build a design intuition β€” Pattern recognition comes from seeing many variations
  • Justify decisions β€” "I chose this layout because I tested three options and this one performed best"
  • Speed up future work β€” Once you've tested patterns, you know what works
  • Impress clients β€” Showing multiple options demonstrates professionalism
βœ… The Experiment Branch Workflow

Always use Git branches for design experiments. Create a branch like experiment/hero-v2, try your ideas, and compare them against the current version. If the experiment wins, merge it. If not, you haven't broken anything. This is how professional teams work.

Creating Realistic Demo Content

Your theme is only as good as the content it showcases. Testing with "Lorem ipsum" and placeholder squares gives you a false picture. Here's how professionals create demo content:

Product Catalog Strategy

Create a diverse product catalog that tests edge cases:

Product Type Why You Need It What It Tests
Product with long title Tests text overflow and wrapping "Premium Organic Extra-Virgin Cold-Pressed Olive Oil Gift Set β€” Family Edition"
Product with short title Tests alignment with other cards "T-Shirt"
Product on sale Tests compare-at price, sale badge Set compare-at $80, price $49
Product with many variants Tests variant selector, swatch overflow 5 colors Γ— 6 sizes = 30 variants
Product with single variant Tests hidden variant selector One-size item
Sold-out product Tests sold-out badge, disabled button Set inventory to 0
High-price product Tests price formatting, layout $1,299.99
Free product Tests $0.00 display Set price to $0
Product with many images Tests gallery performance, thumbnails 8–10 product images
Product with one image Tests no-secondary-image hover Single product image
Product with no image Tests placeholder display No images uploaded
Product with long description Tests content overflow, tab behavior 2000+ characters with formatting

Image Sources for Demo Content

Use these free, legal image sources for your development stores:

πŸ“Έ

Burst by Shopify

burst.shopify.com β€” Free stock photos specifically for eCommerce. Categories include fashion, beauty, food, tech, and more. No attribution required.

πŸ–ΌοΈ

Unsplash

unsplash.com β€” High-quality, free-to-use photos. Great for lifestyle images, hero banners, and background images. No attribution required for most uses.

🎨

Pexels

pexels.com β€” Free stock photos and videos. Great variety for product mockups, lifestyle shots, and model photography.

🧊

Shopify Placeholder SVGs

Built into Liquid: {{ 'product-1' | placeholder_svg_tag }}. Perfect for development when you need quick placeholder images without downloading anything.

πŸ’‘ Create Multiple Demo Stores

Professional theme developers create multiple development stores, each with a different niche: fashion, electronics, food, beauty, furniture. This lets you test how your theme looks across different product types and photography styles. Shopify Partner accounts allow unlimited free dev stores.

Collection Structure for Testing

Create these collections in your development store:

  • All Products β€” Auto-generated, tests large grids and pagination
  • New Arrivals β€” 8–12 products, tests standard collection page
  • Best Sellers β€” 6–8 products, tests featured collection sections
  • Sale β€” Products with compare-at prices, tests sale displays
  • Single Product Collection β€” Just 1 product, tests edge cases
  • Empty Collection β€” No products, tests empty state handling
  • Large Collection β€” 50+ products, tests pagination and performance

Homepage Layout Experiments

The homepage is your theme's first impression. Professional developers test multiple homepage compositions before settling on a default. Here are proven homepage patterns to experiment with:

Pattern 1: Hero-First (Most Common)

Homepage Layout
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚           ANNOUNCEMENT BAR                  β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚              HEADER / NAV                   β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                             β”‚
β”‚          HERO BANNER (full width)           β”‚
β”‚     Heading + Subtext + CTA Button          β”‚
β”‚                                             β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚    🚚 Free Shipping  β”‚  πŸ”’ Secure  β”‚  ↩️    β”‚
β”‚     VALUE PROPOSITION BAR                   β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚         FEATURED COLLECTION GRID            β”‚
β”‚   β”Œβ”€β”€β”€β”  β”Œβ”€β”€β”€β”  β”Œβ”€β”€β”€β”  β”Œβ”€β”€β”€β”              β”‚
β”‚   β”‚   β”‚  β”‚   β”‚  β”‚   β”‚  β”‚   β”‚              β”‚
β”‚   β””β”€β”€β”€β”˜  β””β”€β”€β”€β”˜  β””β”€β”€β”€β”˜  β””β”€β”€β”€β”˜              β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚     IMAGE WITH TEXT (split layout)          β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”        β”‚
β”‚  β”‚  IMAGE   β”‚  β”‚  Text + CTA      β”‚        β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜        β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚       SECOND COLLECTION GRID                β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚         TESTIMONIALS CAROUSEL               β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚           NEWSLETTER SIGNUP                 β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚               FOOTER                        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Pattern 2: Product-First (Conversion-Focused)

Homepage Layout
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚           ANNOUNCEMENT BAR                  β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚              HEADER / NAV                   β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  SLIM HERO (shorter, with category links)   β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚         COLLECTION LIST (tiles)             β”‚
β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚   β”‚ Women's β”‚  β”‚  Men's  β”‚  β”‚  Kids   β”‚   β”‚
β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚      BEST SELLERS GRID (8 products)         β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚          PROMOTIONAL BANNER                 β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚       NEW ARRIVALS GRID (4 products)        β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚          BRAND LOGO LIST                    β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚               FOOTER                        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Pattern 3: Story-First (Brand-Focused)

Homepage Layout
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              HEADER / NAV                   β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                             β”‚
β”‚       FULL-SCREEN VIDEO HERO               β”‚
β”‚                                             β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚       RICH TEXT (brand mission)             β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚       IMAGE WITH TEXT (story)               β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚      FEATURED PRODUCT (single hero)         β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚      IMAGE WITH TEXT (reversed)             β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚      TESTIMONIALS                           β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚      INSTAGRAM FEED                         β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚               FOOTER                        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
πŸ’‘ Test With JSON Templates

Create alternate index templates to quickly test different homepage layouts: templates/index.json (default), templates/index.hero-first.json, templates/index.product-first.json. Each references different sections in different orders. Switch between them in the Shopify admin to compare.

Product Grid Experiments

The product grid is the most critical eCommerce layout. Small changes have big impacts on browsing experience and conversion. Here's what to test:

Column Count Testing

Columns Best For Trade-offs Breakpoint Strategy
2 columns Luxury, large product images, minimal stores Less products visible, more scrolling 2 β†’ 2 β†’ 1 (desktop β†’ tablet β†’ mobile)
3 columns Most stores, balanced visibility Good compromise between image size and density 3 β†’ 2 β†’ 2 (desktop β†’ tablet β†’ mobile)
4 columns Large catalogs, browsing-focused stores More products visible, smaller images 4 β†’ 3 β†’ 2 (desktop β†’ tablet β†’ mobile)
5 columns Marketplace-style, catalog-heavy stores Very dense, small images, text hard to read 5 β†’ 3 β†’ 2 (desktop β†’ tablet β†’ mobile)

Product Card Variations to Test

Product Card Experiment Ideas
VARIATION A: Minimal Card
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                  β”‚
β”‚    [Product      β”‚
β”‚     Image]       β”‚
β”‚                  β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Product Title    β”‚
β”‚ $49.00           β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

VARIATION B: Info-Rich Card
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  [SALE -20%]     β”‚
β”‚    [Product      β”‚
β”‚     Image]       β”‚
β”‚   [Quick Add]    β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ VENDOR NAME      β”‚
β”‚ Product Title    β”‚
β”‚ $ΜΆ6ΜΆ0ΜΆ $49.00       β”‚
β”‚ β˜…β˜…β˜…β˜…β˜† (23)      β”‚
β”‚ ⬀ ⬀ ⬀ +2 colors β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

VARIATION C: Overlay Card
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                  β”‚
β”‚    [Product      β”‚
β”‚     Image]       β”‚
β”‚                  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚  β”‚Title  $49.00β”‚β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

VARIATION D: Horizontal Card
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ [Image]  β”‚ Title            β”‚
β”‚          β”‚ $49.00           β”‚
β”‚          β”‚ [Add to Cart]    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Each variation serves a different purpose. Minimal cards let images speak. Info-rich cards reduce product page visits. Overlay cards create a gallery feel. Test multiple styles and observe how they affect browsing behavior.

Image Aspect Ratio Testing

Ratio CSS Best For Feel
Square (1:1) aspect-ratio: 1/1 Instagram-style, consistent grids Modern, clean, uniform
Portrait (3:4) aspect-ratio: 3/4 Fashion, apparel, beauty Elegant, editorial
Tall Portrait (2:3) aspect-ratio: 2/3 Fashion lookbooks, tall products Magazine-like, dramatic
Landscape (4:3) aspect-ratio: 4/3 Electronics, home goods, food Practical, product-focused
Adaptive aspect-ratio: auto Mixed product types Natural but uneven grid

Typography Experiments

Typography is responsible for roughly 90% of eCommerce design. Testing different type combinations dramatically changes the feel of your theme.

Font Pairing Strategies

Heading Font Body Font Vibe Best For
Playfair Display Source Sans Pro Elegant, luxurious Fashion, jewelry, beauty
Montserrat Open Sans Modern, clean General purpose, tech
Oswald Lato Bold, athletic Sports, outdoor, fitness
Cormorant Garamond Proza Libre Classic, refined Wine, artisan, heritage brands
DM Sans DM Sans Minimal, contemporary Minimalist, modern brands
Inter Inter Neutral, professional Any niche, safe default

Typography Scale Testing

Professional themes use a consistent type scale. Here's a recommended scale to start with and adjust:

Typography Scale (CSS Custom Properties)
:root {
  /* Modular scale ratio: 1.25 (Major Third) */
  --font-size-xs: 0.75rem;    /* 12px β€” captions, badges */
  --font-size-sm: 0.875rem;   /* 14px β€” small text, meta info */
  --font-size-base: 1rem;     /* 16px β€” body text */
  --font-size-md: 1.125rem;   /* 18px β€” lead text */
  --font-size-lg: 1.25rem;    /* 20px β€” h4, card titles */
  --font-size-xl: 1.5rem;     /* 24px β€” h3 */
  --font-size-2xl: 1.875rem;  /* 30px β€” h2 */
  --font-size-3xl: 2.25rem;   /* 36px β€” h1 on content pages */
  --font-size-4xl: 3rem;      /* 48px β€” hero headings */
  --font-size-5xl: 3.75rem;   /* 60px β€” large hero headings */

  /* Line heights */
  --line-height-tight: 1.2;    /* Headings */
  --line-height-snug: 1.4;     /* Sub-headings */
  --line-height-normal: 1.6;   /* Body text */
  --line-height-relaxed: 1.8;  /* Long-form content */

  /* Letter spacing */
  --tracking-tight: -0.025em;  /* Large headings */
  --tracking-normal: 0;        /* Body text */
  --tracking-wide: 0.05em;     /* Uppercase labels */
  --tracking-wider: 0.1em;     /* Nav items, badges */
}
βœ… Typography Testing Checklist

When testing typography, check these scenarios:
β–‘ Headings at all 6 levels (h1–h6)
β–‘ Body text in paragraphs (readability at 60–75 characters per line)
β–‘ Product titles at different lengths
β–‘ Price display at different values ($9.99 vs. $1,299.99)
β–‘ Navigation menu with varying text lengths
β–‘ Mobile readability (minimum 16px body text)
β–‘ Contrast ratios (use Chrome DevTools accessibility checker)

Color Palette Experiments

eCommerce color palettes should be intentional. Every color serves a function:

Functional Color System

eCommerce Color System
/* Primary brand color β€” CTAs, links, accents */
--color-primary: #6366f1;

/* Secondary β€” complementary actions, tags */
--color-secondary: #8b5cf6;

/* Backgrounds */
--color-bg-primary: #ffffff;          /* Main background */
--color-bg-secondary: #f8f9fb;       /* Alternate sections */
--color-bg-tertiary: #f1f3f5;        /* Cards, inputs */

/* Text */
--color-text-primary: #1a1a2e;       /* Headings, strong text */
--color-text-secondary: #4a5568;     /* Body text */
--color-text-tertiary: #9ca3af;      /* Meta info, captions */

/* Functional colors β€” DON'T make these brand colors */
--color-sale: #ef4444;               /* Sale prices, sale badges */
--color-success: #10b981;            /* In stock, success states */
--color-warning: #f59e0b;            /* Low stock, warnings */
--color-error: #ef4444;              /* Errors, out of stock */
--color-info: #3b82f6;               /* Info messages */

/* Border */
--color-border: #e5e7eb;             /* Dividers, card borders */

Testing Multiple Color Schemes

Premium themes offer multiple color schemes per section. Here's how to implement this in your theme settings:

Color Scheme Settings Pattern
{%- comment -%}
  Define color schemes in settings_schema.json,
  then apply them via CSS classes on sections
{%- endcomment -%}

{%- style -%}
  .color-scheme-1 {
    --scheme-bg: {{ settings.scheme_1_background }};
    --scheme-text: {{ settings.scheme_1_text }};
    --scheme-accent: {{ settings.scheme_1_accent }};
    background-color: var(--scheme-bg);
    color: var(--scheme-text);
  }

  .color-scheme-2 {
    --scheme-bg: {{ settings.scheme_2_background }};
    --scheme-text: {{ settings.scheme_2_text }};
    --scheme-accent: {{ settings.scheme_2_accent }};
    background-color: var(--scheme-bg);
    color: var(--scheme-text);
  }

  .color-scheme-3 {
    --scheme-bg: {{ settings.scheme_3_background }};
    --scheme-text: {{ settings.scheme_3_text }};
    --scheme-accent: {{ settings.scheme_3_accent }};
    background-color: var(--scheme-bg);
    color: var(--scheme-text);
  }
{%- endstyle -%}
πŸ’‘ Color Contrast Is Non-Negotiable

Every text/background combination must meet WCAG AA contrast ratios: 4.5:1 for body text, 3:1 for large text. Use WebAIM's Contrast Checker to verify. Poor contrast isn't just an accessibility issue β€” it directly affects readability and conversion rates.

Navigation is one of the most impactful elements to test. Even small changes can significantly affect how customers find products.

Header Layout Experiments
LAYOUT A: Logo Left (Most Common)
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ [Logo]  Home  Shop  About  Contact  πŸ” πŸ‘€ πŸ›’β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

LAYOUT B: Logo Center
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Home  Shop  About  [Logo]  Blog  FAQ  πŸ” πŸ›’β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

LAYOUT C: Logo Center, Nav Below
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              [Logo]            πŸ” πŸ‘€ πŸ›’      β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚    Home    Shop    About    Blog    Contact   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

LAYOUT D: Two-Row with Features
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ πŸ“§ contact@store.com    Free shipping over $50β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ [Logo]  Home  Shop  About  Contact  πŸ” πŸ‘€ πŸ›’β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
  • Slide-from-left drawer β€” Most common, familiar to users
  • Slide-from-right drawer β€” Less common, feels cart-adjacent
  • Full-screen overlay β€” Dramatic, focuses attention completely
  • Bottom sheet (slide up) β€” Thumb-friendly, modern feel
  • Accordion nested levels β€” Good for deep menus

Hero Banner Experiments

The hero banner is the most visible section. Test these variations:

Variation Ideas

Variation Description When to Use
Full-bleed image Image covers entire viewport width and ~60% height, text overlay Strong product photography
Split hero 50/50 split β€” text on left, image on right (or vice versa) When text content is important
Video hero Auto-playing muted video as background Lifestyle brands, immersive storytelling
Slideshow Multiple slides with auto-rotation Multiple promotions or categories
Minimal hero Text only, solid color background, no image Minimalist brands, text-focused messaging
Hero with product grid below Slim hero banner with product grid immediately below Conversion-focused, returning customers
Parallax hero Background image moves slower than foreground on scroll Dramatic effect for premium brands

Responsive Breakpoint Testing

Every layout decision must be tested across devices. Here's a professional testing strategy:

Recommended Breakpoints

Breakpoint System
/* Mobile-first approach */

/* Small mobile: 320px – 479px */
/* Default styles target this range */

/* Large mobile: 480px – 749px */
@media (min-width: 480px) { }

/* Tablet: 750px – 999px */
@media (min-width: 750px) { }

/* Small desktop: 1000px – 1199px */
@media (min-width: 1000px) { }

/* Desktop: 1200px – 1399px */
@media (min-width: 1200px) { }

/* Large desktop: 1400px+ */
@media (min-width: 1400px) { }

/* Dawn's breakpoints (for reference):
   - 750px: mobile β†’ tablet
   - 990px: tablet β†’ desktop
*/

Device Testing Checklist

Responsive Testing Checklist
TEST EVERY PAGE AT THESE WIDTHS:
═════════════════════════════════

β–‘ 320px  β€” iPhone SE (smallest common phone)
β–‘ 375px  β€” iPhone 12/13/14
β–‘ 414px  β€” iPhone 14 Plus
β–‘ 390px  β€” iPhone 14 Pro
β–‘ 768px  β€” iPad portrait
β–‘ 1024px β€” iPad landscape
β–‘ 1280px β€” Common laptop
β–‘ 1440px β€” Standard desktop
β–‘ 1920px β€” Large monitor

FOR EACH WIDTH, CHECK:
═════════════════════════════════

β–‘ Text is readable (no overflow, no tiny text)
β–‘ Images aren't stretched or cropped badly
β–‘ Buttons are tappable (minimum 44x44px touch target)
β–‘ Navigation is usable
β–‘ Product grid adapts columns correctly
β–‘ No horizontal scrollbar appears
β–‘ Forms are usable (inputs aren't too small)
β–‘ Spacing feels balanced (not too cramped or too sparse)
β–‘ Modal/drawer overlays cover correctly
β–‘ Sticky elements don't overlap content
πŸ’‘ Chrome DevTools Device Mode

Press F12 β†’ click the device toolbar icon (or Ctrl+Shift+M). Select preset devices or enter custom dimensions. Enable "responsive" mode and drag the viewport width to find where your design breaks. Fix those breakpoints first β€” they're more important than fitting specific device widths.

Spacing and Whitespace Experiments

Whitespace is the most underappreciated design tool. Premium themes use generous whitespace to create elegance and focus attention.

Spacing Scale

Spacing Scale (CSS Custom Properties)
:root {
  /* 4px base unit β€” all spacing is a multiple of 4 */
  --space-1: 0.25rem;   /* 4px  β€” tight gaps */
  --space-2: 0.5rem;    /* 8px  β€” inline spacing */
  --space-3: 0.75rem;   /* 12px β€” compact spacing */
  --space-4: 1rem;      /* 16px β€” default spacing */
  --space-5: 1.25rem;   /* 20px β€” comfortable spacing */
  --space-6: 1.5rem;    /* 24px β€” section inner padding */
  --space-8: 2rem;      /* 32px β€” component gaps */
  --space-10: 2.5rem;   /* 40px β€” section padding */
  --space-12: 3rem;     /* 48px β€” large section gaps */
  --space-16: 4rem;     /* 64px β€” section separation */
  --space-20: 5rem;     /* 80px β€” major section breaks */
  --space-24: 6rem;     /* 96px β€” dramatic spacing */
}

Test these spacing experiments:

  • Section padding: Try 40px, 60px, 80px, and 100px vertical padding between sections
  • Grid gaps: Test 16px, 20px, 24px, and 32px between product cards
  • Container width: Try 1200px, 1320px, and 1440px max content width
  • Card padding: Test 16px, 20px, and 24px internal card padding
  • Text spacing: Test paragraph margin-bottom at 1rem, 1.25rem, and 1.5rem

Complete Experiment Workflow

1

Define the Hypothesis

"I think a 3-column product grid with portrait (3:4) images will look more premium than the current 4-column square grid."

2

Create an Experiment Branch

WSL Terminal
git checkout -b experiment/portrait-grid
3

Build the Variation

Implement the change. Test with your demo products. View on multiple screen sizes.

4

Compare Side by Side

Switch between main and experiment/portrait-grid branches. Take screenshots of both. Compare them at the same viewport widths.

5

Decide and Merge (or Discard)

If the experiment wins
git checkout main
git merge experiment/portrait-grid
git branch -d experiment/portrait-grid
If the experiment loses
git checkout main
git branch -D experiment/portrait-grid

Key Takeaways

  • Create realistic demo content with diverse product types and edge cases
  • Use Burst, Unsplash, and Pexels for free, legal demo images
  • Test multiple homepage layout compositions before settling on a default
  • Experiment with product grid columns, card designs, and image aspect ratios
  • Test at least 3 font pairings before committing to typography
  • Build a functional color system β€” not just pretty colors
  • Test multiple header layout variations and mobile nav patterns
  • Create hero banner variations for different use cases
  • Test at all common device widths β€” find where your design breaks
  • Use a consistent spacing scale based on a 4px unit
  • Use Git branches for every experiment β€” compare, decide, merge or discard
  • Create multiple dev stores for different niches (fashion, tech, food)