Executive Summary
Shopify has evolved from a simple online store builder into a comprehensive commerce platform powering 6.2 million merchants across 175 countries in 2026. With $340 billion in annual Gross Merchandise Volume (GMV), Shopify processes more e-commerce volume than any platform except Amazon. The development ecosystem has matured dramatically: the Liquid template language powers customizable themes, the Admin and Storefront APIs enable deep integrations, Hydrogen provides a React-based headless commerce framework, and Checkout Extensibility replaces the deprecated checkout.liquid with a modern extension model.
This report covers every aspect of Shopify development in 2026: the Liquid template language syntax and best practices, Online Store 2.0 theme architecture with sections and JSON templates, app development with embedded apps and extensions, Hydrogen and headless commerce with Oxygen deployment, Checkout Extensibility with UI Extensions and Functions, Shopify Plus enterprise features, SEO optimization within Shopify constraints, and a detailed comparison with WooCommerce.
6.2M
Shopify merchants worldwide
$340B
Annual GMV in 2026
11.5K
Apps in the App Store
$10.5B
Shopify annual revenue
Part 1: Platform Overview
Shopify is a hosted e-commerce platform that provides everything a merchant needs to sell online: storefront, checkout, payment processing, shipping, inventory management, analytics, and marketing tools. Unlike self-hosted solutions like WooCommerce, Shopify manages the infrastructure — servers, security, SSL, CDN, PCI compliance, and uptime — allowing merchants to focus on their products and customers. The platform serves businesses from single-product startups to enterprise brands processing billions in annual revenue.
Shopify offers four main plan tiers: Basic ($39/month), Shopify ($105/month), Advanced ($399/month), and Plus (from $2,000/month). Each tier includes unlimited products, 24/7 support, and fraud analysis. Higher tiers unlock lower transaction fees, more staff accounts, advanced reporting, calculated shipping rates, and duties/import taxes. Shopify Plus adds checkout customization, automation (Flow), B2B features, expansion stores, and dedicated support.
The platform ecosystem includes: the Online Store channel (the primary Shopify storefront), Point of Sale (POS) for retail locations, Shopify Markets for international selling, Shop App (consumer-facing app with order tracking and accelerated checkout), Shopify Inbox (customer messaging), Shopify Email (email marketing), and integration with sales channels like Amazon, eBay, Facebook/Instagram Shop, Google Shopping, TikTok Shop, and Pinterest.
Shopify Growth: Merchants, GMV ($M), and Revenue ($M)
Source: OnlineTools4Free Research
Part 2: Liquid Template Language
Liquid is Shopify's template language, originally created by Shopify co-founder Tobias Lutke in 2006 and open-sourced as a Ruby gem. It is a safe, sandboxed language designed for customer-facing templates: it cannot access the file system, execute system commands, or run arbitrary code. This security model is why Shopify trusts merchants and developers to write Liquid code that runs on their infrastructure without risk of server compromise.
Liquid has three fundamental components. Objects, written in double curly braces, output dynamic data from the Shopify admin. Tags, written in curly-brace-percent pairs, provide control flow logic like conditionals, loops, and variable assignment. Filters, applied with the pipe character, transform output values — formatting money, resizing images, manipulating strings, sorting arrays, and more. These three components compose to create every Shopify storefront template.
Shopify extends the open-source Liquid language with commerce-specific objects and filters. The product object provides access to title, description, images, variants, price, compare_at_price, tags, type, vendor, metafields, and media. The collection object provides products, title, description, image, sort_by, and filters. The cart object provides items, total_price, item_count, and note. The customer object provides name, email, orders, addresses, and tags. These objects make Liquid a domain-specific language for e-commerce.
Liquid Template Language Features
15 rows
| Feature | Syntax | Category | Description |
|---|---|---|---|
| Objects | {{ product.title }} | Output | Output dynamic content. Objects represent data from the Shopify admin — products, collections, pages, blogs, customers, orders. |
| Tags | {% if product.available %} | Logic | Logic and control flow. Tags do not produce output but control template behavior: conditions, loops, assignments, theme rendering. |
| Filters | {{ "hello" | capitalize }} | Output | Transform output values. Chained with pipe syntax. 80+ built-in filters for strings, numbers, arrays, URLs, money, dates, and HTML. |
| for loops | {% for item in array %} | Logic | Iterate over arrays and collections. Supports limit, offset, reversed. Loop variables: forloop.index, forloop.first, forloop.last, forloop.length. |
| if/elsif/else | {% if condition %} | Logic | Conditional rendering. Supports and/or operators, comparison operators (==, !=, >, <, >=, <=), contains, and type checking. |
| unless | {% unless condition %} | Logic | Inverse conditional. Renders content unless the condition is true. Equivalent to if not. Supports elsif and else. |
| case/when | {% case variable %} | Logic | Switch statement equivalent. Matches a variable against multiple values. Supports a default else clause. |
| assign | {% assign x = "value" %} | Variables | Create or update a variable. Variable persists for the rest of the template. Can assign strings, numbers, booleans, and filtered values. |
| capture | {% capture variable %} | Variables | Capture a block of output into a variable. Useful for building complex strings or conditional HTML that needs to be reused. |
| render | {% render 'snippet' %} | Includes | Include a snippet from the snippets/ directory. Variables are scoped — parent variables are not accessible. Pass data with: {% render "card", product: item %}. |
| section | {% section 'header' %} | Sections | Render a theme section. Sections have their own schema, settings, and blocks. The foundation of theme customization in the Shopify admin. |
| schema | {% schema %}...{% endschema %} | Sections | JSON block inside sections defining settings, blocks, presets, and customization options. Parsed by the theme editor to generate the admin UI. |
| paginate | {% paginate collection.products by 12 %} | Logic | Paginate arrays and collections. Creates paginate object with page_size, current_page, pages, items, and navigation links. |
| form | {% form 'product' %} | Forms | Generate HTML forms for Shopify operations: add to cart, customer login, contact, newsletter, customer address, and storefront password. |
| Raw | {% raw %}{{ not parsed }}{% endraw %} | Output | Output Liquid syntax literally without parsing. Useful for documentation, JavaScript templates, or displaying Liquid code examples. |
Key Finding
Liquid is intentionally limited for security — it cannot execute arbitrary code or access the filesystem.
This sandbox model lets Shopify safely run merchant-written code on shared infrastructure, but requires developers to work within template-language constraints rather than using general-purpose programming.
Part 3: Theme Architecture
Shopify themes define the visual presentation and behavior of an online store. Since the introduction of Online Store 2.0 in 2021, themes use a section-based architecture where every page is composed of modular, customizable sections. Merchants can add, remove, reorder, and configure sections on any page type through the visual theme editor — no code editing required. This architecture made the old section-limited approach obsolete and is now the standard for all new themes.
The theme file structure follows a strict convention. The layout directory contains master templates (theme.liquid wraps all pages). The templates directory contains JSON files that define section composition for each page type. The sections directory contains Liquid files with embedded schema tags that describe admin settings. The snippets directory contains reusable partials. The assets directory holds CSS, JavaScript, images, and fonts. The config directory stores theme settings schema and merchant-customized values. The locales directory provides translation strings.
Sections are the heart of theme customization. Each section is a Liquid file that can contain HTML, Liquid logic, CSS, and JavaScript, plus a schema tag that defines settings (text fields, image pickers, color selectors, range sliders), blocks (repeatable sub-components), and presets (default configurations). When a merchant opens the theme editor, they see the settings defined in the schema rendered as a user-friendly form. Sections can be static (hardcoded in a template) or dynamic (added by the merchant).
Shopify Theme File Architecture
7 rows
| Directory | Purpose | Key Files | Description |
|---|---|---|---|
| layout/ | Master templates wrapping all pages | theme.liquid, password.liquid, checkout.liquid (Plus only) | Layout files wrap every page. theme.liquid contains <html>, <head>, navigation, footer, and {{ content_for_layout }} tag where page content is injected. |
| templates/ | Page-type templates | index.json, product.json, collection.json, page.json, blog.json, article.json, cart.json, 404.json, search.json, customers/*.json | JSON templates define which sections appear on each page type. JSON templates enable the Section Everywhere architecture introduced in Online Store 2.0. |
| sections/ | Modular, customizable components | header.liquid, footer.liquid, main-product.liquid, featured-collection.liquid, rich-text.liquid, image-banner.liquid, etc. | Sections are reusable components with their own settings schema. Merchants customize sections in the theme editor. Sections can be static (always present) or dynamic (added by merchant). |
| snippets/ | Reusable partial templates | product-card.liquid, price.liquid, icon-*.liquid, cart-drawer.liquid, etc. | Snippets are included with {% render %}. No schema or settings. Used for repeated markup patterns like product cards, price formatting, icon SVGs. |
| assets/ | Static files | theme.css, application.js, *.png, *.svg, *.woff2 | CSS, JavaScript, images, and fonts. Referenced with {{ "file.css" | asset_url }}. Files are served from the Shopify CDN with cache busting. |
| config/ | Theme settings | settings_schema.json, settings_data.json | settings_schema.json defines theme-level settings (colors, typography, social links). settings_data.json stores the merchant customized values. |
| locales/ | Translation strings | en.default.json, fr.json, es.json, etc. | Translation files for theme strings. Referenced with {{ "key" | t }}. Enables multi-language storefronts. Default locale file is required. |
Part 4: App Development
Shopify apps extend the platform with functionality not available natively: advanced analytics, marketing automation, loyalty programs, subscription billing, review systems, inventory management, dropshipping integrations, and thousands of other capabilities. Apps interact with Shopify through the Admin API (GraphQL and REST) and integrate with the admin through App Bridge (for embedded apps) and with storefronts through Theme App Extensions and Web Pixels.
The modern app development stack uses Shopify CLI for scaffolding and local development, Remix (React framework) for the app backend, Prisma for database access, Polaris for admin UI components, and App Bridge for embedded admin integration. Running shopify app init generates a complete app with authentication, session management, billing integration, and database setup. The development experience includes hot module replacement and a tunnel to test webhooks locally.
App extensions are the modern way to extend Shopify without modifying theme code or injecting scripts. Theme App Extensions add blocks that merchants place in their theme via the editor. Checkout UI Extensions add custom UI to the checkout flow. Web Pixel Extensions add analytics tracking in a privacy-compliant sandbox. Function Extensions run custom business logic (discounts, shipping, payments) on Shopify servers. Each extension type has its own API, limitations, and deployment process.
Shopify App Types
7 rows
| Type | Distribution | Auth | Description |
|---|---|---|---|
| Public App | Shopify App Store | OAuth 2.0 | Listed on the Shopify App Store. Reviewed by Shopify. Revenue shared 85/15 (developer/Shopify). Must follow app design guidelines and API rate limits. |
| Custom App | Single store | API access tokens | Built for a single store. No Shopify review required. Full admin API access. Created in the store admin under Apps > Develop apps. |
| Embedded App | App Store or Custom | Session tokens | Runs inside the Shopify admin as an iframe. Uses App Bridge for navigation, authentication, and UI components. Best UX for merchants. |
| Checkout UI Extension | App Store | App-level | Extend checkout with custom UI: upsells, custom fields, loyalty points, delivery instructions. Uses React-based Checkout Extensibility framework. |
| Theme App Extension | App Store | App-level | Add app blocks to themes without modifying theme code. Merchants add/remove blocks in the theme editor. Eliminates theme code injection. |
| Web Pixel Extension | App Store | App-level | Custom analytics and tracking scripts. Run in a sandboxed worker for privacy compliance. Access to customer events: page_viewed, product_viewed, checkout_completed. |
| Function Extension | App Store | App-level | Server-side logic executed on Shopify infrastructure. Custom discount logic, shipping rates, payment rules, validation. Written in Rust or JavaScript (compiled to Wasm). |
Part 5: Hydrogen and Headless Commerce
Hydrogen is Shopify's official React framework for building custom headless storefronts. Built on Remix (now React Router v7), Hydrogen provides server-side rendering, streaming, and nested routes out of the box. It uses the Storefront API for all data fetching and provides Shopify-specific hooks and components for cart management, product display, collection browsing, and customer authentication. Hydrogen storefronts deploy to Oxygen, Shopify's globally distributed hosting platform built on Cloudflare Workers.
The Hydrogen architecture separates concerns cleanly. Route loaders fetch data from the Storefront API using GraphQL queries. Components render the UI using React with Shopify commerce primitives (Money, Image, AddToCartButton). Cart state is managed through the Storefront API Cart object. Customer authentication uses the new Customer Account API. SEO is handled through route-level meta functions that generate title tags, meta descriptions, Open Graph tags, and JSON-LD structured data. All rendering is server-side, ensuring search engine crawlability.
Hydrogen Framework Features
8 rows
| Feature | Description | Status | Since |
|---|---|---|---|
| Remix Framework | Hydrogen 2.0 is built on Remix (now React Router v7). Server-side rendering, nested routes, loaders, actions, and streaming. Provides web-standard APIs. | Stable | 2.0 |
| Storefront API | GraphQL API for reading product, collection, and content data. Optimized for storefronts with rate limits separate from Admin API. Powers all frontend data fetching. | Stable | 1.0 |
| Customer Account API | New API for customer authentication and account management. Replaces the legacy Multipass and customer endpoints. Supports B2B, company accounts, and draft orders. | Stable | 2024 |
| Oxygen Hosting | Shopify-managed hosting for Hydrogen storefronts. Global edge deployment, automatic scaling, integrated with Shopify admin. Free for Shopify merchants. | Stable | 2.0 |
| Cart API | Headless cart management via the Storefront API. Create carts, add/remove items, apply discounts, calculate shipping, and redirect to Shopify checkout. | Stable | 1.0 |
| Metaobjects & Metafields | Custom data models stored in Shopify. Metafields extend existing resources (products, collections). Metaobjects are standalone content types for CMS-like content. | Stable | 2023 |
| Markets | Multi-country selling with localized pricing, currencies, languages, and domains. Hydrogen components handle market-aware routing and price formatting. | Stable | 2023 |
| SEO | Built-in SEO utilities: canonical URLs, JSON-LD structured data, meta tags, sitemap generation, robots.txt, and Open Graph tags. SSR ensures crawlability. | Stable | 2.0 |
Key Finding
Hydrogen with Oxygen delivers sub-100ms TTFB globally, but requires React expertise and sacrifices the visual theme editor.
Best for brands with dedicated development teams who need complete frontend control. Not recommended for merchants who rely on the theme editor for day-to-day content changes.
Part 6: Checkout Extensibility
Shopify Checkout is the highest-converting checkout on the internet. It processes payments for millions of merchants and handles events like flash sales (hundreds of thousands of concurrent checkouts). The checkout is hosted and managed by Shopify, which means it is PCI compliant, automatically optimized, and consistent across all stores. Customization uses the Checkout Extensibility framework — a set of APIs and extension points that replace the deprecated checkout.liquid.
Checkout UI Extensions are React components that render at specific extension points in the checkout flow. Extension points include: before and after line items, before and after shipping options, before and after payment methods, order summary, and thank you page. Each extension has access to the checkout state (line items, shipping address, customer info) through a standardized API. Extensions run in a sandboxed iframe for security and use a limited set of approved UI components (Banner, TextField, Checkbox, Button, etc.).
Shopify Functions provide server-side logic for checkout customization. Discount Functions implement custom discount rules (tiered pricing, BOGO, volume discounts, bundle discounts). Delivery Customization Functions modify shipping options (hide, rename, reorder rates). Payment Customization Functions control payment methods (hide payment methods based on cart contents or customer type). Cart and Checkout Validation Functions enforce business rules (minimum order quantities, restricted products, geographic restrictions). Functions are written in JavaScript or Rust, compiled to WebAssembly, and execute on Shopify infrastructure for sub-5ms latency.
Part 7: Shopify Plus
Shopify Plus is the enterprise tier starting at $2,000/month, designed for high-volume merchants and complex commerce operations. Plus unlocks features not available on standard plans: full checkout customization, advanced automation with Shopify Flow, B2B selling capabilities, up to 9 expansion stores for international or brand-specific storefronts, Launchpad for scheduled events, and dedicated support with a merchant success manager.
Shopify Plus Exclusive Features
8 rows
| Feature | Description | Availability | Impact |
|---|---|---|---|
| Checkout Extensibility | Full control over checkout UI with Checkout UI Extensions, branding API, and custom logic via Functions. Replace checkout.liquid (deprecated) with app-based extensions. | Plus Only | High |
| Shopify Flow | Visual workflow automation. Trigger-condition-action model. Automate order tagging, fraud review, inventory alerts, customer segmentation, loyalty rewards, and 100+ actions. | All Plans (limited) / Plus (full) | High |
| Launchpad | Schedule and automate product launches, sales events, and campaigns. Coordinate theme changes, pricing updates, and script activation at a specific time. | Plus Only | Medium |
| Shopify Scripts | Ruby scripts running on Shopify servers for custom pricing logic: tiered discounts, BOGO, volume pricing, payment method discounts. Being replaced by Functions. | Plus Only | High |
| B2B on Shopify | Built-in B2B features: company accounts, catalogs with custom pricing, net payment terms, quantity rules, draft orders, and vaulted payment methods. | Plus Only | High |
| Expansion Stores | Up to 9 additional stores included with Plus subscription. Used for international markets, B2B vs B2C separation, or brand-specific storefronts. | Plus Only | Medium |
| Custom Staff Permissions | Granular staff access control beyond standard roles. Define custom permission sets for specific team members. Audit logging for staff actions. | Plus Only | Medium |
| Priority Support | Dedicated launch manager, merchant success manager, and priority 24/7 support queue. Direct Slack channel with Shopify team for Plus merchants. | Plus Only | Medium |
Part 8: Shopify vs WooCommerce
Shopify and WooCommerce are the two dominant e-commerce platforms, each serving fundamentally different needs. Shopify is a managed platform: you pay a monthly fee and Shopify handles hosting, security, updates, and infrastructure. WooCommerce is a self-hosted WordPress plugin: you manage your own server, handle security, and control everything. This fundamental difference cascades into every aspect of the comparison.
Shopify vs WooCommerce Comparison
8 rows
| Aspect | Shopify | WooCommerce | Verdict |
|---|---|---|---|
| Pricing | Starts at $39/mo + transaction fees (0% with Shopify Payments, 0.5-2% with third-party) | Free plugin + hosting ($3-35/mo) + extensions ($0-249/yr each) | WooCommerce cheaper upfront; Shopify more predictable total cost |
| Ease of Use | Managed platform, no technical maintenance, intuitive admin | Requires WordPress knowledge, hosting management, update management | Shopify significantly easier for non-technical users |
| Customization | Limited by Liquid and Shopify architecture; deep customization requires Plus | Unlimited customization with PHP, hooks, filters, and open source code | WooCommerce offers deeper customization for developers |
| Performance | Managed infrastructure, CDN included, consistent performance | Varies by hosting; can be very fast with optimization or very slow without | Shopify more consistent; WooCommerce higher ceiling with optimization |
| Checkout | Hosted checkout with high conversion; customizable only on Plus | Fully customizable checkout; lower default conversion rate | Shopify checkout converts 1.72x better out of the box |
| SEO | Good baseline but fixed URL structure and limited technical control | Full SEO control: URL structure, .htaccess, XML sitemaps, schema markup | WooCommerce gives more SEO control for experts |
| App/Plugin Ecosystem | 11,500+ apps in App Store; curated, reviewed | 60,000+ WordPress plugins + WooCommerce extensions; less curated | WooCommerce larger ecosystem; Shopify better curated |
| Data Ownership | Shopify hosts your data; exportable but on their platform | You own everything: code, data, database, files | WooCommerce for full data ownership |
Part 9: SEO and Performance
Shopify provides solid SEO fundamentals out of the box: clean URLs, automatic canonical tags, XML sitemap generation, robots.txt, SSL certificates, and mobile-responsive themes. However, Shopify has notable SEO limitations compared to self-hosted platforms: the URL structure is fixed (products always live at /products/handle, collections at /collections/handle), you cannot modify .htaccess or server-level redirects, and duplicate content issues arise from Shopify's collection-based product URLs (/collections/shoes/products/blue-sneaker creates a duplicate of /products/blue-sneaker).
Performance optimization on Shopify focuses on theme-level optimizations since you cannot control the server. Key strategies: minimize Liquid loops (each loop adds server processing time), use lazy loading for images below the fold, minimize render-blocking JavaScript, use Shopify's native image optimization (specify dimensions with img_url filters), defer non-critical CSS, minimize app-injected scripts (each app can add 50-200KB of JavaScript), and use responsive images with srcset. Shopify provides a built-in CDN and HTTP/2 for all stores.
Structured data (JSON-LD) should be added for products (Product schema with name, price, availability, reviews), breadcrumbs (BreadcrumbList), organization (Organization with logo and social profiles), and FAQ pages (FAQPage). Shopify themes do not include comprehensive structured data by default — add it through theme code or an SEO app. The Storefront Search is powered by Shopify's search infrastructure and supports predictive search, filters, and sorting.
Part 10: App Ecosystem
The Shopify App Store hosts over 11,500 apps in 2026, categorized across marketing, sales channels, fulfillment, customer service, inventory, analytics, productivity, and development. Top categories by installs: reviews and ratings (Judge.me, Loox, Yotpo), email marketing (Klaviyo, Mailchimp, Omnisend), SEO (Plug In SEO, SEO Manager, Smart SEO), shipping and delivery (ShipStation, Shippo, AfterShip), and upselling (ReConvert, Bold Upsell, Frequently Bought Together).
Shopify takes a 15% revenue share on app sales through the App Store, with the first $1 million in annual revenue exempt (100% goes to the developer). This developer-friendly policy has fueled rapid ecosystem growth. App review involves automated testing (API compliance, performance benchmarks, security scans) and manual review (UX quality, Polaris compliance, privacy policy, data handling). The review process takes 7-14 business days for new apps. Updates undergo automated review only unless significant changes are detected.
Glossary (40+ Terms)
Liquid [Templating]
Shopify template language created by Tobias Lutke (Shopify co-founder) in 2006. A safe, customer-facing template language with objects ({{ }}), tags ({% %}), and filters (|). Used in all Shopify theme files, email notifications, and some app contexts. Does not allow arbitrary code execution for security reasons.
Objects [Templating]
Liquid data containers accessed with double curly braces: {{ product.title }}. Objects represent Shopify data: product, collection, cart, customer, shop, page, blog, article, order, and more. Objects have properties (attributes) and can be nested.
Tags [Templating]
Liquid control flow elements enclosed in {% %}. Tags handle logic (if/else, for, case), variable assignment (assign, capture), includes (render, section), and special Shopify operations (form, paginate, style). Tags do not produce visible output.
Filters [Templating]
Liquid output modifiers applied with the pipe character: {{ value | filter }}. Filters transform values: money (format currency), img_url (generate image URL), date (format dates), upcase, downcase, split, join, size, sort, where, map, and 80+ others.
Section [Themes]
A modular theme component with its own Liquid template, settings schema, CSS, and JavaScript. Merchants customize sections in the theme editor. Sections have a {% schema %} tag defining settings, blocks, and presets. The foundation of theme customization.
Block (Theme) [Themes]
A sub-component within a section. Defined in the section schema. Merchants can add, remove, and reorder blocks in the theme editor. Example: a "Slideshow" section with "Slide" blocks — each slide has its own image, heading, and button settings.
Snippet [Themes]
A reusable partial template stored in the snippets/ directory. Included with {% render "snippet-name" %}. Does not have settings or schema. Used for repeated markup: product cards, price display, icon SVGs, structured data.
Online Store 2.0 [Themes]
Shopify theme architecture (2021) that introduced JSON templates and "Sections Everywhere." JSON templates define which sections appear on each page type, allowing merchants to customize any page (not just the homepage). Replaced the old section-limited architecture.
JSON Templates [Themes]
Template files in .json format (e.g., product.json, collection.json) that define which sections appear on a page and their order. Each section reference includes settings and block configurations. Enables the "Sections Everywhere" experience.
Theme Editor [Themes]
The visual customization interface accessed from Online Store > Themes > Customize. Merchants modify section settings, add/remove sections, reorder content, change colors/fonts, and preview on different devices. Changes are saved to settings_data.json.
Metafield [Data]
Custom data attached to Shopify resources (products, collections, customers, orders, etc.). Defined with namespace, key, type, and value. Types include: single_line_text, rich_text, number, boolean, date, url, color, dimension, weight, json, and references to other resources.
Metaobject [Data]
A custom content type defined by the merchant or app. Unlike metafields (which extend existing resources), metaobjects are standalone entities with their own fields and entries. Used for: testimonials, team members, FAQs, store locations — essentially a mini CMS within Shopify.
Admin API [API]
GraphQL and REST API for managing store data: products, orders, customers, inventory, fulfillment, discounts, and settings. Used by apps, integrations, and custom scripts. Rate-limited per app. Authentication via OAuth (public apps) or access tokens (custom apps).
Storefront API [API]
GraphQL API for customer-facing storefronts. Provides read access to products, collections, and content, plus cart operations and customer authentication. Used by Hydrogen, headless storefronts, and mobile apps. Has its own rate limits separate from Admin API.
Hydrogen [Headless]
Shopify official React framework for building custom storefronts. Built on Remix (React Router v7). Provides Storefront API hooks, cart management, SEO utilities, and Shopify-specific components. Deployed to Oxygen (Shopify hosting) or any Node.js host.
Oxygen [Headless]
Shopify managed hosting platform for Hydrogen storefronts. Global edge deployment on Cloudflare Workers. Automatic scaling, zero-config deployment from GitHub. Free for all Shopify merchants. Includes environment variables, preview deployments, and custom domains.
Checkout Extensibility [Checkout]
The framework for customizing Shopify checkout using UI Extensions and Functions. Replaces checkout.liquid (deprecated in 2025). Uses React components with a limited UI library designed for checkout. Extensions run in a sandboxed iframe for security.
Checkout UI Extension [Checkout]
A React component that adds custom UI to checkout: upsell offers, custom fields, delivery instructions, loyalty points display, brand messaging. Placed at predefined extension points in the checkout flow.
Shopify Functions [Extensions]
Server-side logic running on Shopify infrastructure. Custom discount calculations, shipping rate generation, payment method filtering, cart/checkout validation. Written in JavaScript or Rust, compiled to WebAssembly. Executes within Shopify for low latency.
App Bridge [Apps]
JavaScript library for embedded apps running inside the Shopify admin. Provides navigation, authentication (session tokens), modal/toast UI, resource picker, and contextual save bar. Required for apps to feel native in the admin.
Theme App Extension [Apps]
An app component that integrates into themes without modifying theme code. Merchants add "app blocks" to sections via the theme editor. Eliminates the need for ScriptTag injection and theme code editing. Supports online store and checkout.
Web Pixel [Analytics]
A sandboxed analytics extension for tracking customer events (page views, product views, add to cart, checkout completion). Runs in a web worker for privacy compliance. Replaces raw ScriptTag injection for analytics and marketing pixels.
Polaris [Design]
Shopify design system and React component library for building admin interfaces. Provides consistent UI components: buttons, forms, tables, modals, banners, navigation, and layout. Required for public App Store submissions.
Shopify CLI [Tools]
Command-line tool for Shopify development. Commands: shopify theme dev (local theme development with hot reload), shopify app dev (run app locally), shopify app generate extension (scaffold extensions), shopify theme push/pull (sync themes).
Dawn [Themes]
Shopify reference theme and the default theme for new stores since 2021. First Online Store 2.0 theme. Open source, performance-optimized, accessible. Source of truth for theme development best practices. Most public themes are inspired by Dawn architecture.
Markets [Commerce]
Shopify feature for selling internationally. Configure pricing, currencies, languages, domains, and duties per country/region. A single store can serve multiple markets with localized experiences. Hydrogen supports market-aware routing.
Shopify Plus [Plans]
Enterprise tier starting at $2,000/month. Includes: checkout extensibility, Shopify Flow (full), expansion stores (up to 9), B2B features, Launchpad, custom staff permissions, and priority support. Required for checkout customization and advanced automation.
Shopify Payments [Payments]
Built-in payment processing powered by Stripe. No third-party transaction fees. Supports credit cards, Apple Pay, Google Pay, Shop Pay, local payment methods. Available in 23 countries. Required for some features (Shop Pay Installments, dynamic checkout buttons).
Shop Pay [Payments]
Accelerated checkout that saves customer shipping and payment information across all Shopify stores. One-tap checkout for returning customers. Includes carbon offset for shipments. Highest-converting checkout option with 1.72x higher conversion than guest checkout.
GraphQL Admin API [API]
The primary API for admin operations. Supports queries, mutations, and subscriptions. More efficient than REST: fetch exactly the fields you need. Supports bulk operations for large datasets. Rate-limited by calculated query cost.
Webhooks [API]
HTTP callbacks triggered by Shopify events: orders/create, products/update, customers/create, app/uninstalled, and 50+ topics. Delivered as POST requests to a registered endpoint. Essential for keeping external systems synchronized with Shopify data.
ScriptTag [Legacy]
Legacy method for injecting JavaScript into storefronts. Deprecated in favor of Theme App Extensions and Web Pixels. ScriptTags load external scripts on every page, impacting performance. Will be removed in a future API version.
checkout.liquid [Legacy]
Legacy checkout template available only on Shopify Plus. Deprecated in August 2024 with migration deadline of August 2025. Replaced by Checkout Extensibility (UI Extensions and Functions). checkout.liquid allowed full HTML/CSS/JS customization of checkout.
Shopify Flow [Automation]
Visual automation tool using trigger-condition-action model. Triggers: order created, product inventory low, customer tagged, etc. Actions: send email, tag order, create draft order, HTTP request, etc. Automates repetitive merchant tasks.
Discount Functions [Extensions]
Shopify Functions that implement custom discount logic. Product discounts, order discounts, and shipping discounts. Written in JavaScript/Rust, compiled to Wasm. Replaces Shopify Scripts for custom pricing rules.
Fulfillment [Commerce]
The process of picking, packing, and shipping orders. Shopify supports manual fulfillment, Shopify Fulfillment Network (SFN), third-party logistics (3PL) integration, and custom fulfillment services. Tracking information is sent to customers automatically.
Variant [Commerce]
A specific version of a product defined by its option values (Size: Large, Color: Blue). Each variant has its own SKU, price, inventory, weight, and barcode. Products can have up to 3 options and 100 variants (2,000 with Combined Listings).
Collection [Commerce]
A group of products for organized browsing. Manual collections have hand-picked products. Automated collections use rules (product type, tag, price, vendor) to include matching products. Each collection has its own page and URL.
Handle [Data]
The URL-safe identifier for a resource. Generated from the title: "Blue Running Shoes" becomes "blue-running-shoes." Used in URLs (/products/blue-running-shoes) and Liquid references. Can be manually edited.
Shopify App Store [Ecosystem]
Marketplace for Shopify apps. Over 11,500 apps in 2026. Categories: marketing, sales, inventory, shipping, customer support, analytics, design, and development. Shopify takes 15% revenue share (0% on first $1M/year). Apps must pass review.
Partner Dashboard [Ecosystem]
Portal for Shopify Partners (developers, designers, agencies). Create development stores, manage apps, manage themes, track earnings, access documentation, and generate affiliate links. Free to join.
Frequently Asked Questions (15)
Raw Data Downloads
All datasets from this report are available for download under a Creative Commons CC BY 4.0 license.
