Skip to main content
Cernel connects directly to your Shopify store for two-way product sync. Pull your full product catalog into Cernel, enrich it with AI, and push the results back to Shopify, including standard product fields and custom metafields. For first-time setup instructions, see Connecting Shopify.

How it works

The Shopify integration creates a live connection between your store and Cernel through Shopify’s OAuth flow. Once authorized, Cernel imports your products (names, descriptions, images, variants, and metadata) and keeps the connection open for pushing enriched content back. Unlike one-way integrations like CSV or Product Feed, Shopify supports bidirectional sync: data flows from Shopify into Cernel and from Cernel back to Shopify.

Why you would use this

Two-way product sync

Pull products from Shopify and push enriched content back, including descriptions, meta titles, structured attributes, and metafields, without leaving Cernel.

No manual data handling

No CSV exports, no feed URLs. Products sync through a direct API connection that stays active after setup.

Integration overview

After connecting your store, the integration appears in Tools > Integrations with these properties: Click Settings on your Shopify integration to access quick actions:
  • View Integration Details: Open the full configuration panel
  • Integration Enabled: Toggle the integration on or off without removing it
  • Reset Import: Clear imported data and re-sync from Shopify
  • Remove Integration: Disconnect the store entirely

Integration details

The integration detail view shows the full state and configuration of your Shopify connection.

Overview panel

The top section displays:
  • Integration ID: Unique identifier (useful for API access)
  • Status: Enabled or Disabled
  • Languages: Which language(s) this integration covers
  • Created / Last Updated: Timestamps for when the integration was set up and last modified
  • Auto Sync: Whether Cernel automatically re-syncs products from Shopify on a schedule
  • Sync Mode: How updates are applied (see Sync behavior)

Data import

The Data Import section shows the current state of the inbound sync:
  • Sync Status: Idle (no sync running), Syncing (import in progress), or Error
  • Last Sync: When the most recent import ran
  • Last Completion: Status of the most recent completed sync

Property mapping

Property mapping controls how data flows between Shopify fields and Cernel attributes. Open the mapping view from the integration detail panel. The mapping interface displays three columns: Each row shows a connection between a source field, a Cernel attribute, and an optional output target. You can view mappings in Graph mode (visual connections) or List mode.

Adding a mapping

Click + New Mapping to create a new connection. You can:
  • Map a Shopify source field to a Cernel attribute (inbound)
  • Map a Cernel attribute to a Shopify target field (outbound)
  • Map both directions for the same attribute (bidirectional)
Each Cernel attribute takes its value from a single source field: you can’t map two or more Shopify fields into the same Cernel attribute (the mapping is rejected if you try). If you need to combine several Shopify fields into one value, map them to separate attributes and use an AI agent to compose the combined value, or merge them on the Shopify side before syncing.

Removing a mapping

Click the x next to any source or target field to remove that side of the mapping. Removing a mapping does not delete any data already imported or synced.
Use the Search mappings field to quickly find a specific attribute when you have many mappings configured.

Sync behavior

After setup, Cernel keeps your catalog up to date automatically. It continuously checks Shopify for changed products in the background, and updated products typically appear in Cernel within a minute. Only products that changed since the last sync are re-imported, so day-to-day syncs stay fast regardless of catalog size. Archived Shopify products are not imported. Products and variants in every other status (active and draft) are.
Change detection works at the product level. A change made only to a variant, with no change to its parent product, is not picked up on its own. The variant’s changes come through the next time the parent product itself changes in Shopify.
The Sync Mode setting controls how Cernel handles product updates from Shopify:
Full Sync overwrites product data in Cernel with the latest from Shopify. If you’ve made manual edits to imported fields in Cernel, those changes will be replaced on the next sync.

Auto Sync

When Auto Sync is enabled, Cernel periodically re-imports products from Shopify to keep your catalog up to date. When disabled, syncs only happen when you trigger them manually from the integration detail panel.

What data syncs

From Shopify into Cernel

From Cernel back to Shopify

