Skip to content

How to configure Shopify product sync

Once your Shopify store is connected, the next step is to tell the Shopify Connector which products to synchronize and how your Bizzkit PIM data should appear in Shopify. This guide walks through the three parts of that setup — sync rules, field mappings, and activation — so your catalogue flows from Bizzkit PIM to Shopify exactly the way you want.

Before you begin

This guide assumes your Shopify store connection is already in place and validated. If it is not, set it up first. You also need a Bizzkit PIM with the products and attributes you intend to publish.

Everything below is configured per store, and your settings apply only to your own store.

How configuration fits together

Configuration moves your store through three states:

Hold "Ctrl" to enable pan & zoom
stateDiagram-v2
    [*] --> Connected : Shopify credentials saved
    Connected --> Configured : Sync rules + field mappings saved
    Configured --> Active : Synchronization activated
    Active --> Configured : Synchronization deactivated
    Active --> Active : PIM change received → synced to Shopify
State Meaning
Connected Your Shopify credentials are stored and validated.
Configured Sync rules and field mappings are in place — ready to activate.
Active The connector is live, syncing PIM changes to Shopify as they happen.

You can set up your sync rules and field mappings in either order. Activation comes last, and only becomes available once the connection and rules are in place. Activating explicitly means you can set up and review your whole configuration before any products reach your store.

Configure sync rules

Sync rules control which products are eligible to sync, how removals are handled, whether your PIM categories are mirrored as Shopify collections, and which languages are published. They are grouped by subject — Products, Categories, and Languages — and each group is saved on its own, so you can set one up without having the others ready.

Sync activation attribute

The sync activation attribute is an opt-in gate: only products where this attribute is on are synced to Shopify. This keeps you in control of what reaches your store and prevents accidentally publishing your entire catalogue.

  • Choose a single-valued boolean (PBoolean) PIM attribute as the gate (for example, one named "Sync to Shopify"). A product syncs when that attribute is present and set to true.
  • The gate is optional. Leave it unset and every mapped product becomes eligible.
  • When a product that was previously syncing becomes ineligible (the attribute turns false or is removed), the connector applies your configured action on delete to it in Shopify.

Action on delete

The action on delete decides what happens to a product in Shopify when it is deleted, unpublished, or made ineligible in PIM. Choose the level of caution that suits your store:

Action Effect in Shopify Reversible?
Set as draft Product is hidden from the storefront but kept Yes
Archive Product is archived and not visible Yes
Delete Product is permanently removed No

Set as draft is the recommended default. Deleting is irreversible and can break existing orders or links, so use it only when you are sure removed products should disappear entirely.

Categories as collections

Category sync mirrors your PIM product hierarchies as Shopify collections: every category in a chosen hierarchy becomes a collection, and the products placed in that category become its members. It is off to begin with — turn it on, then choose which hierarchies to mirror. Categories outside them are left alone.

A hierarchy is identified by the system name of its root category, so you can type a system name directly if the hierarchy you want is not among the suggestions. Each chosen hierarchy then has two settings of its own:

  • Manage memberships — on by default. The connector puts each synced product in the collections mirrored from this hierarchy. Turn it off to have the collections mirrored but decide yourself what goes in them, using Shopify's own collection rules.
  • Mirror the root — off by default. PIM lets you place products at the root level of a hierarchy as well as in its categories. While this is off the root is not mirrored, and a product placed there is in no collection at all. Turn it on and the root becomes a collection like any other, holding the products placed directly at the root.

Where a product ends up. A product placed in Pants can either be in Pants only, or in Pants and every category above it — Clothing, Apparel, and so on. Including the categories above is the default, because it is what shoppers expect from category navigation. The choice applies to every mirrored hierarchy, and a mirrored root is never included this way — only products placed at the root reach it.

The connector owns membership

