• i only speak liquid
  • Posts
  • "i only speak liquid" #63: Metaobject Update - Theme Settings New Superpower

"i only speak liquid" #63: Metaobject Update - Theme Settings New Superpower

Written by Jude (a Storetasker Expert)

Hey everyone!

This edition brought to you by the talented Jude (member of Storetasker).

Jude is a talented developer based New Zealand with Jude has a passion for headless e-commerce stores, combining fast, modern frontends with Shopify's powerful backend šŸŽļøšŸ’Ø

Heā€™s also a member of the Storetasker network šŸ˜‰

What Iā€™ve been thinking about: Theme Settings New Superpower

In a previous edition I talked about how much I love metaobjects, and now we've got two new powerful tools in the theme development toolkit: metaobject and metaobject_list settings. I've been experimenting with these, and I'm excited about the possibilities they open up. These new settings act as a bridge between a theme's customization options and the structured data from metaobjects, which can now be directly selected from the theme editor.

A practical example for implementing re-usable FAQ content. Let's say we have an FAQ metaobject with a question and answer field. Now you can create a flexible section that uses this:

{% schema %}
{
  "name": "FAQ Block",
  "settings": [
    {
      "type": "text",
      "id": "title",
      "label": "Section Title",
      "default": "Frequently Asked Questions"
    },
    {
      "type": "metaobject_list",
      "id": "faq_entries",
      "label": "FAQ Entries",
      "metaobject_type": "shopify--faq"
    }
  ],
  ...
}
{% endschema %}
<div class="faq-section">
  <h2>{{ section.settings.title }}</h2>
  <div class="faq-container">
    {% for faq in section.settings.faq_entries %}
      <div class="faq-item">
          <div class="faq-question">
            {{ faq.question }}
          </div>
          <div>
            {{ faq.answer }}
          </div>
        </div>
    {% endfor %}
  </div>
</div>

Now merchants can:

  • Create FAQ content once, use it everywhere

  • Maintain consistent answers across all pages

  • Update shipping or return policy answers in one place

  • Easily translate FAQ content for multiple languages

What excites me most is how these settings democratize content management. Instead of building complex custom solutions or requiring merchants to remember specific metafield handles, we can now provide intuitive picker interfaces right in the theme editor.

Some potential use cases I'm thinking about:

  • Size guide content blocks

  • Shipping policy sections

  • Product care instructions

  • Cross-sellable content blocks

  • Promotional banner content

1 app I like:

Hextom: Bulk Product Edit

Iā€™ve found this app super useful when needing to make bulk changes to store data. Iā€™ve used it to set metafields based on product type, update price comparison data using a formula and standardise SKUs among other things. Being able to export the data, manipulate it with a script, and then re-upload it makes these kinds of operations on large product sets really painless, and the built-in backup has saved me on a more than one occasion.

One learning as a freelancer:

Outcomes over output. 

It sounds a bit counter intuitive as a software developer, but very few clients have paid me for code. Itā€™s easy to get caught up in the craft and obsess over elegant solutions and, while that does matter, it's merely a means to an end, not the end itself. What they want are business outcomes.

Start with "Why?"

  • Before writing any code, understand what success looks like for the business

  • Ask about specific metrics they want to improve

  • Discuss how they'll measure the impact

Speak Their Language

  • Instead of talking about technical implementations, try to focus on the business impact

  • ā€œImplement fuzzy search and natural language processing to improve resultsā€ vs "Customers will find exactly what they're looking for on their first search"

  • "Implement an AI driven product recommendation engine" vs "Increase average order value as customers find complementary products"

Validate Early and Often

  • Check if your solution is actually solving the business problem

  • Get feedback on outcomes, not just functionality

  • Be willing to pivot if the solution isn't achieving the desired results

When you focus on business outcomes, clients will trust your technical decisions more. They see you as a partner in achieving their goals, not just a coder implementing features. Plus, when you need to advocate for technical improvements, you can frame them in terms of business outcomes. Now when starting new projects, I try to lead with "What business outcome are we trying to achieve?" instead of "What do you want me to build?"