Not yet supported

  • Videos and non-image files are not synced in either direction; media support covers images.
  • Complex metafield types are import-only. Money, measurements, ratings, and references to other products can be imported, but Cernel does not push values back as these Shopify types.
  • Updating only the alt text of an existing Shopify image. Cernel sets alt text on the images it creates, but cannot edit the alt text of an image that already exists in Shopify.
  • Collections, bundles, and sibling products are not managed by Cernel.

Languages

The integration’s languages are taken from your Shopify store when it connects, and its default language is the store’s default language (see Settings > Languages in your Shopify admin). Enriched content flows to the languages configured on the integration: each language pushes as the matching Shopify translation. Each connected store is its own integration with its own languages, so you can run several stores side by side and target an attribute at more than one store.
Create your Cernel organization with the same primary language as your store’s default language. If the two differ, Cernel shows a warning on the integration’s languages, and some behavior (for example media content, and creating new products from the integration alone) won’t work as expected.

Working with product variants

By default, Cernel syncs a Shopify product as a single record using the product’s top-level data. If your catalog uses product variants in Shopify (for example, the same product in multiple sizes or colours), turn on Variants for the integration so Cernel imports each variant as its own variant record under the parent product. You’ll find the Variants control on the Shopify integration detail panel, alongside the other connection-level flags.
Shopify integration detail panel: the Overview row shows Status, Languages, Created, Last Updated, Auto Sync, Sync Mode, and a Variants control with an Enabled badge.
1

Open the integration detail panel

Go to Tools > Integrations and open the Shopify integration you want to update.
2

Click Enable next to Variants

In the overview section, find the Variants label. If variants are not yet enabled, you’ll see an Enable button. Click it.
3

Confirm the change

Cernel asks you to confirm with Enable variants? and the message: “This turns on variant processing for this Shopify integration. Once enabled, it cannot be turned off.” Click Enable variants to confirm.
The Variants label switches to an Enabled badge. Future Shopify syncs bring in variant data, and existing products gain variant records on the next sync.
Enabling variants is a one-way action: once on, it stays on for that integration. If you need to stop processing variants for a store, remove the integration and reconnect it without enabling variants. Plan the change at a moment when a fresh sync won’t interrupt active enrichment work.
Variants only flow through if your Shopify products actually use variants. Products with a single, default variant continue to sync as a single record.

Syncing to Shopify metafields

For structured data that doesn’t map to standard Shopify product fields (like materials, care instructions, or size guides), you can sync Cernel attributes as Shopify metafields. Metafields are custom key-value fields in Shopify. When you map a Cernel attribute to a metafield target, the enriched value is pushed to Shopify under the namespace and key you configure. Your Shopify theme can then render these metafields on product pages.

Cernel creates the metafield definitions for you

You don’t need to pre-create metafield definitions in Shopify before mapping them. When you map a Cernel attribute to a new metafield (using a namespace.key that doesn’t yet exist in Shopify), Cernel creates the metafield definition in your Shopify store automatically, including the correct value type based on your Cernel attribute configuration. If a metafield definition with the same namespace and key already exists in Shopify, Cernel uses the existing definition instead of creating a new one. If the existing definition has a different value type than the Cernel attribute, the mapping is rejected so you can resolve the mismatch (either by renaming the Cernel attribute, choosing a different namespace and key, or updating the existing Shopify metafield to match).
Metafield sync happens as part of the regular push to Shopify. There is no separate sync process for metafields.

Pushing enriched content to Shopify

There is no manual export step. When a value is approved in Review (or applies directly, because the job ran without review), Cernel pushes it to Shopify automatically in the background, typically within a minute. Values that were imported from Shopify are never echoed back; only content that was enriched or edited in Cernel is pushed. The push updates the mapped output fields, both standard product fields and metafields. Changes are live in Shopify immediately after the sync completes. If you clear a value in Cernel so the attribute becomes empty, the push removes the matching metafield from the Shopify product rather than writing a blank value. Shopify does not accept empty metafields. Clearing a value in just one language removes only that language’s value in Shopify; the other languages are left untouched, and mapped values that still have content are unaffected.
Changes pushed to Shopify are live. Always review enriched content before approving a sync to avoid publishing unfinished or incorrect product data.

Frequently asked questions

