Pull (UnoPim → WooCommerce)
The pull side of the connector — what comes across from UnoPim, in what order, and where it shows up in WooCommerce.
Pull order
A full pull processes UnoPim entities in a fixed order. Order matters, because products need their families, families need their attributes, and variants need their parent products.
- Channels — used to scope every other step
- Locales — drives which language values are picked
- Currencies — drives which currency prices are picked
- Attribute groups — used to label attribute groupings in the WordPress admin
- Attributes — the catalogue of fields available for mapping
- Attribute options — the values for "select"-type attributes
- Families — the schema that says which attributes belong to which product type
- Reference entities — custom UnoPim taxonomies (Brands, Collections, etc.)
- Categories — your product category tree
- Products — simple and configurable products
- Variants — each variation of a configurable product
- Associations — upsells, cross-sells, grouped products
- Tags — your product tags
- Images — featured and gallery images, queued in the background
If one product fails, the others still pull. Errors are written to the Logs and the pull moves on.
What lands where in WooCommerce
| UnoPim entity | Where it appears in WooCommerce |
|---|---|
| Channel | Used internally to scope which products land where; visible on the Channels & Stores tab. |
| Locale | Used to pick the right value for translatable fields; appears in the locale dropdown on the mapping screens. |
| Currency | Used to pick the right price; integrates with multi-currency plugins like CURCY. |
| Attribute | Becomes a WooCommerce product attribute (pa_* taxonomy) or product metadata, depending on how it's mapped. |
| Attribute option | Becomes a term inside its WooCommerce attribute (e.g. "Red", "Blue" inside Colour). |
| Family | Used to validate which attributes are allowed on a given product type. |
| Reference entity | Becomes its own custom taxonomy or post type in WooCommerce. With WPML active, it's automatically translatable. |
| Category | Becomes a WooCommerce product category, with parent-child relationships preserved. |
| Product | Becomes a WooCommerce product (Simple or Variable). Core fields land in the standard WooCommerce slots — title, description, SKU, regular price, sale price, stock, stock status. Mapped attributes land per your mapping. |
| Variant | Becomes a variation under its parent variable product, with each variant axis attribute set on the variation. |
| Associations | Land as upsells, cross-sells, or grouped products on the product edit screen. |
| Tag | Becomes a WooCommerce product tag. |
| Image | Becomes an attachment in the WordPress Media Library, set as the product's featured image or gallery image. |
What's pulled and what isn't
Pull brings catalogue data into WooCommerce. It does not pull:
- Stock levels (managed in WooCommerce as the source of truth, unless you've explicitly mapped stock).
- Orders.
- Customers.
- Anything live-shopper-facing other than the product catalogue itself.
If your store needs stock to flow from UnoPim, map it explicitly in the Core Fields tab.
Triggers
Pulls run when:
| Trigger | Where you do it | What runs |
|---|---|---|
| Manual click | Sync page → Pull Full or one of the per-entity Pull buttons | Pulls everything (or just one entity type) for the active channel |
| Scheduled tick | Per-channel sync interval, configured on Channels & Stores | The connector pulls only what's changed since last time |
| Scheduled Job | Scheduled Jobs page | Runs the action you configured (full pull, single entity, specific channel/locale) |
Delta pulls and what gets re-fetched
The connector remembers what it last imported and, on each scheduled tick, only fetches changes after that. So a 5-minute schedule isn't re-pulling your whole catalogue every 5 minutes — just the handful of items that changed.
A Pull Full click resets that memory and re-fetches everything. Even then, if a product's data hasn't actually changed, the connector skips writing it (you'll see an info row in Logs saying "no change").
Channel status and SEO
When a product is pulled, the connector also handles two extra slots:
- Channel status — UnoPim's "active / inactive per channel" flags map to WooCommerce visibility and post status. A product disabled for a channel is hidden in the matching store.
- SEO fields — meta title, meta description, focus keyword, and so on land in Yoast or RankMath if either is active. The connector picks whichever SEO plugin you have installed.
Performance notes
- Big imports are processed in chunks (around 50 items at a time) so the connector doesn't lock up the rest of your site.
- Image downloads are queued separately and at lower priority. Products land first; their images backfill behind them. This means a 100-product pull with 1,000 images doesn't make you wait — products show up fast and images appear over the next few minutes.
- Re-pulling unchanged data is essentially free — the connector detects no change and skips writes.
Tips
If a pull seems stuck, check the Logs page first. Most "stuck" pulls are actually a single failing item that needs a fix in UnoPim — once that one is resolved, the rest of the queue drains.