Where Manage memberships is on, Bizzkit PIM states the whole truth on every sync: the products the connector sends are that collection's complete membership, so a product you add to a mirrored collection by hand in Shopify is removed again the next time it syncs. Shopify collection rules are untouched and keep adding products alongside the synced ones — that is how you curate a mirrored collection without working against the sync.

When a category is removed in PIM. Choose what happens to the collection mirrored from it:

Action Effect in Shopify Reversible?
Leave the collection in place Collection is kept, and the connector stops maintaining it Yes
Delete the collection Collection is permanently removed No

Leaving the collection in place is the default, for the same reason as the product action on delete.

Turning category sync off undoes nothing. Collections mirrored earlier stay in Shopify along with the products in them, and your hierarchy choices are kept for when you turn it back on. In the same way, turning it on does not sweep through your existing catalogue: collections appear, and memberships change, as the categories and products behind them change in PIM.

Collection titles and descriptions come from your field mappings — see Map PIM data to Shopify below — and a collection title is published in every language you have set up under language mappings, just as a product title is.

Language mappings

Language mappings connect a PIM segmentation to a Shopify locale, which is how the connector publishes multilingual content across your Shopify Markets:

  • Each mapping pairs a PIM segmentation with a Shopify locale (for example, Danish or English).
  • Exactly one mapping is your primary locale. The primary locale's values populate the base Shopify fields; the remaining locales are published as Shopify translations.
  • Each Shopify locale can be used in only one mapping, and at least one mapping is required.

Translations are only published for attributes the connector determines to be translatable — see Map PIM data to Shopify below.

Map PIM data to Shopify

Field mappings define how your PIM data appears in Shopify. Each mapping reads one PIM value source and writes it to exactly one Shopify destination. Mappings are managed one at a time, so you can start with the essentials and add more as you go — a product picks up a new mapping the next time it changes in PIM.

Choose what the mapping is for

Every mapping begins with what this mapping is for. That choice decides both where the value is written in Shopify and which PIM values you can read from, so the rest of the form follows from it:

What this mapping is for Writes to Reads from
Products Shopify products PIM products
Variants Shopify variants PIM variant-level products
Collections Shopify collections PIM categories

What a mapping is for is fixed when it is created. To map a different thing, remove the mapping and add a new one.

Choose a source

The source is one of:

  • A PIM attribute field — a specific field within one of your PIM attributes, named by attribute and field system name (for example COLOR.VALUE). The attribute must exist in PIM; the connector verifies it when you save the mapping. A product or variant mapping reads a product attribute, and a collection mapping reads an attribute on the PIM category.
  • A PIM master data field — a built-in property. Which properties are on offer depends on what the mapping is for:
What this mapping is for Master data fields
Products, Variants Unique name, external string id, or external integer id
Collections System name

Master data always holds a single, language-independent value, and each product, variant, or category supplies its own value (master data is never inherited from a parent).

Map to a standard field

Standard fields are Shopify's built-in properties. Each of the three mapping types writes to its own set, so what you can map to depends on what the mapping is for.

When the mapping is for the product:

Shopify field Value type Notes
Title Text Translatable; defaults to the product's PIM unique name when not mapped
Description Text Translatable
Handle Text The product's URL handle
Product type Text
Tags Text (list) Multivalued; syncing replaces all existing tags

When it is for each variant:

Shopify field Value type Notes
Price Number (decimal)
Barcode Text For example, EAN or UPC

When it is for each collection:

Shopify field Value type Notes
Title Text Translatable; defaults to the PIM category's display name when not mapped
Description Text Translatable

Title always has a value

A title is required in Shopify. If you do not map the Title field — or its PIM source is empty — the connector falls back to a title of its own: the product's PIM unique name, or the PIM category's display name for a collection. Nothing is blocked from syncing. Add a Title mapping whenever you want a merchant-friendly name; existing records pick it up the next time they change in PIM.

Note

Some Shopify fields are set for you and are not mapped here:

  • A product's status (active, draft, or archived) is managed automatically — a product is active while it is eligible to sync, and follows your action on delete once it leaves sync.
  • A variant's SKU and its option values come from the product structure in PIM.

