The blog

Shopify development,
written down properly.

Tutorials and explanations from the team building learnshopify.dev. Production Liquid patterns, the object model, theme architecture, and the judgment AI tools still get wrong.

Featured · MerchandisingJuly 15, 2026 · 6 min

Shopify Smart Pricing, explained: how the AI price tips actually work

Shopify's Smart Pricing app suggests markups and markdowns from your own store data, and can A/B test prices on live traffic. Here's how it generates a tip, what data it uses (and ignores), and where it fits.

Bas Lefeber
Read this post
MerchandisingSmart PricingPricingAI

Latest posts

39 articles

AI era

Should you trust Shopify Smart Pricing? A developer's guide to reviewing AI price tips

Shopify Smart Pricing's AI suggests prices from your data, but a tip is a starting point, not an order. Here's the judgment a professional brings: the store-level trap, the conversion-vs-profit trap, and what the model can't see.

July 15, 2026 · 6 minRead
Platform

Shopify's new Collections API: the shift to composable, source-based collections

Shopify's 2026-07 Admin API rebuilds collections from the ground up. Collections are no longer 'custom' or 'smart', they're a union of composable sources. Here's the new model, what it unlocks, and what to watch.

July 8, 2026 · 7 minRead
App development

Migrating to Shopify's flexible collections: a field-by-field guide for app developers

The 2026-07 collections model is non-breaking, but if your app reads or writes collections you still need to move. Here's what maps to what, the 404 gotcha with old API versions, and what stays the same.

July 8, 2026 · 5 minRead
Theme development

