Chat on WhatsApp
Shopify theme & Liquid

Your theme is throwing a Liquid error

undefined method, an Unknown tag syntax error, a section that won’t save its schema JSON, or a Could not find asset — we read the stack, find the failing line, and fix it on a duplicate theme so your live store is never at risk.

  • Emergency triage starts in under 4 hours
  • We never edit your published theme
  • Fixed price from $99 — no hourly surprises
One-click rollback safety net Stores in 8+ countries

A Shopify spoke of our emergency e-commerce bug fixing service · see the Shopify hub, plus checkout and app-conflict fixes.

  • < 4h Emergency triage

    Theme white-screening or a section gone from the live store? We start triage within four hours and roll the theme back fast.

  • 24–48h Standard fix window

    One well-defined Liquid error reproduced, root-caused, fixed and verified on a duplicate theme inside one to two business days.

  • 100% No-edit-live policy

    We never touch your published theme. Every Liquid edit lands on a duplicate, then publishes only after you approve a preview.

  • JSON Schema validated

    We validate every {% schema %} and JSON template before publish, so the theme editor never breaks on a trailing comma again.

Common bugs we fix

The Liquid errors we see most

Real symptoms with the error strings you are probably staring at right now. If yours is not here, report it anyway — these are just the usual suspects.

  • Liquid error: undefined method

    A template calls a property on nil — e.g. undefined method ‘price’ for nil after a removed object or metafield. We trace the failing {{ product.price }} and guard it with a default filter or an if check.

  • Unknown tag syntax error

    Liquid syntax error: Unknown tag ‘endif’ or a mismatched {% if %} / {% endif %}, a stray {% else %}, or {% endfor %} on the wrong loop. We fix the block nesting so the parser is happy.

  • Invalid {% schema %} JSON

    The theme editor throws Invalid JSON in tag ‘schema’ — usually a trailing comma, a duplicate id, or smart quotes pasted in. Settings stop saving. We repair and validate the section {% schema %} block.

  • JSON template parse error

    An Online Store 2.0 JSON template (templates/product.json) fails to render after a hand edit — a bad section key, an orphaned block reference, or invalid JSON. We rebuild the template tree so sections load in order again.

  • Broken {% for %} loop / pagination

    A collection loop renders nothing, duplicates items, or ignores {% paginate %}. Caused by looping the wrong object, a missing {% endpaginate %}, or a limit clash. We fix the loop and the paginate by count.

  • Could not find asset

    Liquid error (sections/main-product line 42): Could not find asset snippets/price.liquid — a {% render %} points at a snippet that was renamed or never uploaded. We restore the snippet or repoint the include.

How it works

Report to fixed in five steps

Everything happens on a duplicate of your theme. You approve a preview before anything goes live.

  1. 01

    Report

    Send the symptom, the exact error string (e.g. Liquid error: undefined method), the affected template and a collaborator invite. We confirm scope and an ETA.

    Within 1h
  2. 02

    Reproduce

    We duplicate your live theme and reproduce the error on the copy — never on the published theme. The theme editor preview and browser console pin down the failing tag or filter.

    Same day
  3. 03

    Root-cause

    We isolate the real cause — a nil object, a malformed {% schema %}, a renamed snippet, a broken {% for %} loop — not just the symptom, so the fix actually holds.

    Same day
  4. 04

    Fix + test

    We patch the Liquid on the duplicate theme, validate every JSON block, then regression-test PDP, collection, cart and search and send a preview link to approve before anything goes live.

    24–48h
  5. 05

    Publish + verify

    You approve, we publish the duplicate as the live theme and verify on production. The old theme stays in your library for one-click rollback, and you get a short write-up of the fix.

    On approval
Pricing

Fixed prices. No hourly surprises.

