Nexera's Shopify integration keeps your product data synchronised between your Nexera workspace and one or more Shopify stores. The integration supports bidirectional sync, meaning changes made in either Nexera or Shopify are detected, compared, and reconciled.
The integration is built using the official Shopify App Bridge v4 and Polaris v12 SDK, and communicates with Shopify via the GraphQL Admin API. Authentication uses OAuth 2.0 with session tokens for the embedded app experience.
Key integration features:
Multi-store support: connect as many Shopify stores as your plan allows. Each store has its own field mapping and sync configuration.
Delta sync: only changed products are synchronised, keeping sync times fast even for large catalogues.
Multi-language: map Nexera language versions (NL, DE, EN) to Shopify Markets or the Translate & Adapt app.
Conflict detection: when both sides have changed the same product field, Nexera flags the conflict for manual resolution.
Rollback: every sync creates a snapshot. If something goes wrong, roll back to the previous state with one click.
Real-time progress: WebSocket-powered progress tracking shows you exactly which products are being synced and their status.
Nexera offers two ways to connect a Shopify store: OAuth (recommended) and Access Token (manual). OAuth is the fastest method and requires no technical setup on the Shopify side.
With OAuth, you are redirected to Shopify to authorise the NEXERA PXM app. This takes less than two minutes and requires no configuration in Shopify.
Go to Channels then Shopify: In the Nexera dashboard, navigate to Channels > Shopify. This page shows all connected Shopify stores and their sync status.
Click "Connect Store": A dialog appears with two tabs. Select the "OAuth App" tab.
Enter your store domain: Type your myshopify.com domain (e.g. yourstore.myshopify.com). This must be the myshopify.com subdomain, not a custom domain. Find your domain in Shopify Admin under Settings > Domains.
Click "Connect via OAuth": You are redirected to Shopify where you review the permissions Nexera requests. Click Install to grant access.
Done!: After authorisation, Shopify redirects you back to Nexera. Your store now appears in the Stores list with a "Connected" status badge. You can configure field mapping and run your first sync.
If you want more control over scopes or already have a custom app set up in Shopify, you can use an Admin API Access Token.
Create a custom app in Shopify: In Shopify Admin, go to Settings > Apps > Develop apps. Create a new app and configure the Admin API scopes: read_products, write_products, read_inventory, write_inventory, read_locales, write_locales, read_publications, write_publications.
Install the app and copy the token: Click "Install app" and copy the Admin API access token (starts with shpat_). This token is only shown once.
Go to Channels > Shopify in Nexera: Click "Connect Store". The "Access Token" tab is selected by default.
Enter your domain and token: Fill in your myshopify.com domain and the copied access token. Click "Connect".
Store is connected: Nexera verifies the token and connects your store. You are redirected to the store page where you can configure sync settings.
Shopify permissions
Nexera requests the minimum permissions needed for product synchronisation. The app does not access customer data, orders, or payment information. Only product, inventory, and translation scopes are requested.
Which method to choose?
Use OAuth if you want to get started quickly without any technical steps in Shopify. Use Access Token if you want to set specific scopes or already have an existing custom app.
Field mapping controls how Nexera product fields correspond to Shopify product fields during sync. Default mappings are configured automatically when you connect a store, but you can customise them to match your specific setup.
Product Name: Title · Bidirectional
Description: Body HTML · Bidirectional
SKU: Variant SKU · Bidirectional
Price: Variant Price · Bidirectional
Brand: Vendor · Bidirectional
Category: Product Type · Bidirectional
Images: Product Images · Nexera to Shopify
SEO Title: SEO Title (metafield) · Nexera to Shopify
Tags: Product Tags · Nexera to Shopify
Map Nexera custom attributes to Shopify metafields for data that does not fit standard Shopify fields. For each custom attribute, specify the Shopify metafield namespace and key. Nexera automatically handles type conversion between Nexera attribute types and Shopify metafield types.
Configure field mapping from the store detail page: click your store name in Settings → Stores, then open the Field Mapping tab.
Language mapping connects Nexera's multilingual content (NL, DE, EN) to the corresponding language configuration in your Shopify store. This ensures that each language version of your product data reaches the correct market.
Nexera supports two Shopify localisation approaches:
Shopify Markets: if you use Shopify Markets for international selling, map each Nexera language to a market. The primary market receives the primary language content, and additional markets receive translated content.
Translate & Adapt app: if you use Shopify's Translate & Adapt app, Nexera maps languages to the app's locale codes. Translated content is pushed via the Shopify Translations API.
Configure language mapping from the store detail page under the Languages tab. For each Nexera language, select the corresponding Shopify market or locale.
Shopify translation support
Multi-language sync requires Shopify Markets or the Translate & Adapt app to be installed and configured in your Shopify store. Without one of these, only the primary language content can be synced.
During sync, Nexera pushes the primary language as the default product content and additional languages as translations. If a product has content in only one language, that content is used for all markets until translations are added.
There are several ways to sync products between Nexera and Shopify, from one-click manual sync to fully automated scheduled sync.
Click Sync Now on the store detail page or from the Stores list. This immediately queues a sync job that processes all products with changes since the last sync.
Set up automatic sync on an hourly, daily, or weekly schedule from the store settings. Scheduled syncs are powered by pg-boss cron jobs and run reliably in the background.
From the Products page, select specific products and click Sync to Shopify in the bulk actions menu. This syncs only the selected products, which is useful for pushing urgent updates without waiting for a full sync.
Delta sync: the default mode. Only products that have changed since the last sync are processed. This keeps sync times fast and minimises API calls to Shopify.
Full sync: compares every product in Nexera with its Shopify counterpart and updates any differences. Use this after significant data changes or when you suspect data drift between the two platforms.
During sync, a real-time progress bar shows the current status. The progress is powered by WebSocket events, so you can see which product is being processed, how many remain, and whether any errors have occurred.
Sync performance
Delta sync typically processes 100 to 500 products per minute, depending on the number of fields, variants, and images per product. Full syncs take longer because every product is compared. For large catalogues (5,000+ products), schedule full syncs during off-peak hours.
Product tags created in Nexera are synced as native Shopify product tags during a product sync. Tags are sent as comma-separated values, matching Shopify's built-in tag format. This means any tag you assign in Nexera becomes a fully searchable, filterable Shopify tag after the next sync.
Tags are included automatically whenever a product is synced, you do not need to configure anything extra. The sync pushes the complete set of tags for each product. If you add a tag, it appears in Shopify after sync. If you remove a tag and sync again, it is removed from Shopify too.
Because Nexera tags become native Shopify tags, you can use them to drive Shopify automated collections. A common workflow:
Create a tag in Nexera (e.g. "Summer 2026").
Assign it to the relevant products.
Sync those products to Shopify.
In Shopify, create an automated collection with the condition "Product tag is equal to Summer 2026".
Shopify automatically populates the collection with matching products, no manual curation required. As you tag more products in Nexera and sync, the Shopify collection updates itself.
Consistent tag naming
Use consistent casing and formatting for tags (e.g. always "Summer 2026", not "summer-2026") so your Shopify automated collection conditions match reliably. Manage and standardise tags from Settings → Tags in Nexera.
When both Nexera and Shopify have changes to the same product field since the last sync, a conflict arises. Nexera detects these conflicts automatically and handles them according to your configured strategy.
Before syncing a product, Nexera compares the current state in both systems against the snapshot taken during the last sync. If a field has changed in both Nexera and Shopify since that snapshot, it is flagged as a conflict.
Non-conflicting changes are merged automatically. For example, if the description changed in Nexera and the price changed in Shopify, both updates are applied without conflict.
Nexera Wins: Nexera's value overwrites Shopify for all conflicting fields · Teams that use Nexera as the master source
Shopify Wins: Shopify's value overwrites Nexera for all conflicting fields · Stores where staff frequently edit in Shopify admin
Manual: Conflicting products are flagged for manual review with a side-by-side diff · Teams that want full control over every change
Set your default strategy in the store's sync settings. You can also override the strategy per-sync when running a manual sync. Products with unresolved conflicts (in Manual mode) appear in a Conflicts queue where you can review each field side-by-side and choose which value to keep.
Every sync operation is logged in the sync history with detailed information about what happened. This gives you a complete audit trail of all data movement between Nexera and Shopify.
Each sync history entry includes:
Timestamp: when the sync started and finished.
Sync type: delta, full, or selective.
Products processed: total number of products that were compared and the number that had changes.
Created / Updated / Failed: breakdown of how many products were newly created in Shopify, how many were updated, and how many encountered errors.
Error details: for any products that failed, the specific Shopify API error is logged with the product name and SKU.
Duration: total time the sync took to complete.
Each sync creates a snapshot of the affected Shopify products before making changes. If a sync produces unexpected results, you can roll back to the pre-sync state.
To roll back a sync, go to the sync history, find the sync entry, and click Rollback. Nexera restores the Shopify products to their state before that sync was applied. Only the products affected by that specific sync are reverted.
Rollback is permanent
Rolling back a sync reverts Shopify products to their pre-sync state. Any changes made in Shopify after the original sync will be overwritten by the rollback. This action cannot be undone, so review the affected products list carefully before confirming.
Sync history entries are retained indefinitely. You can filter by date range, sync type, or status (success, partial, failed) to find specific sync events. The sync history is accessible from the store detail page under the History tab.