Platform Primitives
The Shopify mechanics the work rests on — the Section Rendering API, metafields, cart permalinks and the rest.
CSS custom properties
CSS custom properties are variables declared in a stylesheet or inline on an element and read back with `var()`. They inherit through the cascade and can be reassigned at any depth, so one selector can retheme everything beneath it. Shopify themes generate a set from theme settings, and markup is free to add more per section, per block or per element.
18 builds
Cart AJAX API
The Cart AJAX API is a set of storefront routes, `/cart/add.js`, `/cart/change.js`, `/cart/update.js` and `/cart.js`, that read and mutate the current cart and answer with JSON. Every Shopify storefront exposes them with no app and no access token. It is the mechanism behind any add-to-cart that doesn't reload the page.
54 builds
Cart permalinks
A cart permalink is a URL that changes the cart and then sends the shopper somewhere. One shape builds a cart from variant and quantity pairs in the address, another empties it, and either can chain onward to checkout. No JavaScript is involved, which makes it the plainest way to put a whole purchase decision inside a link.
1 builds
Collection tag permalinks
Collection tag permalinks are Shopify's original filtering mechanism. Appending one or more product tags to a collection path returns that collection narrowed to products carrying those tags, rendered server-side at a crawlable URL, with the active tags exposed to the template in Liquid. The mechanism predates the native filter objects and still works alongside them.
1 builds
Custom elements
A custom element is a browser-native component: a class registered against a hyphenated tag name, with lifecycle callbacks that run when the tag enters or leaves the document. It needs no framework and no build step. Shopify's Dawn is written this way, so any theme descended from Dawn inherits the pattern along with the markup.
30 builds
Customer account forms
Shopify's `form` tag renders the storefront's built-in forms: customer login, account creation, address create and edit, contact, and the storefront password page. The tag emits the action, method and hidden fields the platform expects, and reports failures back through an errors object. The fields inside belong to the theme; the contract around them is not negotiable.
1 builds
Customer accounts
Customer accounts are Shopify's identity layer for a storefront. Once a shopper is logged in, a theme can read the `customer` object, its orders, addresses, tags and marketing consent, and render account pages from Liquid, while Shopify keeps authentication, the address form contract and the account API. Everything a storefront personalizes for a known shopper starts here.
12 builds
Deferred CSS loading
Deferred CSS loading takes a stylesheet off the critical path. The link is requested with a media type that doesn't match, then switched to all once it has loaded, so the file downloads in parallel and applies after first paint. A `noscript` twin keeps the styles working where scripts don't run. Shopify's performance guidance treats the pattern as standard.
3 builds
Deferred media
Deferred media is Shopify's pattern for heavy embeds. The page renders a poster image and a button, while the real player, a video element or a hosted iframe, waits inside a template element and is cloned into the document only when someone asks for it. Nothing third-party is fetched until the shopper chooses to play.
4 builds
Dynamic sources
Dynamic sources connect a section setting to a metafield or another store object instead of a typed-in value. The binding is made in the theme editor and stored in the template, so one section can serve every product or collection while the content comes from the record. The setting's own value stays behind it as the fallback.
2 builds