Pick the tier that matches your situation. Anything out of scope is quoted upfront before work starts — never billed silently.

  • Quick Fix

    $ 99 USD

    ~4h @ $25/hr · one bug, 24–48h

    Best for: One well-defined Liquid bug — an undefined method, an Unknown tag syntax error, or a single broken {% for %} loop.

    • One clearly-defined Liquid / template bug
    • Reproduced & fixed on a duplicate theme
    • Schema / JSON template validated before publish
    • Regression test on PDP, collection & cart
    • Preview link for your sign-off before publish
    • Short written summary of the root cause
    Fix one bug
  • Emergency / Retainer

    Custom

    24/7 SLA · on-call cover

    Best for: Theme white-screening, a section missing on the live store, or you want standing on-call cover during a launch or peak season.

    • Emergency triage starts in under 4 hours
    • Immediate theme rollback to stop the bleeding
    • 24/7 on-call across your store timezone
    • Monthly retainer hours for ongoing Liquid work
    • Priority queue ahead of standard tickets
    • $2,499 stabilization sprint (~100h @ $25/hr) for themes in a bad state
    Get emergency cover

Prices in USD at our canonical $25/hr rate. Quotes available in GBP / EUR / AUD / INR — just ask in the bug report.

Report your bug

Paste the error string and the template it breaks on

Two minutes to file. We reply with scope, an ETA and a fixed price — fast.

We will get back to you shortly.

What clients say

Stores we’ve already rescued

Five-star average across Upwork, Clutch and direct referrals. Real merchants, real Liquid fixes.

Great experience working with kishan, He assist me with email task and provided awesome and great work.

Great experience working with kishan, He assist me with email task and provided awesome and great work. I highly recommend him for development and magento 2

AS

Ajay Singh

Kishan is surely the best freelancer I worked with on upwork.

Kishan is surely the best freelancer I worked with on upwork. Always there to use his knowledge to help and sort any issue you may have in a pleasant and professionnal

NC

Nicolas Chevillot

Ecofone

I hired Kishan for a small project.

I hired Kishan for a small project. He did it very well and fast. So, I hired him to do more things and he did it on time! Kishan is really an excellent developer. Very committed, cleaver and very nice

FH

Fadi Hamdan

Kishan was a great freelancer, 100% would recommend.

Kishan was a great freelancer, 100% would recommend. Great, friendly personality and was always willing to put the time and effort to make sure the job was 100% correct. Always cared for the business, if any changes had to be made he would notify me of downtime, run tests on a...

LM

Lewis Martindale

Photomart

Kishan is surely the best freelancer I worked with on upwork.

Kishan is surely the best freelancer I worked with on upwork. Always there to use his knowledge to help and sort any issue you may have in a pleasant and professionnal

NC

Nicolas Chevillot

CEO, Ecofone

Really knowledgable Magento 2 developer, helpful from the outset and would use again.

Really knowledgable Magento 2 developer, helpful from the outset and would use

JM

James Morgan

Inkberry Creative

Fixing Shopify themes in

  • United States
  • United Kingdom
  • Canada
  • Australia
  • Germany
  • France
  • Netherlands
  • India
FAQ

Honest answers to the Liquid bug questions everyone asks

How fast can you fix a Shopify Liquid error?

A single, well-defined Liquid bug — a Liquid error: undefined method, an Unknown tag syntax error, or a broken {% for %} loop — is typically reproduced, fixed and verified within 24–48 hours. If your theme is white-screening or a section has vanished from the live store, emergency triage starts in under 4 hours and we can roll the theme back immediately. Every fix is built on a duplicate theme and goes live only after you approve a preview.

How much does it cost to fix a Shopify Liquid bug?

Fixed prices at our canonical $25/hr rate, no hourly surprises:

  • Quick Fix — $99 (~4h): one well-defined Liquid bug, 24–48h.
  • Bug-Fix Sprint — $499 (~20h): a batch of bugs or one deep root-cause plus regression tests.
  • Emergency / Retainer — custom: 24/7 on-call, immediate rollback, plus an optional $2,499 stabilization sprint (~100h) for themes in a bad state.

You get the scope and the price before any work starts.

