Shopify's Liquid July '26 developer preview, published on the developer changelog on July 21, 2026, gives Liquid something React, Vue, and Svelte developers have taken for granted for a decade: native composition. New {% block %} and {% partial %} tags let theme developers compose page structure — and refresh named regions without a full page reload — inside a single Liquid file.
The Liquid preview would be news on its own. But it landed alongside two more changelog entries published the same day: a full-stack analytics platform that lets third-party apps model, query, and embed analytics on Shopify's own data infrastructure, and metafield-scoped triggers for Shopify's Events system so apps can react to precise data changes instead of whole-object pings. Together they read as a coordinated developer-platform push — though Shopify's changelog doesn't brand them as a single named release beyond each entry's own title.
This guide covers what each of the three entries actually ships, why the block and partial tags matter for theme developers stuck faking partial-refresh UX with workarounds, what the analytics platform changes for app developers, and where the hard caveats sit — starting with the biggest one: the Liquid tags are a developer preview, not a GA feature, and no GA date has been published.
- 01Liquid gets native composition — in developer preview.New {% block %} and {% partial %} tags let page structure live directly in a Liquid template instead of splitting across JSON templates and section schema. Explicitly a developer preview; no GA date has been published.
- 02Partials enable server-rendered dynamic regions.{% partial %} defines a named region of server-rendered HTML that JavaScript can refresh without a full page reload — Shopify's stated alternative to moving storefront rendering into a client-side JS framework.
- 03Analytics became a platform apps can build on.The same-day analytics entry — explicitly framed for apps, not a merchant-dashboard redesign — makes the ShopifyQL API a first-class platform layer with three embeddable web components, an Annotations API, and a Metric Targets API.
- 04Metafields plug into both query and event layers.Metafield definitions can be marked analytics-queryable, becoming ShopifyQL dimensions without ETL. Events subscriptions can now be scoped to a specific metafield namespace and key, cutting unnecessary event traffic.
- 05Everything is additive — existing themes keep working.Current sections, theme settings, and JSON templates remain fully supported. The new composition model runs alongside Online Store 2.0 architecture rather than replacing it, so there is no forced migration.
01 — What ShippedThree changelog entries, one day.
All three entries landed on shopify.dev's changelog on July 21, 2026. This is a developer-platform story, not a merchant-facing feature launch — nothing here changes what a shopper sees at checkout. What changes is how theme developers compose storefront pages and how app developers build reporting and automation on Shopify's data. It follows the developer-heavy cadence Shopify set with its Spring '26 developer edition earlier this year.
Liquid blocks & partials
New {% block %} and {% partial %} tags let developers compose theme pages and define refreshable server-rendered regions inside a single Liquid file. Skeleton theme rc-v2.0.0 is the reference for trying it.
Analytics platform
Apps can model, query, embed, and enrich analytics on Shopify without managing their own data infrastructure — ShopifyQL API, three embeddable web components, an Annotations API, and a Metric Targets API.
Metafield triggers
Shopify's Events system gains subscriptions for Order, Collection, InventoryItem, InventoryShipment, and Location resources, plus metafield-change triggers scoped by namespace and key on five resource types.
02 — Liquid CompositionLiquid finally gets a real partial.
Since Online Store 2.0, Shopify's theme architecture has split a page's identity across files: structure in JSON templates and section schema, logic in Liquid, and interactivity in custom JavaScript. The developer preview is the first native Liquid mechanism that lets page composition and dynamic refresh live inside one Liquid file — which is exactly how Shopify frames it: structure developers, and coding agents, can read and edit in one place.
{% block %} — composition
The {% block %} tag renders a reusable theme block directly from a template — you name the block, pass its inputs, and provide body content, similar in shape to the existing {% render %} tag. Instead of registering a section in a JSON template and wiring its schema separately, the composition is written where it's used.
{% partial %} — dynamic regions
The {% partial %} tag defines a named region of server-rendered HTML that JavaScript can refresh without reloading the full page. In the changelog's framing, the two tags together let developers compose pages in Liquid and add dynamic storefront interactions without moving rendering into a client-side JS framework — vendor positioning worth testing against your own build, but a meaningful claim given how many teams have reached for Hydrogen's headless storefront stack mainly to get componentized, refreshable UI.
One thing this is not: checkout logic. Shopify Functions — which replaced legacy Scripts in June 2026 — is server-side checkout, discount, and shipping logic, and it's a separate, already-GA system. The new tags are storefront theme-rendering constructs. They share a developer-platform news cycle, not an architecture.
"[{% partial %}] defines a named region of server-rendered HTML that JavaScript can refresh without reloading the full page."— Shopify developer changelog, July 21, 2026
03 — Before vs AfterPartial refresh: the workarounds this replaces.
To see why theme developers care, look at what "refresh part of the page without a reload" required before this preview. Shopify's changelog only describes the new tag; the comparison below is our own framing of the pre-existing status quo. Rows one and two describe established Shopify theme-development patterns that predate this changelog — they are the workarounds, not something Shopify itself tabulated.
| Approach | Rendering | Extra JS wiring | Structure in one file | OS 2.0 compatible |
|---|---|---|---|---|
| Pre-existing workarounds (status quo before Jul 21, 2026) | ||||
| Section Rendering API + manual fetch | Server renders section; client swaps HTML | Yes — custom fetch + DOM replacement | No — JSON template + section file + JS | Yes |
| App-embed block + custom JS polling | Client-side after initial load | Yes — polling / re-render logic | No — embed config + app JS | Yes |
| New in the Liquid July '26 developer preview | ||||
| Native {% partial %} tag (developer preview) | Server-rendered named region | Minimal — JS triggers refresh of the region | Yes — stated goal of the preview | Yes — runs alongside JSON templates |
Original analysis: rows 1–2 reflect standard pre-existing Shopify theme-development patterns; row 3 is sourced from the July 21, 2026 changelog entry. Two things stand out. First, the win isn't that partial refresh becomes possible — it always was — it's that the structure, the region definition, and the refresh contract collapse into one file a developer or a coding agent can reason about without hopping between a JSON template, a section schema, and a JS bundle. Second, because the preview is additive, the table isn't a migration mandate: the workaround rows keep working indefinitely, and teams can adopt partials page by page as the preview matures.
04 — GuardrailsTheme Check rules and a no-breakage promise.
The preview ships with new Theme Check rules for Liquid-first themes. Per the changelog, the updated rule set catches syntax errors, excessive complexity, oversized files, invalid schema structure, and mismatches between block arguments, schemas, and {% doc %} declarations. One sourcing caveat: the changelog cites a specific rule-set version for these checks, but we could not corroborate that version number against a live repo — the original Shopify/theme-check GitHub repository was archived in 2024 with its changelog topping out at v1.15.0 from 2023, the linter having since moved into different tooling. Treat the version number as vendor-stated and rely on the rule descriptions instead.
The compatibility story is cleaner. Existing themes remain compatible: current sections, theme settings, and JSON templates keep working, with the new composition model running alongside the existing architecture rather than replacing it. To try the tags, Shopify points developers to the skeleton theme release candidate (rc-v2.0.0), reference documentation for both tags, and a community-feedback thread on the Shopify developer forums — the standard shape of a preview that's genuinely soliciting feedback before stabilization.
Classes of Theme Check coverage
Syntax errors, excessive complexity, oversized files, invalid schema structure, and block-argument / schema / doc-declaration mismatches — the stated coverage of the new Liquid-first rules.
Skeleton theme release candidate
Shopify's pointer for trying the new tags today, alongside reference docs for both tags and a developer-forum feedback thread.
Existing themes keep working
Sections, theme settings, and JSON templates remain fully supported. The new model is additive — no forced migration, no deprecation announced.
05 — Analytics for AppsAnalytics becomes a platform apps build on.
The second July 21 entry — "Full-stack capabilities to power app analytics" — is easy to misread, so the framing matters: this is not a redesign of Shopify Analytics, the merchant-facing reporting dashboard merchants already use. It's an API and embedding layer for third-party app developers — building blocks for shipping analytics features inside Shopify without standing up a separate data stack.
The pieces fit together like this. Metafield definitions can be marked analytics-queryable, which makes them dimensions in ShopifyQL alongside native store data — no ETL pipeline or separate schema required. The changelog's own example: a campaign_source metafield on orders becomes groupable and filterable in ShopifyQL, and its published sample query groups total_sales by that app-defined metafield on a daily timeseries. The ShopifyQL API itself is now described as a first-class part of the platform, with schema-level reference docs defining every metric and dimension with its type, description, and working examples. Shopify says that documentation is intended to let AI toolchains generate working queries directly from the public schema docs — vendor-stated aspiration, not an independently benchmarked capability, but a telling design goal.
"Model, query, embed, and enrich analytics on Shopify without managing your own data infrastructure."— Shopify developer changelog, July 21, 2026
Analytics web components
A metric card, a metrics bar, and a date picker ship as embeddable components for the Shopify admin — charts without a separate charting library or custom locale and currency handling.
Annotations API
Apps can create annotations on merchant charts — launch dates, campaign milestones, pricing changes — with attribution to the creating app, putting app events in the merchant's own reporting context.
Metric Targets API
Merchants can set numeric targets on metrics and track progress against them visually inside Shopify Analytics — app-surfaced goals living in the native reporting surface.
For app developers, the pitch is a build-vs-buy shift: much of what previously justified building an ecommerce analytics stack of your own — warehouse, query layer, charting library, currency and locale handling — now has a native path inside Shopify. That won't cover every case; a cross-platform analytics product still needs its own infrastructure. But for the large class of Shopify apps whose reporting UI exists only to visualize Shopify data back to the merchant, the case for bolting on an external data warehouse just got materially weaker. Teams weighing that trade-off is exactly the kind of question our analytics practice works through with clients.
06 — Precision EventsEvents that fire on the exact metafield you care about.
The third entry extends Shopify's Events system — the successor to webhooks — in two directions. First, breadth: apps can now subscribe to events for Order, Collection, InventoryItem, InventoryShipment, and Location resources. Second, precision: metafield-change triggers can be scoped to a specific namespace and key on Product, Order, Customer, Collection, and Location resources.
The scoping model is the interesting part. A subscription with no triggers — or one on a parent resource like product — still receives all metafield-change events for that resource. Adding a specific trigger lets an app react only to the exact metafield it cares about, cutting unnecessary event traffic. Both app-owned $app metafields and standard or custom metafields are supported, with Shopify's existing metafield access-control rules still enforced: an app must already have access to a metafield to subscribe to its changes. Subscriptions declare triggers via the triggers field in shopify.app.toml, and event payloads include a fields_changed array indicating which trigger fired — so apps can skip manual before-and-after diffing to detect what changed. Note the status: this feature remains on an unstable API version during its developer preview, standard Shopify practice before features are pinned to a stable dated API version.
Original analysis, and the connective thread of the day: the analytics platform and the Events change are two halves of one thesis. Analytics-queryable metafields give apps a read path into Shopify's data layer; metafield-scoped triggers give them a precise change-notification path out of it. An app can define a metafield, query it as a ShopifyQL dimension, and react the moment its value changes — query layer plus change feed, with Shopify positioning itself as the data backbone so third-party apps don't need an external warehouse and event bus just to power their own reporting and automation.
07 — ImplicationsWhat this means for theme and app teams.
The right response differs by role. Nothing here demands an immediate migration — the Liquid tags are preview-only and the Events triggers sit on an unstable API version — but each team has a sensible next move.
Prototype, don't migrate
Try the block and partial tags in the skeleton theme rc-v2.0.0 on a non-production theme. Existing sections and JSON templates keep working, so there is no migration pressure — but the single-file composition model is worth learning before it stabilizes.
Rethink the reporting stack
If your app's dashboard only visualizes Shopify data, evaluate ShopifyQL plus the embeddable web components against your current warehouse-and-charting stack. Mark key metafields analytics-queryable and scope Events triggers to cut event noise.
Watch, and model metafields well
No merchant-facing action required — this is developer plumbing. The durable move is disciplined metafield modeling, since the same fields now feed storefront rendering, analytics queries, and event automation.
Re-run the Liquid vs headless math
If the case for going headless was componentized, refreshable UI, native partials narrow that gap for storefront work — vendor positioning worth validating. Hydrogen still owns fully custom React storefronts; Liquid-first just got more capable.
Looking forward: expect the block and partial tags to iterate in public before any stabilization — that's what the skeleton-theme release candidate and the feedback thread signal — and expect the analytics platform to reshape the Shopify app economy faster, because it's usable by apps now and lowers the cost floor for shipping a credible reporting feature. For app businesses that monetize dashboards, that cuts both ways: cheaper to build, and cheaper for a competitor to build. Where pricing and packaging land in that world connects directly to building and shipping a Shopify app under Shopify's newer plan-limit rules. For merchants deciding what any of this means for their own store roadmap, our ecommerce development services cover exactly this kind of platform-shift planning.
08 — ConclusionA platform play dressed as a template feature.
Shopify is turning itself into the data backbone its apps build on.
The Liquid July '26 preview is the headline — Liquid getting real blocks and partials after years of JSON-template indirection is a genuine quality-of-life shift for theme developers, and the explicit nod to coding agents editing everything in one place says a lot about who Shopify now designs its authoring model for.
But the quieter pair of entries may matter more commercially. A first-class ShopifyQL API, embeddable analytics components, and precision metafield triggers together remove much of the reason a Shopify app needs its own data infrastructure. Query layer in, change notifications out — Shopify as the warehouse, the event bus, and the charting library.
The caveats are real: the Liquid tags are a developer preview with no published GA date, and the Events triggers sit on an unstable API version. Prototype now, model your metafields deliberately, and hold production commitments until Shopify pins these surfaces to stable versions. The direction, though, is unambiguous — and teams that learn the composition and analytics primitives during the preview window will be the ones shipping the day they stabilize.