Push to Shopify
Take approved styles and write them to your Shopify store. This is the moment ThreadCloud goes from “your private working space” to “live on the storefront”.
Before you push
A pre-flight checklist:
- ✅ Every style you want to push shows READY (not NEEDS REVIEW)
- ✅ Cost and retail prices look right on each style
- ✅ Sizes match the linesheet
- ✅ Currency in the order header matches the linesheet
- ✅ FX rate is set if buying in a non-store currency (locks on first push)
- ✅ At least one image per style (push works without images, but the storefront will look bare)
- ✅ The buying season + delivery window are correct
If anything’s off — fix before pushing. Pulling products back from Shopify is messy.
The push itself
Open the order → click Push to Shopify (top right of the Enrich tab).
You’ll see a confirmation modal:
| Detail | Notes |
|---|---|
| Total styles | Count of READY styles to push |
| Skipped | Count of NEEDS REVIEW styles (will NOT push) |
| Existing | Count being re-pushed (already on Shopify) |
| New | Count being created fresh |
Click Push N styles to confirm.
What happens:
- Each style becomes a Shopify product (with all variants as separate Shopify variants)
- Tags get stamped:
tc-imported,tc-order-{id},{seasonCode},brand-{name}, plus category/colour/pattern - The SKU is generated and written; the same value is also written into Shopify’s
barcodefield (for label-printer fallback) - All 60+ Shopify metafields get written (
tc_core,tc_measure,tc_trade) - Images upload to Shopify’s CDN
- Product status is set to
ACTIVE(live on storefront immediately)
The ambient bar fires SHUTTLING COLOURS while it runs. Typical speed: ~3 seconds per style. A 50-style order takes ~3 minutes.
During the push
Watch the order page. Each style flips from READY to APPROVED as it lands in Shopify. If any fail, they flip to ERROR with an inline message.
You can navigate away during the push — it’ll keep running in the background. The ambient bar tells you when it’s done.
If some styles fail
After push, the order page shows:
- N approved
- N failed (with reasons)
Click each failed row to see the exact error. Most common reasons:
| Error | Fix |
|---|---|
Shopify rate limit exceeded | Wait 60s, re-push only the failed rows |
Image upload failed: file too large | Resize the image (under 4MB), re-upload, re-push |
Invalid metafield value | A field has bad data — fix it on the Enrich tab, re-push |
Duplicate SKU | Another product already has this SKU. Most likely a re-push collision. Don’t force-push — check the SKU. |
Missing access token | The Shopify session expired. Refresh the page; it’ll re-auth on next request. |
To retry only the failed rows: select them in the order grid → click Push Selected.
Re-pushing existing products
If a product is already on Shopify and you change something in ThreadCloud (description, fabric, occasion, etc.), you need to re-push for the change to show on the storefront.
- Edit the style in Enrich
- Save your changes
- Click Push to Shopify — it’ll detect existing products and run an update instead of a create
- The Shopify product handle stays the same (URL doesn’t break)
tc_* metafields, tags (the TC-managed ones), variant barcode (if it was empty). It does NOT touch: inventory quantity, image order, Shopify-internal fields, anything in non-TC metafield namespaces.After the push
Verify on the storefront:
- Open one product on your storefront
- Check the description reads well
- Check the image gallery
- Check the smart filters work (Shop By → click a filter → does the product appear?)
- Check the size scale shows correctly
If something’s off, fix in ThreadCloud and re-push.
Pulling products back
If you pushed by mistake or with wrong data:
- Quick fix — edit in ThreadCloud, re-push. Don’t delete; just overwrite.
- Full rollback — Shopify Admin → filter by
tag:tc-order-{id}→ select all → Bulk delete. - Metafield rollback — Use the Legacy Enrichment rollback feature (works within 90 days of the last apply).