Available for projects & agency overflow · Quick reply, from the person who does the work

Customising a Shopify theme beyond the editor

The Shopify theme editor only shows the settings a theme’s developer chose to expose in each section’s {% schema %} file. Once a request falls outside that scope — conditional layout, section-specific behaviour — it means editing Liquid, JSON or CSS directly, outside the visual editor.

Describe my issue Send a message

How I approach a customisation request

  1. Check whether the setting already exists

    Before writing any code, I check whether what’s wanted is already reachable in the editor on a recent Online Store 2.0 theme — a lot of requests turn out to be an existing setting nobody found.

  2. Work out what’s actually blocking it

    If nothing is exposed, I check whether the logic is achievable in plain Liquid (conditional display, section structure, content based on a metafield) or whether it depends on data Liquid can’t reach on its own.

  3. Edit the theme locally

    I work with the Shopify CLI locally or through the theme’s GitHub integration, not the online editor, to keep a change history and test before publishing.

  4. Separate a theme edit from a mini-app

    If the request depends on data Liquid can’t see — a customer’s order history, an external calculation — I say so before quoting: that’s no longer a theme edit, it’s an app calling the Admin API.

  5. Test, then publish

    I test on a duplicated theme, never the live one, then publish once the result is validated.

What I hear regularly

  • I can’t find any setting in the editor to do what I want
  • The theme keeps showing the same thing no matter what I change in the settings
  • My previous developer edited the theme directly and I don’t know what’s safe to touch now
  • I want a section to display differently depending on which customer is logged in
  • The agency that built my theme says it’s “not possible”, without explaining why

Why the editor stops where it stops

An Online Store 2.0 Shopify theme is built from Liquid templates, JSON templates describing the sections and blocks of a page, and a {% schema %} file per section that declares which settings appear in the editor. Anything not declared there stays invisible in the customisation panel, even if the underlying logic exists in the theme’s code.

Liquid runs in a sandboxed environment: no direct database access, no arbitrary server-side code execution. That’s exactly why some requests that sound simple — “show different content based on a customer’s order history” — aren’t a theme edit at all: they need a small app calling Shopify’s Admin API and feeding the result back to the page.

Before quoting anything, I work out which side a request falls on: a self-contained Liquid, section-JSON or CSS/JS change limited to the theme; or a job that needs an app or a Shopify Function, which changes the tooling and the scope entirely.

Worth reading next

Describe your need in one minute

A few targeted questions so I can reply with an estimate rather than another questionnaire.

besoin
etat
plan (facultatif)
theme (facultatif)
Please provide an email or a phone number so I can get back to you.

Please provide an email or a phone number so I can get back to you.

Frequently asked questions

Why can’t I find a setting for what I want to do in the editor?
Because the editor only shows what the theme’s developer defined in each section’s schema. If the option wasn’t planned when the theme was built, it appears nowhere in the editor, even if the result is technically possible in Liquid.
Is editing the theme directly risky?
Not if it’s done properly: I work on a copy of the theme or through the Shopify CLI locally, never on the published theme, and I test before switching it live.
How do I know if my request is a simple theme edit or a bigger project?
If everything that needs to be shown already exists in Shopify (product, collection, logged-in customer, metafield), it’s Liquid. If it depends on an external calculation or data Shopify doesn’t store natively, it needs an app calling the API.
Can you work on any Shopify theme?
On a standard Online Store 2.0 theme, yes. On a very old theme, or one heavily modified by several developers over time, I always start with a code audit before quoting anything.