Back to Projects

Shopify Metaobjects Integration

Bringing Shopify Metaobjects into the Plytix PIM so ecommerce teams can create, structure, and sync custom content from a Shopify channel.

Shopify Metaobjects Integration
Role Product Designer
Timeline 4 months
Team 1 designer
1 PM
3 engineers
Stack Figma
FigJam

Project Overview

Shopify Metaobjects is a feature that lets merchants define reusable content structures. We integrated that capability into Plytix so users could create and manage metaobjects from a Shopify channel inside the PIM, then push them to their store.

The project sat at the intersection of customer demand, a dense information model, and a hard product decision: whether to treat metaobjects as channel configuration or as a broader content model for the whole platform.


Challenge

Customers had been asking to manage their Shopify metaobjects inside Plytix. About 63% of Shopify users on the platform were requesting the feature. That demand made a strong case for continuing the Shopify integration but it also raised a design problem that went beyond “add another tab.”

Shopify metaobjects introduce a set of related entities:

Translating that model into Plytix meant understanding how every piece related to the others and what purpose metaobjects served in a merchant’s day-to-day work.

There was a deeper tension as well. In Plytix, product content is edited outside channels. A channel is an output: you configure how data is formatted and which settings apply when it ships. Metaobjects break that mental model and they become content managed from inside a channel. Shopify leans on metaobjects because its own editing tools are more limited; Plytix already offered richer product editing, so bringing metaobjects in unchanged risked feeling out of place.

The core design problem was:

How might we let Shopify users manage metaobjects from the PIM in a way that respects Shopify’s model, fits the channel experience, and stays honest about how Plytix organizes content?


The Solution

Users manage metaobjects from a dedicated Metaobjects tab on a Shopify channel. From there they can create metaobjects, define their fields, work with entries, and sync everything as part of channel processing without leaving the channel context.

What users can do

Metaobjects tab listing name, key, field count, and entry count for each metaobject in a Shopify channel
Metaobjects list inside the Shopify channel
New metaobject side panel with name, key, and description fields over the Metaobjects tab empty state
Creating a new metaobject
Fields side panel for Feature Spotlights showing Platform name and Storage field definitions
Defining fields for a selected metaobject

The model stays familiar for Shopify users, a metaobject holds fields (structure) and entries (instances), while the interaction patterns (tabs, tables, side panels) match how people already configure channels in Plytix.


Approach

1. Frame the problem with customer signal

Customer feedback and the 63% request rate made prioritization straightforward. We treated metaobjects as a continuation of the Shopify integration.

Success looked like:

2. Understanding the model

The hardest part of the project was mapping the information architecture. Metaobjects were new entities for us, and each one depended on other new entities and on ones we already had.

We sketched several schemas to clarify:

Entity diagram showing Shopify Channel leading to Metaobject, which branches into Fields and Entries
Entity model - fields define structure; entries are content instances
User workflow from Shopify Channel through creating a metaobject, defining fields, adding an entry, and syncing to the Shopify store
User workflow - create, define fields, add entry, process channel

That exploration also surfaced something important: in Shopify, metaobjects are one of the main ways to manage structured content. Plytix had nothing equivalent. Product editing lived outside channels, while this feature managed content from a channel against the PIM’s usual workflow.

3. Exploring a broader platform idea

That insight led me to propose something more ambitious than a channel-only feature.

Instead of locking metaobjects to Shopify, we could introduce a similar construct as a general attribute type managed outside channels, reusable across products, and available to every customer, not only Shopify users. We would keep a comparable entity relationship to Shopify’s model, while giving the rest of the platform a new way to structure content.

I drafted several flows and schemas for that direction, reviewed them with the PM and stakeholders, and argued for it as the more interesting mid-to-long-term bet.

The idea was well received and then declined. Shipping it would have meant a larger platform initiative, outside our team’s scope and goals, and would have needed capacity from other teams.

The right long-term idea is not always the right project to ship.
We documented the proposal so it could resurface when the platform was ready for it.

With the broader option off the table, the decision was clear: deliver metaobjects inside the Shopify channel, by mirroring Shopify’s structure and adapting it to Plytix’s channel UI and user flow.

4. Test scope with stakeholders

We compared two directions:

Choosing the channel path was a deliberate trade-off: ship value for Shopify customers now, keep the platform proposal for later.

5. Wireframes & technical constraints

We sketched basic flows and wireframes to explore how metaobject content could live inside the current channel layout.

We then reviewed those explorations with engineering to surface technical limits early (sync keys, field types, processing behavior) so the final design stayed buildable.

Low-fidelity wireframe of the Metaobjects tab with a table showing Name, Key, Fields, and Entries columns
Wireframe - Metaobjects list tab inside the channel
Low-fidelity wireframe of the fields side panel with Create field actions and field cards
Wireframe - Fields panel for a selected metaobject

Impact & Results


Learnings