What does “Liquid error: undefined method” mean?

It means a template is calling a property or filter on an object that is nil — for example undefined method ‘price’ for nil when a product, variant, or metafield no longer exists. The usual causes are a removed object, a renamed metafield, or a {{ ... }} that runs before the data is loaded. We trace the exact line, then guard the value with a default filter or an {% if %} check so the page renders cleanly instead of throwing.

Why am I getting “Liquid syntax error: Unknown tag”?

That error — e.g. Liquid syntax error: Unknown tag ‘endif’ — almost always means the block tags do not match up. A common cause is a stray {% endif %} with no opening {% if %}, an {% endfor %} closing the wrong loop, or a typo in the tag name. We walk the template, fix the nesting so every open tag has a matching close, and re-validate the whole file so the parser stops complaining.

My section won’t save — “Invalid JSON in tag schema”. Can you fix it?

Yes. The {% schema %} block at the bottom of a section must be strict JSON. A trailing comma, a duplicate setting id, a smart quote pasted from a doc, or a missing bracket all trigger Invalid JSON in tag ‘schema’ and the theme editor refuses to save. We repair the JSON, de-duplicate setting IDs, and validate the whole block so the section saves and the editor controls work again.

A JSON template (product.json) broke after I edited it. Can you rebuild it?

Yes. Online Store 2.0 templates such as templates/product.json are JSON files that list which sections and blocks render. A hand edit can leave a bad section key, an orphaned block reference, or invalid JSON, and the page then fails to render. We rebuild the template tree — valid JSON, every section key matching a real section file, blocks in the right order — so the page loads as expected again.

My collection loop renders nothing or duplicates products. What’s wrong?

Usually the {% for %} loop is iterating the wrong object, the {% paginate %} block is missing its {% endpaginate %}, or a limit conflicts with the paginate count so items are dropped or repeated. We fix the loop target, the paginate by value, and the pagination markup so the grid shows the right products with working next/previous links.

I see “Could not find asset snippets/...liquid”. How do you fix it?

That error — e.g. Liquid error (sections/main-product line 42): Could not find asset snippets/price.liquid — means a {% render %} or {% include %} points at a snippet file that was renamed, deleted, or never uploaded. We either restore the missing snippet or repoint the include to the correct file name, then check the rest of the theme for other references to the same asset.

My metafield / dynamic source shows blank or throws an error. Can you fix that?

Yes. A connected metafield can render blank, throw Liquid error: undefined, or refuse to bind as a dynamic source in the editor when the namespace.key is wrong, the metafield type does not match how it is used, or the reference {{ product.metafields.namespace.key %}} is malformed. We fix the namespace/key, correct the type handling, and repair the dynamic-source binding so the value shows on the storefront.

Can you fix it without breaking my live store?

Yes — this is the core of how we work. We never edit your published theme. We duplicate it, reproduce and fix the Liquid bug on the copy, regression-test it, and send you a preview link. The duplicate is only published as the live theme after you approve it. Because the old theme stays in your Online Store theme library, rollback is a single click if you ever need it.

What access do you need to fix my theme?

The cleanest option is a Collaborator request (or a staff account) with Themes permission, so we can duplicate your theme and work on the copy. If you would rather not grant access, you can duplicate the theme yourself and share it, or download the theme files and send them over. We confirm exactly what we need when we reply to your bug report — we ask for the minimum scope required.

Is there a guarantee on the fix?

Yes. If the same Liquid bug comes back within 14 days of going live, we fix it again at no charge. Because we root-cause the real issue — the nil object, the malformed {% schema %}, the renamed snippet — rather than patching the symptom, recurrences are rare. For deeper themes, the part of our Shopify bug-fixing service that covers ongoing work is the retainer tier. This page is a spoke of our emergency e-commerce bug fixing service.

Got a Liquid error right now?

Send the error string and your store URL. We’ll triage fast and fix it on a duplicate theme — your live store stays safe.

Report your bug