Link to PromoSync
Link to PromoSync scans the products in your Shopify store that carry PSRESTful metafields, finds the ones PromoSync’s backend doesn’t yet know about, and registers them. Once a product is registered, every subsequent sync (inventory, prices, metafields) can target it directly instead of rediscovering it from scratch.
This action was previously called Sync Duplicate Products.
Why It Exists
PromoSync keeps a backend registry that maps each Shopify product to its supplier record (the extra_id in PSRESTful). The registry is what lets routine syncs ask:
“Which Shopify products belong to supplier X, and what supplier SKUs do they map to?”
If a product carries the right metafields but isn’t in the registry, PromoSync has to:
- Re-scan your Shopify catalog to find it, and
- Re-resolve its supplier record from PSRESTful.
Both are expensive: Shopify API calls count against your store’s rate limit, and PSRESTful calls count against your plan’s daily/monthly quota. Link to PromoSync registers the missing products once, so the slow path is avoided on every future sync.
What Counts As a “Duplicate”
Any Shopify product that has the PSRESTful identifying metafields but is not in PromoSync’s backend registry. The most common ways this happens:
- You duplicated a product in Shopify (Products → … → Duplicate). The copy inherits all the metafields from the original, including
psrestful.supplier_code,psrestful.product_id, andpsrestful.extra_id, but it has a brand-new Shopify product ID that PromoSync has never seen. - You connected existing products via the Connecting Existing Products workflow. After Matrixify writes the metafields onto products PromoSync didn’t import, those products still need to be registered.
- A previous import partially failed, leaving products in Shopify that the backend never recorded.
In every case, the fix is the same: run Link to PromoSync.
What Gets Registered
For each candidate product, PromoSync needs an extra_id (PSRESTful’s stable internal ID) before it can register it. The action resolves extra_id in this order:
- Read the
psrestful.extra_idmetafield directly, if present. - Otherwise, look it up from PSRESTful using
psrestful.supplier_code+psrestful.product_id.
If neither path returns an extra_id, the product is skipped and logged. Everything else is grouped into batches and registered in the PromoSync backend.
Products that PromoSync already has in its registry are quietly ignored. The action is idempotent: running it twice is safe and cheap on the second run.
How to Run It
You can trigger Link to PromoSync in three places.
From the PromoSync Dashboard (all products)
- In Shopify admin, go to Apps > PromoSync.
- In the Quick Sync section, find the Link to PromoSync card.
- Click Run Now and confirm.
This processes the entire catalog. Use it as a periodic safety net or after a bulk Matrixify import.
From Shopify’s Products List (selected products)
- In Shopify admin, open Products.
- Select the products you want to register.
- Click More actions > Sync Using PSRESTful.
- Pick Link to PromoSync from the dropdown and click Submit.
Use this right after duplicating a product in Shopify, or to register a specific batch you just connected.
From the All-Products Bulk Dialog (filtered or all)
The Sync Products (Filter/All) dialog (also under More actions) lets you target products by vendor or pick “all matching” without paginating through Shopify’s UI. Choose Link to PromoSync from the action dropdown.
When to Run It
| Scenario | Recommended trigger |
|---|---|
| Just duplicated a product in Shopify | Selected-products bulk action |
| Just finished the Connecting Existing Products workflow | Selected-products bulk action |
| Suspect the backend is out of sync after partial failures | Dashboard Run Now (all products) |
| Routine maintenance | Dashboard Run Now every few weeks, or after large catalog changes |
What You’ll See
The job runs in the background and sends a summary email when it finishes. The summary reports how many products were already registered, how many were newly registered, and how many were skipped because no extra_id could be resolved.
There is no schedule for this action: it always runs on demand.
Troubleshooting
Products were skipped with “could not determine extra_id”
The product has psrestful.supplier_code and psrestful.product_id metafields but no psrestful.extra_id, and PSRESTful’s resolver couldn’t find a match for that (supplier, product) pair. Possible causes:
- The
supplier_codeorproduct_idvalues are typos. - The supplier discontinued the product and it’s no longer in PSRESTful.
- The supplier’s data is temporarily unavailable.
Fix the metafield values (or remove the dead products) and re-run.
Nothing happens after I run it
If every Shopify product with PSRESTful metafields is already in PromoSync’s backend, the action exits without doing anything. That’s the success case. Check your most recent sync results to confirm everything still works.
My duplicated products still aren’t syncing
After Link to PromoSync registers them, run the relevant follow-up sync (Update Inventory, Update Prices, or Update Metafields) to populate the new copy with current data.
Related
- Connecting Existing Products — the broader workflow for bringing pre-existing Shopify products under PromoSync’s automation.
- Bulk Actions — overview of every PromoSync bulk action available from Shopify’s products list.