Metaobjects: Empowering Merchants with Robust and Flexible Custom Data Models

Metaobjects enable simple and sophisticated merchants to leverage advanced data modeling tools without extensive technical expertise, but they are also the pathway for Shopify and it’s app partners to build new resources in a way that is both sustainable and performant.
Project Overview
As the UX team for Shopify’s Custom Data platform, my team and I aimed to provide merchants with a sophisticated yet user-friendly toolset for data modeling. While Metafields allow merchants to extend existing, standard data models within the Shopify admin (like Products, Customers, Pages, etc.), we designed Metaobjects to enable merchants to create and leverage fully integrated, custom data models.
Project Details
  • Timeline: June 2022 through February 2023
  • My Role: UX Manager
  • Related Topics: Content Management, Data Modeling, Product Launch
  • Estimated Reading Time: 11 minutes
Letting Merchants Tell Their Story, Their Way
Project Context

Project Background

While Shopify has always sought to provide a robust platform for merchants to build storefronts that reflect the nuances of their unique business, merchants need to model custom data and create bespoke content experiences beyond Shopify’s standard offerings. Data for merchandising, operations, branding, marketing, and many other merchant needs can’t always work within the framework of Shopify’s core product—sometimes due to the need for external integrations, and other times due to the sheer complexity or idiosyncrasies of a merchant’s business.

In the past, merchants had to rely on costly, time-consuming, and complex third-party data modeling and content management tools, which required additional maintenance, technology build-out, and expensive subscriptions. Moreover, these tools were not fully integrated with the rest of the Shopify platform, creating friction in the user experience.

With the earlier introduction of Metafields, merchants can extend the data attached to Shopify’s core resources (Products, Collections, Customers, etc.) with key-value pairs of customizable data types. The role of Metaobjects is to serve as entirely new custom resources where the existing core ones won’t suffice.

By introducing Metaobjects as part of the Custom Data platform, we aimed to eliminate the need for third-party tools and enable merchants to build custom data models tailored to their unique business requirements. By doing so, we empower them to push the limits of their creativity and address bespoke needs while keeping everything fully integrated within the Shopify ecosystem, streamlining both the user experience and overall efficiency.

My team was responsible for launching this robust new data primitive and ensuring it could support the vast use cases that first-party teams (including our own) need to build on top of it. So, I rounded up my team and our data partners to begin a user research effort to identify, understand, and prioritize these use cases.

User Research Methods

We conducted quantitative research, segmented feature surveys, and individual merchant interviews to develop an understanding of the underlying use cases.

Quantitative Research: In partnership with our data team, we analyzed how merchants use 3rd-party data modeling tools and solutions from Shopify’s app store to extend their data modeling. We found that while many merchants used these resources to build custom content for use in their customer-facing storefronts, many merchants had more bespoke and complex purposes than we could hope to catalog, much less hope to solve. Merchants can be scrappy and creative beyond accounting. The clear insight was that we needed to build something flexible enough for virtually any use case—many we could never imagine ourselves.

Segmented Feature Surveys: With so many use cases we could try and account for, we needed to gather the most common and important ones from our merchant base. We also needed to establish what mental models merchants had built around our core resources and the metafields that augmented them. I worked with my Product Lead counterpart to craft a survey for our merchants to gather this information, and we were lucky to get a great response rate. We could group the use cases thematically and then prioritize them.

Individual Merchant Interviews: Drawing from our survey results, we approached merchants who were finding success with their use of 3rd-party solutions to understand their intent, as well as some of the pain points and challenges that they were still encountering by having to resort to solutions built outside the native Shopify toolset. When you manage a platform, sometimes you must concede that others are solving your user’s problems well enough that leaving them to it is best. However, we found such significant room for improvement that we knew we could serve our merchants all the better by undertaking to build a more comprehensive data modeling toolset ourselves.

User Tasks

Broadly, the main tasks that merchants attempting data modeling engage in are simple and abstract. This dichotomy left us with a two-fold problem:

  • Teaching simpler merchants how to use a sophisticated toolset without passing the conceptual abstraction on to them.
  • Enabling more sophisticated merchants to have the customizability that they require.