Yes. Add a separate integration for each store under Tools > Integrations. Each connection is managed independently with its own property mappings and sync settings.
No. Enabling variants on a Shopify integration is a one-way action: the dialog warns you up front. If you need to stop processing variants for that store, remove the integration and reconnect it without enabling variants.
Cernel requests read and write access to your product catalog, including product data, images, and metafields. Cernel does not access customer data, orders, or payment information.
Cernel imports the online store URL only for products that are published to your Online Store sales channel in Shopify. A product that isn’t published there has no storefront link yet, so it imports without a URL and picks one up on the next sync after you publish it. The same applies to the variant online store URL, which is the storefront link with that variant preselected.
Products already imported into Cernel remain in your catalog, but no new syncs run in either direction. Re-enable the integration to resume syncing.
No. Reset Import only clears the imported data in Cernel and re-fetches products from Shopify. Your Shopify store is never modified by a reset.
Open the Settings dropdown for the integration and click Remove Integration. The connection to Shopify is removed and no further syncs run. Your Shopify store is never modified: no data is deleted from Shopify.The removal dialog includes a Delete imported products option that is turned on by default. While it is on, removing the integration also permanently deletes the products that were imported through it from your Cernel catalog.
Turn off “Delete imported products” if you want to keep your catalog in Cernel. Because the option is enabled by default, removing an integration without changing it will permanently delete every product that was imported through that integration. This cannot be undone. If you only want to stop syncing, disable the integration instead of removing it.
On the next push, Cernel removes the corresponding metafield from the Shopify product instead of sending a blank value. Shopify rejects empty metafields with a “Value can’t be blank” error. This keeps your store clean: emptying an attribute in Cernel takes the field off the product in Shopify. Clearing the value in a single language removes only that language’s value in Shopify; the values in your other languages stay in place.
No. When you map a Cernel attribute to a metafield namespace and key that doesn’t yet exist in Shopify, Cernel creates the metafield definition in Shopify for you with the correct value type. You only need to pick the namespace and key; Cernel handles the rest.If a metafield definition with the same namespace and key already exists in your Shopify store, Cernel reuses it. If the existing definition has a different value type, the mapping is rejected so you can resolve the mismatch.
Cernel reads every metafield you map, across all of Shopify’s value types:
  • Common types (text, whole and decimal numbers, true/false, dates, URLs, and money) import directly into the mapped attribute.
  • Measurement types (weight, dimensions, volume, temperature, and the like) import as a numeric value together with its unit, so both are preserved.
  • Multi-value (“list”) metafields import as a list of values, including lists of measurements.
  • Image file references import as images; references to other products import as IDs. Video and other file references are not imported.
  • Any value type Cernel doesn’t model natively imports as plain text, so the data is never dropped.
See What data syncs for the full picture, including what Cernel can push back.
Cernel detects changes at the product level. If you change only a variant in Shopify, without any change to its parent product, the update is not picked up on its own. It comes through the next time the parent product changes. To bring it in sooner, make any edit to the parent product in Shopify, or use Reset Import on the integration to re-import everything.
No. Cernel imports products and variants in every status except archived. If you archive a product that was previously synced, it stops receiving updates and is cleaned up from Cernel by a daily reconciliation, so allow up to 24 hours for it to disappear.
Yes. The integration’s default language is your store’s default language, so create your Cernel organization with the same primary language. If they differ, Cernel shows a warning on the integration’s languages, media content can behave unexpectedly, and new products cannot be created from the integration alone.
Connecting a store never changes your organization’s languages. Each Shopify integration adopts its own languages from its store, but the languages your organization actually works in are set in Settings > Languages and only change there. So a second store can bring in a language your organization hasn’t enabled.Cernel enriches and translates only into languages that are enabled on your organization. Until you enable that language in Settings > Languages, Cernel skips it: no content is generated or pushed to the store in that language. To have Cernel produce and sync content in the new store’s language, enable it there first, then run enrichment. If the unenabled language is also the store’s default, you’ll see the primary-language warning covered above.

What’s next

Cernel Taxonomy

See how Cernel automatically classifies imported Shopify products into categories, ready for targeted enrichment.

AI Agents

Configure agents to generate descriptions, meta content, and structured attributes for your products.