Troubleshooting
When something looks wrong, start with the Logs page — most issues surface there with a precise error message you can act on. Below are fixes for the rest, grouped by where you noticed the problem.
Tips
Almost every issue below has a fix you can apply from the WordPress admin without touching code. Where a host-level change is the only real fix, it's called out in a callout.
Connection errors
These show up on the Connection tab when you click Test & Save.
| Symptom | What it means | What to do |
|---|---|---|
| HTTP 401 | Wrong credentials | Open UnoPim's API panel, double-check the client ID, secret, username and password, then re-paste all five fields and click Test & Save again. Generate a fresh API client in UnoPim if needed. |
| HTTP 0 | The site can't reach UnoPim at all | Confirm the UnoPim URL works in a browser. If your site has external requests blocked at the host level, ask your host or developer to allow your UnoPim domain. |
| HTTP 404 | Wrong base URL | Use only the bare admin URL, e.g. https://pim.example.com. Don't add /api/v1/rest or any trailing path — the connector adds those itself. |
| Saves OK, but Channels & Stores is empty | The UnoPim user can sign in but isn't allowed to read channels | In UnoPim, give that user a role that includes channel read permission, then come back and click Refresh channels. |
| Connection drops mid-sync | Session expired and couldn't refresh | The connector retries automatically. If errors continue, open the Connection tab and click Test & Save again to force a fresh sign-in. |
| Warning about missing security keys | Your site doesn't have its standard WordPress security salts set | Ask your developer or host to add WordPress secret keys to your site config. Until then, credentials are stored in a less-secure form. |
Sync failures
A "Pull Full" never finishes
Something in the queue has stalled.
- Open the Logs page and look for recent rows with
errorstatus — they usually point at a specific entity (a category, a product, an attribute) that's blocking the queue. - Fix the underlying issue (for example, a missing family in UnoPim) and click Pull Full again.
- If nothing has run for more than 10 minutes and Logs is quiet, the background queue may not be firing — see Cron not firing below.
Some entities pull but others don't
Each entity type (categories, attributes, products, variants…) is pulled independently, so one type can fail while others succeed. Open Logs, filter by status = error, and read the message.
| What you see in Logs | Likely cause | Fix |
|---|---|---|
| Categories pull, products don't | Products are being skipped, or no default family is set | Check the Core Fields tab and make sure a Default family is selected. |
| Products pull, variants don't | The product's family in UnoPim doesn't define the variant axes correctly | Edit the family in UnoPim, then click Pull Full. |
| Attributes pull, options don't | The UnoPim user can't read attribute options | Update the user's role in UnoPim to include attribute-option read permission. |
Push silently does nothing
When you save a product in WooCommerce and nothing reaches UnoPim, check these in order:
- Open Channels & Stores and make sure Push is toggled on for the channel you expect.
- If you just pulled the same product, the connector waits a short cooldown to avoid ping-ponging the same change back. Wait a minute and try again, or lower the Debounce seconds value.
- Open Logs and look for a row about that product. The message will tell you exactly which gate stopped the push.
Push returns HTTP 422
UnoPim received the data but rejected it.
- Open the Logs row.
- Read the message — it usually names the offending attribute.
| Message hint | What it means | Fix |
|---|---|---|
| "attribute X not in family schema" | Your mapping points at an attribute that isn't part of this product's family in UnoPim | Either edit the family in UnoPim to include the attribute, or remove that attribute from your mapping. |
| "value type mismatch" | You mapped a text field to a numeric attribute (or similar) | Change the WooCommerce field in the mapping to one of the same type. |
| "missing required field" | The product is missing a value the family marks as required | Either fill the value in WooCommerce, or remove the "required" mark on that attribute in UnoPim. |
Push returns HTTP 401 mid-batch
The session expired during a long batch. The next push retries automatically with a refreshed sign-in. If it keeps happening, ask UnoPim's administrator to extend the API session lifetime.
Push returns HTTP 500
Something went wrong on the UnoPim side — not the connector. Check UnoPim's own logs. The connector will retry automatically with a back-off delay.
Cron not firing
WordPress runs scheduled tasks (like delta pulls every 5 or 15 minutes) when visitors hit your site. On low-traffic stores, those tasks queue up and fire late or not at all.
Warning
If your scheduled pulls always run hours late — or only when you click around the admin — your site needs a real "system cron" set up by your host. This is the only fix that requires a change outside the WordPress admin.
Ask your host or developer to set up a system cron that triggers your site every minute. Most managed WooCommerce hosts have a one-click option for this.
After system cron is set up, scheduled pulls fire on time regardless of visitor traffic.
Mapping issues
Auto-map matched the wrong attributes
Auto-map guesses based on similar names and codes. If two UnoPim attributes look alike, it may pick the wrong one.
- On the affected scope (channel + locale), click Clear mapping.
- Use + Add WooCommerce field to set each row by hand.
- If you have many channels with the same correct setup, save it as a preset and apply it elsewhere.
Mapping wizard is slow
Large UnoPim catalogues with thousands of attributes can make the mapping screen feel sluggish.
- Use the search box to narrow down attributes before opening dropdowns.
- Reduce the per-page count on the Attributes tab so fewer rows render at once.
- If it's still slow on huge catalogues, your developer can extend the search and rendering limits.
A custom WooCommerce field doesn't appear in the source dropdown
The connector only lists fields that already have at least one stored value. If your field is brand new and empty:
- On the Attributes tab, click + Add custom column.
- Type the exact field key.
- It now appears in the dropdown like any built-in field.
"Refresh targets" does nothing
Your sign-in to UnoPim probably expired between clicks.
- Open the Connection tab and click Test & Save.
- Try Refresh targets again.
If targets are still empty, the UnoPim user's permissions may have been reduced — verify in UnoPim.
Variant issues
| Symptom | Cause | Fix |
|---|---|---|
| Variations land without variant attributes | A variant axis attribute is configured as plain metadata instead of a taxonomy | Open the Attribute Mapping tab and click Refresh targets, then Pull Full. |
| Variations push without their parent | Variants got pushed individually before the parent was ready | Use Push All Products instead of pushing variants one by one. The connector handles parent-then-variant order for you. |
| "Axis outside family schema" error | The product's family in UnoPim doesn't allow that attribute as a variant axis | Edit the family in UnoPim and add the attribute as a variant axis, then push again. |
Performance issues
The Logs page is slow
The log table has grown large.
- Click Flush logs → older than 7 days at the top of the Logs page.
- Lower the per-page count to 25 while you're investigating.
"Pull Full" takes forever
Either the catalogue is genuinely large, or background work isn't draining fast enough. Open Logs and watch for recent activity — if rows keep appearing, it's just working through the list. If everything is quiet, see Cron not firing.
The admin feels slow when the connector is active
Reduce the Logs per page value, and make sure you're not leaving the Logs page open in another tab while you work.
Multilingual issues
| Symptom | Cause | Fix |
|---|---|---|
| Translations created but empty | Source language pulled before the target language attributes were ready | Run Pull Full once more after the attribute schema is stable. |
| WPML language column shows the wrong language | Locale-to-language mapping mismatch | Standard locales like en_US → en and fr_FR → fr work out of the box. For unusual cases (regional variants), the connector also supports a custom locale-to-language map if your developer wants to extend it. |
| All locales merge into one product | WPML isn't active or detected | Make sure WPML is installed and active. If you use a different translation plugin, your developer can build a bridge to it. |
See Multilingual for the full picture.
Data setup issues
| Symptom | What to do |
|---|---|
| "Table doesn't exist" errors after upgrade | Deactivate and reactivate the connector from Plugins → Installed Plugins. This re-runs the setup. If the error persists, ask your host to ensure the WordPress database user has create/alter table permissions. |
| Schema didn't migrate after a plugin update | Deactivate then reactivate the connector once. Migrations re-run on activation. |
| The log table is enormous | Set Log retention to 7 or 14 days in General Settings, then click Flush logs → older than 7 days once. Going forward the connector trims logs automatically. |
Multisite issues
| Symptom | Cause | Fix |
|---|---|---|
| Pull writes to the wrong site | The channel-to-site mapping is wrong | Open Channels & Stores on the relevant site and update the Site dropdown for that channel. |
| The connector isn't activated on some sites | Network activate skipped a site | Visit each site in My Sites, open Plugins, and activate the connector individually. |
| Cron only fires on the main site | Each site in a network has its own schedule | Ask your host to set up a system cron that ticks every site, not just the network's main one. |
See Multisite for the full picture.
How to file a useful bug report
If none of the above resolves your issue, open a ticket with:
- Plugin version — visible on the Plugins page.
- WordPress, WooCommerce, and PHP versions — from Tools → Site Health → Info.
- What you did — the exact button/click sequence.
- What you expected vs. what happened.
- 5–10 rows from the Logs page around the time of the issue (use the time filter).
- Screenshots of the failing screen, if any.
The faster the support team can reproduce, the faster they can fix it.