We broke down the necessary user tasks simply to accommodate the needs of both merchant types:

Creating custom data models: By allowing merchants to build custom data models like size charts, materials, or wholesaler profiles, we enable them to manage back-office and customer-facing information more effectively. This feature allows merchants to tailor their data structures to their unique business requirements.

Building entries within custom models: Merchants can create entries within these models for either one-off usage or global reference across multiple instances. This versatility ensures merchants can efficiently manage their data without duplication or redundancy of data, streamlining their data management processes.

Referencing Metaobject models: To enable a more dynamic and interconnected data structure, merchants should have the ability to reference one Metaobject model from other data models–including standard ones like Products and Customers that come out-of-the-box with Shopify and custom models created by the merchant or apps they have installed. This capability allows for creating complex relationships between models, enhancing the overall data management experience.

Integrating Storefront content: Metaobjects allow merchants to seamlessly incorporate entries designated as Storefront “content” within their online storefronts, including elements like product highlights, creator/designer profiles, or site-wide promotions, enhancing the overall shopping experience and enabling merchants to showcase their unique selling points effectively.

Not a Product,
but a Platform
Understanding the Approach

Guiding Principles

The Custom Data platform grew out of a need to provide a scalable Content Management solution but with a desire to make it more integrated with the rest of Shopify’s offerings than any 3rd party solution would be able to. As we started building, it became evident that these same data primitives and configuration layers were necessary for teams across the company to serve a variety of audiences and use cases.

As such, our guiding principles were to build a data extensibility platform that was both highly configurable and product agnostic.

Shopify's Translation app is able to seamlessly pull in Metaobject entries.

Highly Configurable

We aimed to create a platform that offered a high degree of customization and configuration, empowering users to tailor their data models and content management processes to their unique needs, which includes robust access controls and deep integration with Shopify’s Function and Flow products—allowing merchants to create complex data structures, relationships, and dependencies without being limited by rigid templates.

Building a Metaobject's structure from a menu of component fields

Product Agnostic

We had to design the platform to seamlessly integrate various Shopify products and features, which involved creating a universal data structure and system that could be easily adapted to suit the diverse needs of Shopify teams, merchants, and partners.

Built with Purpose
Primary User Flows

Creating and Editing Metaobject Models

Defining a Metaobject model allows merchants to build from data components, configure how their users can access that model, and manage relationships with referencing models in a single, task-oriented UI surface.

Creating and Editing Metaobject Entries

Metaobject entries can be created and edited within the local context of any other data model that references them (ex., a Product Detail page). Contextual creation or editing is immediate and gives merchants a better signal of the information surrounding a referenced entry.

The global entry index allows merchants to perform bulk actions, build custom views, search, sort, and filter entries no matter the scale.

One of the significant challenges came with enabling a user flow for managing these entries globally, mainly with establishing the best information architecture (IA) for a global entry index. With “Content” as the most common single use case at the outset, we determined to nest these entries under a dedicated Content section within the Admin.

The global index enables quickly navigating between entries and performing bulk actions with them. However, it became apparent during our design explorations that merchants would soon run into trouble navigating any medium or large body of disparate entries. So, to quickly navigate through large sets of entries, they can be filtered and searched, but they are also grouped by which model they are part of and by model owner (which can include merchants, 3rd party apps, and Shopify itself).

Referencing multiple entries from a "Related Products" metaobject within a product page

Finding the proper workflow and IA for a merchant’s non-content entries—most commonly created via API—started with designing a top-notch experience and drafting lots of documentation for calling the API within a command line interface. To deliver merchant impact as quickly as possible, my Product and Engineering leads and I decided to focus on this primary use case for launch.

It was no small effort to build cross-disciplinary alignment about what constituted an MVP, and in the end, we worked closely with several of our merchant partners to determine the proper scope for launch. Currently, we support non-content entries within the global index, but more sophisticated workflows for global management of data entries remain a goal on the team’s product roadmap.

Selecting a Metaobject to Reference

Referencing Metaobject Models from Other Data Models

