A practical guide to connecting your PIM to Shopify — covering API sync, metafields, field mappings, and the exact steps to go live with Productbay.
Shopify is the world’s most popular e-commerce platform — but it was never designed to be a product information management system. The moment your catalog grows beyond a few hundred SKUs, you hit a wall: no bulk enrichment, no structured attribute management, no supplier import pipeline, no multi-channel distribution logic. You end up copy-pasting data between spreadsheets, supplier portals, and your Shopify admin.
Connecting a PIM to Shopify solves this. Your PIM becomes the single source of truth for all product data. Shopify becomes a publishing endpoint. This guide walks through exactly how the connection works, what data flows between the two systems, and the step-by-step process to go live with Productbay.
Shopify’s product admin is well-designed for simple catalogs. As soon as you scale, you run into four structural gaps:
A PIM closes all four gaps. It sits upstream of Shopify, manages the full data lifecycle, and pushes channel-ready data into your store automatically.
Modern PIM-Shopify integrations use Shopify’s Admin REST API and GraphQL API to read and write product data programmatically. The key concepts to understand:
Shopify supports both REST and GraphQL. Modern integrations — including Productbay — prefer GraphQL for product operations: it’s more efficient, allows precise field selection, and is required for managing MetaObjects and complex metafield structures. REST is still used for some legacy endpoints.
Webhooks allow Shopify to notify your PIM in real time when something changes — a product is updated, a variant goes out of stock, a collection changes. This is the foundation of bidirectional sync: instead of polling the API constantly, the PIM listens for events and reacts only when needed.
Unidirectional sync means data flows in one direction only: from PIM to Shopify. The PIM is the master. Everything you change in Shopify gets overwritten on the next sync. This works well when all product management happens in the PIM.
Bidirectional sync means changes in Shopify also flow back into the PIM. This is useful for inventory levels, prices managed by your merchandising team directly in Shopify, or customer-generated content. Bidirectional sync requires careful conflict resolution rules — if both systems change the same field, which wins?
Real-time sync pushes changes immediately — useful for price changes or inventory updates. Scheduled sync runs on a defined interval (e.g., every hour or nightly) — better for bulk catalog updates where immediate propagation is less critical. Productbay supports both modes per field group.
A well-configured PIM-Shopify integration manages the following data objects:
| Data object | Shopify resource | Notes |
|---|---|---|
| Products | Product | Title, body HTML, vendor, product type, tags, status |
| Variants | ProductVariant | SKU, price, compare-at price, weight, barcode, option values |
| Images | ProductImage | Position, alt text, associated variant |
| Metafields | Metafield | Namespace, key, type, value — on product, variant, or collection level |
| MetaObjects | MetaObject | Structured data types (e.g., size guides, material specs) |
| Collections | Collection | Manual collection membership and smart collection rules |
| Inventory | InventoryLevel | Per-location stock levels (read back into PIM for completeness) |
The following steps apply to a fresh Productbay setup. If you’re migrating an existing catalog, the process is the same — Productbay imports your existing Shopify data first so nothing is lost.
Productbay connects to Shopify via a private app or through the Shopify App Store listing. In your Productbay dashboard, navigate to Channels → Add Channel → Shopify and follow the installation flow. Productbay requests the minimum required API scopes: read/write products, read/write metafields, read inventory.
Shopify’s OAuth flow redirects you to your Shopify admin to approve the connection. Once approved, Productbay receives a permanent access token scoped to your store. No credentials are stored — only the token. For multi-store setups, repeat this step for each store.
Field mappings define how Productbay attributes map to Shopify fields. For example: your PIM attribute short_description maps to Shopify’s body_html. Your attribute material_composition maps to a metafield with namespace custom and key material.
Productbay’s mapping UI shows all available Shopify fields — including all metafield definitions already present in your store — and lets you drag-and-drop PIM attributes onto them. You can set transformation rules: unit conversion, text truncation, conditional logic.
Before the first outbound sync, Productbay offers an import pass: it pulls all existing Shopify products into the PIM, preserving existing data. Once reviewed, trigger the first sync from PIM to Shopify. Productbay shows a diff view — fields that will be created, updated, or left unchanged — before committing.
After the first sync, validate in Shopify admin: spot-check five to ten products across different categories. Confirm metafields are populated, images are in the correct order, and variant options are correct. Productbay’s sync log shows the status of every push operation — including any field-level errors — so you can troubleshoot without guesswork.
Shopify’s native product fields cover the basics. Metafields are where the real power lives — and a PIM is the only practical way to manage them at scale.
What metafields are: structured key-value pairs attached to any Shopify resource (product, variant, collection, customer). Unlike product description, which is a single HTML blob, metafields are typed — they can hold integers, decimals, booleans, JSON, file references, or rich text.
Why metafields matter: Shopify themes and Hydrogen storefronts can render metafields directly in product pages — size guides, technical specifications, sustainability data, compatibility tables. Apps like Shopify Search & Discovery use metafields for faceted filtering. Without metafields, your product pages are generic.
Metafield types supported by Shopify (and manageable via PIM):
single_line_text_field — short labels, codes, identifiersmulti_line_text_field — longer structured textrich_text_field — formatted HTML blocksinteger, decimal — numeric specsboolean — yes/no attributesjson — complex nested attribute objectsfile_reference — linked media assetslist.* variants — multi-value fields (e.g., list of materials)MetaObjects are Shopify’s structured data type — think of them as reusable data schemas. A SizeGuide MetaObject might have fields for chest measurement, waist, and hip — linked to multiple products. A Supplier MetaObject stores name, country of origin, and certifications. PIM systems can create, update, and link MetaObjects via the GraphQL API, making complex structured data manageable at scale.
Most PIM-Shopify integration problems come from a handful of recurring mistakes:
integer field silently fails. Always check your metafield definitions in Shopify admin before configuring mappings.See how Productbay syncs your full product catalog to Shopify — including metafields, images, and variants — in a 30-minute demo.
Get started