TL;DR — Three unrelated Shopify pieces from late 2024 — Flow workflows, the Hydrogen vs Liquid decision, and a from-scratch subscription app — keep coming up in 2026 client conversations. Pulling them into one roundup because the underlying lessons still hold.
The theme
These three posts were written weeks apart in late 2024 and they do not share a topic. What they share is that I still quote each one on calls. When a Shopify Plus merchant asks "what should we automate first," I send the Flow piece. When a brand asks "should we go headless," I send the Hydrogen/Liquid framework. When someone asks whether to buy Recharge or build, I send the subscription post. The common thread is that every one of them is a decision about where Shopify's native platform stops carrying you and where your team has to start.
The 2026 tooling is better — Flow has more triggers, Hydrogen is on a newer Remix, and the Subscriptions API gained bulk operations — but the decision framework is the same. Pick the boring native option until a specific, measurable requirement forces you off it. That is the whole roundup in one sentence.
1. Shopify Flow Automation: 10 Workflows That Save Hours
Overview
Shopify Flow is the most underused tool on Shopify Plus. It ships free with the plan, runs on Shopify's infrastructure, and can replace entire Zapier seats once you commit to it. The 2024 post walked through ten workflows I had deployed across client stores. The three that moved the needle most were VIP auto-tagging, low-inventory Slack alerts, and fraud flagging on first-time high-value orders.
VIP tagging runs on the order_paid trigger: if the customer's lifetime spend crosses $500, Flow adds a VIP tag and fires a notification into the marketing Slack channel. That tag then drives a Klaviyo segment, so the retention team does not need a nightly CSV export. Inventory alerts run on inventory_quantity_changed and hit a #ops channel the moment a SKU drops under 10 units. Fraud flagging combines Shopify's risk score with a first-time-customer check and a $1,000 order-total threshold, then tags the order for manual review before it ships.
Technical
Flow's model is simple: trigger, condition, action. The sharp edges are in the details. Tags are the coordination layer between Flow, apps, and themes, so pick a convention early and document it — vip, low-stock, review-required — because once three apps are reading the same tag namespace you cannot rename anything without breaking a downstream integration. Always build new flows against a development store first; a misconfigured trigger on a live store can tag thousands of customers in minutes and there is no undo button.
The integrations worth knowing are Klaviyo for email segmentation, Slack for human-in-the-loop alerts, Google Sheets for lightweight reporting, and Gorgias for support ticket routing. Flow speaks to all of them as first-class actions. Check the Flow run history weekly — failed runs accumulate silently and the only visible symptom is "the automation stopped working" a month later when someone finally notices.
Takeaway
On a Plus store, Flow is the lowest-effort way to delete ten hours of weekly manual work. Pick the three most repetitive tasks your ops team does by hand, rebuild them as flows on a dev store this week, and ship them behind tags so you can unwind anything that misfires. Moving clients off Zapier-for-Shopify onto native Flow has consistently paid for itself within the first month.
2. Shopify Hydrogen vs Liquid: Choosing the Right Approach
Overview
The most common question I got in late 2024 was whether to go headless with Hydrogen or stay on a Liquid theme. Merchants had read the Hydrogen launch posts, seen the sub-second demos, and assumed headless was the grown-up choice. It is not. Liquid and Hydrogen solve different problems, and the right answer almost always falls out of budget and timeline before anyone has to argue about React.
Liquid is Shopify's original templating language. It is mature, documented down to every filter, and wired into every part of the admin — checkout extensions, email templates, sections, blocks, metafields. A competent Liquid developer ships a custom Dawn-based theme in three to six weeks. Hydrogen is the React framework for custom storefronts, built on Remix and deployed to Oxygen at the edge. Server-side rendering with streaming gets you sub-second loads and a real component model, at the cost of a full frontend team and a project timeline measured in quarters.
Technical
The decision framework I use with clients has five questions. Budget under $50k: Liquid. Timeline under three months: Liquid. Sub-second page loads as a contractual requirement: Hydrogen. Unique interactions — 3D configurators, AR try-on, complex scroll choreography: Hydrogen. No React engineers on the team and no plan to hire: Liquid, full stop, do not let an agency talk you into a framework your team cannot maintain after launch.
The failure mode I see most often is a brand that picks Hydrogen for the wrong reason — usually "performance" on a catalog small enough that Liquid with a decent image CDN would already clear a 90 Lighthouse score. They spend six months rebuilding, launch slower than they started, and then pay a second agency to fix the custom checkout integration that a native Liquid theme would have gotten for free. The reverse failure — a brand stuck on Liquid that genuinely needs custom 3D product views — is rarer but painful; bolting a Three.js app into a Liquid section works, until it does not.
Takeaway
There is no universally correct answer. Match the stack to the budget, the timeline, and the team you can actually staff for the next two years. If nothing in the five-question list forces you off Liquid, stay on Liquid and spend the saved budget on content, photography, and paid acquisition. Hydrogen is worth the investment, but only when a concrete requirement — not a slide deck — demands it.
3. Building a Custom Shopify Subscription App from Scratch
Overview
Recharge and Bold Subscriptions are fine for most merchants. The post was for the other merchants — the ones whose business model does not fit the template: custom billing cadences, bundled contracts, B2B net-30 terms, or margins that cannot absorb another percent of GMV in app fees. For those cases, Shopify's native Subscriptions API is the right foundation, and building directly on it instead of layering on top of a third-party subscription manager is the cheaper long-term choice.
The native API integrates with checkout, customer accounts, and order management without a translation layer. Every subscription action — create, update, pause, cancel, skip — goes through Shopify's own objects, which means you get the admin UI, the customer portal hooks, and the checkout flow for free. The tradeoff is that you own the reliability of the billing loop, and the billing loop is where subscription apps actually earn their keep.
Technical
Four objects matter. Selling Plan Groups are collections like "Subscribe & Save." Selling Plans are the specific options inside a group — "every 30 days, 10% off." Subscription Contracts are the active subscriptions tied to a customer. Billing Attempts are the scheduled renewal charges. Build your data model around those four and you stay aligned with Shopify's admin; invent your own abstractions on top and you will spend the next year reconciling state.
The non-negotiable practices: handle failed payments with real retry logic and a dunning sequence, do not just email the customer once and give up. Make cancellation easy but offer pause and skip first — cancellation saves are the single highest-leverage thing you can do for subscription LTV. Drive state changes through webhooks, never polling; Shopify fires subscription_contracts/update and subscription_billing_attempts/failure events that you need to handle idempotently because Shopify will retry them. Cache selling plans at the edge because they rarely change and you will read them on every product page. Test everything against Shopify's sandbox before it touches a real card — there is no dry-run mode in production.
Takeaway
Build on the native Subscriptions API when your billing logic is unusual enough that a third-party app will cost you more in workarounds than the API will in engineering. For a standard "subscribe and save" flow, pay Recharge and move on. For anything bespoke — bundles, variable pricing, B2B terms — own the four core objects, nail the webhook handling, and treat billing attempts as the critical path they actually are.
Original sources
These three posts predate the feed system and have no external URLs. They live in the archive as-is.
- Shopify Flow Automation: 10 Workflows That Save Hours — originally published 2024-10-15
- Shopify Hydrogen vs Liquid: Choosing the Right Approach — originally published 2024-11-28
- Building a Custom Shopify Subscription App from Scratch — originally published 2024-12-15