Data models referencing other ones can be an oblique concept for merchants without any data modeling experience. Indeed, most basic merchants would struggle to build the suitable mental model required to use references. It took us a fair bit of exploration and feedback from our beta testers, but in the end, we designed references to work so that merchants don’t have to understand them to use them. Now, they are created automatically in content whenever the content models are created, and the connection is established with some back-end magic.

More sophisticated merchants can manage references more directly as they build and update models or entries through surfaces dedicated to viewing and configuring them.

Referencing Metaobjects from within the OSE

While many merchant workflows will favor content management within the Shopify Admin, many more want to drop their entries in as content within Shopify’s Online Store Editor (OSE). We designed a highly contextual “content picker” which not only helps users quickly find relevant content for placement within the storefront’s “Theme” (a term for the UI “skin” in use by the store) but also is intelligent enough to map compatible fields that comprise your content model to UI blocks and fields within the theme when you select your content model as a data source.

Using a Metaobject as a Dynamic Source within Shopify's OSE


A Data-Driven Voyage to Merchant Success
Validation, Rollout, and Results

Launching the Custom Data platform and Metaobjects marked a significant milestone in Shopify’s mission to empower merchants with advanced data modeling tools catering to varying expertise levels. We rolled out in phases, with a beta testing period and subsequent full-scale public release.

Beta Testing

The beta testing phase allowed a select group of merchants to access and provide feedback on the Custom Data platform and Metaobjects. This invaluable input helped us identify areas for improvement, refine the user experience, and validate the platform’s effectiveness in addressing critical merchant tasks. During this phase, we actively engaged with beta testers through Slack discussions, workshops, surveys, and one-on-one interviews to gather insights and ensure that the platform met their needs and expectations.

Public Release

The Custom Data platform and Metaobjects were made available to all Shopify merchants after the successful beta testing phase. With the release, my team and I partnered with Engineering to provide comprehensive documentation, tutorial videos, and contextual help content to support merchants in navigating and utilizing the platform effectively.

Post-launch Support and Enhancements

After the public release, we continued to monitor usage patterns, gather user feedback, and track key performance indicators (KPIs) to measure the platform’s impact on merchant success. This ongoing analysis allowed us to identify areas for further optimization and enhancement. We have since rolled out several updates, addressing user feedback and introducing new features to improve the overall experience and functionality of the platform, including:

  • Allowing the creation of mixed-type metaobject references
  • Enabling Metaobjects to be used with translator apps
  • Updating verbiage, iconography, and information architecture in the metaobject type selector for clarity
  • Enabling the creation of content entries (with automated reference creation) within the context of the referencing resource (like Products, Customers, or Locations)
Smash & Tess uses metaobjects for product FAQs, collection banners, collaborator profiles, quizzes, and more.

Results

The Custom Data platform and Metaobjects have garnered positive feedback from merchants, who appreciate the platform’s streamlined workflows and flexibility. Adoption rates have been steadily growing, with over 18% of merchants (as of April 2023) leveraging the platform’s advanced data modeling capabilities to enrich their online stores.

Based on current trends, we are on track for nearly 20% of Advanced and Plus plan merchants to be using Metaobjects in their storefronts by the end of 2023 and for 5% of Basic Shopify plan merchants to be using them in their storefronts by the end of 2023

Merchants have reported a range of benefits, including:

  • Faster content creation and integration: Merchants can define, build, and manage Metaobjects more efficiently, leading to quicker implementation of custom data attributes within their online stores.
  • Improved content quality and consistency: The platform’s guided workflows and customization options enable merchants to create high-quality, consistent data structures that enhance their store’s customer experience.
  • Enhanced store performance: By harnessing the power of Metaobjects, merchants have experienced improved search engine performance, better product filtering capabilities, and more robust data-driven decision-making.

Overall, the Custom Data platform and Metaobjects have proven to be a valuable addition to Shopify’s suite of tools, empowering merchants to take full advantage of advanced data modeling techniques without sacrificing simplicity or accessibility. The platform’s success is a testament to the importance of balancing sophistication with ease of use, ensuring that all merchants can harness the power of Custom Data to drive their businesses forward.

Related Links