Variant-level collections in Shopify: what theme developers can (and can't) build yet

The new 2026-07 collections model lets a collection hold individual variants, not whole products. Powerful, but the storefront side is still rolling out. Here's what works on a collection page today, and what to verify before you rely on it.

July 8, 2026 · 5 minRead
Merchandising

Shopify sub-collections and layered collections: what you can build now

Shopify's 2026 collections update lets one collection pull from others (sub-collections) and blend automated rules with hand-picked products in the same collection. Here's what that unlocks, in plain terms.

July 8, 2026 · 5 minRead
Platform

Do you need to migrate to Shopify's new collections? A decision guide

There's no deadline and existing collections keep working, so who actually needs to act on Shopify's 2026-07 collections change? A clear answer for merchants, theme developers, and app developers.

July 8, 2026 · 4 minRead
Platform

Shopify Spring '26 Edition for developers: what actually changed

Shopify's Spring '26 Edition (June 17, 2026) is a pivot to agentic commerce. Here's what actually changed for theme, app, and storefront developers, and what to do about each.

June 19, 2026 · 5 minRead
Theme development

Shopify color_palette setting: replace color schemes (2026)

Shopify's new color_palette setting type replaces color schemes as the recommended way to model a theme's colors. Here's the schema, the Liquid, and when to migrate.

June 19, 2026 · 7 minRead
Agentic commerce

Shopify llms.txt and agents.md: make your store AI-readable

Shopify now lets you customize /llms.txt, /llms-full.txt and /agents.md from your theme. Here is how the agents.md.liquid template works and what to put in it.

June 19, 2026 · 7 minRead
Theme development

Shopify standard storefront events and actions: a theme dev guide

Shopify themes now emit standard events and expose actions so apps and AI agents interact reliably with any storefront. What it is, why it matters, how to adopt it.

June 19, 2026 · 8 minRead
Agentic commerce

The Shopify Catalog API, explained: AI product search without scraping

Shopify's Catalog API (GA June 17, 2026) turns the product catalog into queryable infrastructure for AI agents: image search, multi-modal search, and URL lookup. Here's how it works.

June 19, 2026 · 7 minRead
Agentic commerce

What is the Universal Commerce Protocol (UCP)? A Shopify developer's guide

UCP is the open standard Shopify co-developed with Google to give AI agents one shared language for commerce, from discovery to checkout. Here is what it means for you.

June 19, 2026 · 8 minRead
AI-era development

The Shopify AI Toolkit: Shopify in Cursor, Claude Code, and VS Code

Shopify's AI Toolkit (GA June 2026) plugs Shopify's docs, schemas, and CLI into Cursor, Claude Code, and VS Code. What it is and how to use it well.

June 19, 2026 · 6 minRead
App development

Shopify Static Apps, explained: serverless apps with hosting and auth handled

Shopify Static Apps let you ship a real app with no server: Shopify hosts it, App Bridge and Polaris are auto-injected, and auth is handled. Here is when to use one.

June 19, 2026 · 7 minRead
Headless

Shopify Hydrogen in 2026: framework-agnostic core, explained

Spring '26 moved Hydrogen's commerce logic out of React Router into a framework-agnostic core with agent skills. What changed, why, and whether Hydrogen is still React.

June 19, 2026 · 6 minRead
Theme development

Dawn vs Horizon: which Shopify theme should you build on in 2026?

A developer's decision guide to Dawn vs Horizon in 2026. The real architectural differences (theme blocks, nested blocks, web components), what each is good at, and a clear recommendation on which one to fork and learn.

June 19, 2026 · 7 minRead
Career

Shopify developer salary in 2026: what you can actually earn

A grounded look at Shopify developer pay in 2026: employed vs freelance, junior vs senior, US vs Europe vs remote, agency vs in-house, and how the AI era changes who earns what.

June 19, 2026 · 7 minRead
Theme development

How to build a Shopify mega menu without an app (Liquid)

Build a multi-column Shopify mega menu in Liquid with no app, using the real navigation object: linklists, nested link.links, and link.active. Includes a section schema with a link_list setting and accessible markup.

June 19, 2026 · 6 minRead
Conversion

Shopify announcement bar without an app (dismissible, with countdown)

Build a dismissible Shopify announcement bar as a theme section with a real {% schema %}: a merchant-editable message, link, and colors, dismissal that sticks via localStorage, and an optional sale countdown driven by a merchant-set date. No app required.

June 19, 2026 · 7 minRead
Conversion

How to build a Shopify cart drawer without an app (the Ajax way)

Build a slide-out Shopify cart drawer with the Ajax API and no app: add to cart with no page reload, re-read /cart.js so totals are always right, then slide the drawer open. Full, production-grade code.

June 19, 2026 · 6 minRead
Conversion

How to add a sticky add to cart bar in Shopify (no app)

Build a sticky add to cart bar in Shopify with Liquid, the real product form, and an IntersectionObserver, so it slides in only after the main button scrolls away. Keeps the buy action one tap away on long product pages. No app required.

June 12, 2026 · 4 minRead
Conversion

How to show an estimated delivery date on a Shopify product page

Add a "Order today, get it between Jun 14 and Jun 17" delivery estimate to your Shopify product page with pure Liquid date math. Covers the Unix-timestamp trick, making the lead time a setting, and the timezone caveat. No app required.

June 12, 2026 · 3 minRead
Tutorial

How to add a size chart to a Shopify product page (with metafields)

Add a per-product size chart to your Shopify product page the right way: a metafield the merchant fills in per product, rendered in a collapsible details element. Covers the metafield setup, the Liquid, and why this beats hardcoding a table. No app required.

June 12, 2026 · 3 minRead
Tutorial

How to add breadcrumbs to a Shopify theme with Liquid (and the SEO schema)

Build accessible breadcrumb navigation in Shopify with Liquid: the template-aware markup, the routes object, BreadcrumbList structured data for Google, and the accessibility details most copy-pasted versions miss. No app required.

June 12, 2026 · 4 minRead
Conversion

How to add a "Sold out" badge to Shopify product cards (no app)

Add a Sold out badge (and an optional "Only 3 left" low-stock badge) to Shopify product cards with a few lines of Liquid. Covers product.available, the inventory fields, where to place it, and the privacy trap of exposing raw stock counts.

June 12, 2026 · 4 minRead
Tutorial

How to show related products on a Shopify product page (without an app)

Two ways to add a "You may also like" row in Shopify: the quick collection-based Liquid version, and Shopify's native Product Recommendations API that returns genuinely related products. Includes the AJAX loader and where each approach fits.

June 12, 2026 · 4 minRead
Tutorial

How to show review stars on Shopify collection product cards

Add star ratings to the product cards in a Shopify collection grid by reading the reviews.rating metafield your review app maintains. Here's the Liquid for the stars, the review count, accessibility, and hiding the block for products with no reviews.

June 5, 2026 · 3 minRead
Career

How to become a Shopify developer in 2026 (a realistic roadmap)

A step-by-step roadmap to becoming a Shopify developer in 2026: what to learn, in what order, what to skip, and how the job changed now that AI writes the code.

May 30, 2026 · 4 minRead
Career

Do you still need to learn Shopify development in the AI era?

AI writes Liquid in seconds, so is learning Shopify development still worth it in 2026? Yes, but the skill shifted. Here's what actually makes a Shopify developer valuable now.

May 30, 2026 · 3 minRead
Theme architecture

Shopify sections, blocks & theme blocks explained (Horizon, 2026)

Sections, blocks, and the newer theme blocks confuse almost everyone. Here's how they actually fit together in Shopify's current Horizon architecture, with when to reach for each.

May 30, 2026 · 4 minRead
Tutorial

How to build a free shipping progress bar in Shopify (no app)

A complete guide to building a "You're $12.00 away from free shipping" cart bar in Shopify with Liquid, the code, the cents-vs-dollars trap, live cart updates, styling, and how to make the threshold a merchant setting. No app required.

May 21, 2026 · 5 minRead
Tutorial

How to format money and currency in Shopify Liquid

Shopify stores prices in cents, so {{ product.price }} renders as 1899, not $18.99. Here's how the money filter works, the difference between money and money_with_currency, and why hardcoding a $ breaks international stores.

May 19, 2026 · 2 minRead
Tutorial

How to display product metafields in a Shopify theme

Metafields are how you add custom data to Shopify products, ingredients, specs, care instructions. Here's how to read them in Liquid, handle the different metafield types correctly, and render rich text and references without breaking.

May 16, 2026 · 2 minRead
Tutorial

How to add a sale badge in Shopify with compare_at_price

Show a "Sale" badge (or a percentage off) on discounted products in Shopify using compare_at_price. Here's the Liquid, how to calculate the discount percentage, and how to handle products with multiple variants correctly.

May 14, 2026 · 2 minRead
Tutorial

How to truncate product titles and text in Shopify Liquid

Keep long product titles from breaking your grid. Here's the difference between Shopify's truncate and truncatewords filters, how to set a custom ellipsis, and why you should strip HTML before truncating a description.

May 12, 2026 · 1 minRead
Tutorial

How to loop through products in a Shopify collection with Liquid

Render a grid of products from a collection using Liquid's for loop. Here's how to limit the count, access the loop index, handle empty collections, and why you should paginate large collections instead of looping all of them.

May 9, 2026 · 2 minRead
Tutorial

How to set fallback values in Shopify Liquid (the default filter)

Stop empty fields from leaving holes in your theme. Here's how Shopify's default filter works, the difference between empty, blank, and nil, and the allow_false gotcha that catches everyone with booleans.

May 7, 2026 · 1 minRead
Tutorial

How to show "from" pricing for products with variants in Shopify

When a product has variants at different prices, a single price is misleading. Here's how to show "From $18.99" with price_min and price_max in Shopify Liquid, and only when the variants actually differ.

May 5, 2026 · 1 minRead
Tutorial

How to show a low-stock warning in Shopify (Only 3 left)

Add urgency with a "Only 3 left in stock" message in Shopify using variant.inventory_quantity. Here's the Liquid, the inventory-tracking gotcha that shows negative or zero counts, and how to handle variants correctly.

May 2, 2026 · 2 minRead

Want to actually build this stuff?

Reading is one thing.
Shipping a real storefront is another.

Every post here gets a hands-on lesson in the interactive editor. You're hired at Northwind Coffee Co, tickets land, you write Liquid against a live storefront. Free to start.