Map to a metafield

Metafields hold custom data that has no built-in Shopify field. A metafield is attached to whatever the mapping is for — the product, each variant, or each collection — so its owner follows from that first choice and is not a separate step. For a metafield mapping you provide:

  • Namespace — optional, and defaults to custom. The bizzkit_pim namespace is reserved for the connector and cannot be used.
  • Key — the metafield key.
  • Type — the Shopify metafield type, for example single line text, integer, or a list of integers.

Multiple values and translations

You do not set "multivalued" or "translatable" options yourself — the connector derives them from the source when you save the mapping and shows them on the saved mapping:

  • Multivalued reflects whether the PIM attribute can hold more than one value.
  • Translatable is on only when the PIM field is localizable and the Shopify destination can carry per-language values (the Title and Description standard fields, and any metafield). For translatable mappings, the connector publishes the primary locale on the base field and the other locales from your language mappings as Shopify translations.

Master data sources are always single-valued and language-independent, so both options are off for them.

What gets validated

Each mapping is checked the moment you save it, so mistakes surface immediately rather than as a failed sync later. The connector checks that the value types are compatible, that translations only go to destinations that can hold them, and that the destination is not already in use. A destination includes what the mapping is for, so a product title and a collection title are two different destinations and do not clash.

Value type compatibility. The matrix shows which PIM attribute types can map to which Shopify value types. Standard fields have a fixed value type (see the tables above); for a metafield, the value type is the metafield type you choose. PIM types are grouped into families by their PIM type name.

PIM attribute type Text Number (integer) Number (decimal) True/false Date Date & time
PString, PStringV, PChar ✓ ✗ ✗ ✗ ✗ ✗
PInt16, PInt32, PInt64 ⚠ ✓ ⚠ ✗ ✗ ✗
PDecimal1–PDecimal9 ⚠ ✗ ✓ ✗ ✗ ✗
PBoolean ⚠ ✗ ✗ ✓ ✗ ✗
PDateTime, PDateTimeOffset ⚠ ✗ ✗ ✗ ⚠ ✓
Global-list reference ⚠ ✗ ✗ ✗ ✗ ✗

✓ supported · ⚠ supported, but the value is converted and the mapping is saved with a warning · ✗ not allowed, so the mapping is rejected.

Localizable PIM types (whose type name carries Translated, such as PTranslatedString) share the value type of their non-localizable counterpart and add translation support — see Translations below.

Master data sources follow the same matrix: the unique name, the external string id, and a category's system name behave as text, and the external integer id behaves as an integer.

Multiple values. A destination that holds a list — the Tags standard field and any list metafield type — keeps every value of a multivalued PIM attribute. Mapping a multivalued attribute to a single-value destination is allowed but saved with a warning, since only its primary value is sent and the rest are dropped.

Translations. Only the Title and Description standard fields and metafields can hold translations. A localizable PIM attribute can map to any of these; pointing one at any other standard field is rejected.

To point a PIM attribute at a different Shopify destination, remove the mapping and create a new one — editing a mapping changes only its PIM source, not its destination.

Activate synchronization

With your connection, sync rules, and field mappings in place, activate synchronization. Activation subscribes the connector to PIM change notifications for your store and begins syncing; from this point, product changes in PIM flow to Shopify automatically.

Action Purpose
Activate Start syncing and subscribe to PIM changes
Deactivate Pause syncing; your configuration is kept
Status Check whether syncing is active and when it was last activated

Deactivating pauses synchronization without losing any configuration, which is useful during maintenance or store migrations. Reactivate at any time to resume.

Learn more

  • Shopify Connector — what the connector does and how it fits into your Bizzkit solution.
  • Data types — the full reference for the PIM attribute types you map from.
  • Segmentations — how PIM models translation cultures and other dimensions used by your language mappings.