Connect WooCommerce
Write-back updates your WooCommerce store's prices through the WooCommerce REST API, using keys your store issues to us during a one-time authorization flow (wc-auth). Nothing on your store needs a plugin or code change — WooCommerce's own REST API and authorization screen do the work.
What you need
- An administrator account on your WordPress site.
- Your store served over HTTPS. WooCommerce's authorization flow posts your API keys back to us over a secure connection, and it refuses to run over plain HTTP.
- Pretty permalinks enabled (Settings → Permalinks → anything other than "Plain"). WooCommerce's authorization screen and REST API both depend on rewrite rules that plain permalinks don't provide — see Troubleshooting below if you're not sure which you're using.
- The Max or Enterprise plan — WooCommerce write-back, like the other platform connectors, ships on Max and Enterprise.
Connect
- Go to Settings → Integrations.
- Choose WooCommerce and enter your store's URL (for example
https://shop.example.com). - You'll be redirected to your store to sign in as an administrator, if you aren't already.
- WooCommerce shows an approval screen listing exactly what access we're requesting: Read/Write access to your store, scoped to products only. Approve it to continue.
- Your store creates a REST API key pair and posts it back to us directly — you never see or copy a key yourself. Once that post succeeds, the connection is saved and you're returned to the integration page.
In your store's own WooCommerce → Settings → Advanced → REST API list, the key we create shows up with the description "Agnotiq MarginTide Pricing Intelligence - API (…)". If you connected before this naming was in place, your existing key instead shows "Agnotiq Price Checker - API (…)" — both are the same connection and both keep working; you don't need to reconnect just to see the new name.
Which prices write-back can update
Write-back reads and writes the regular price field on your products.
- A simple product's price is read and written directly by its SKU.
- A variable product's price lives on each of its variations, not on the parent product — write-back resolves a variation SKU to its specific variation and writes the price there, independently of its siblings and its parent.
- A parent (variable) product that has no price of its own — because pricing only exists on its variations — has nothing for write-back to update if you point a recommendation at the parent's SKU rather than a variation's.
Revoke access
You can revoke access from either side:
- In this app: go to Settings → Integrations → WooCommerce → Disconnect. This deletes the stored key immediately; pending approvals stay in the queue and can be rejected manually.
- In your store: WooCommerce → Settings → Advanced → REST API, find the key described above, and revoke or delete it there. Your next price change will fail and prompt you to reconnect.
Troubleshooting
While connecting:
| What you'll see | What it means |
|---|---|
| A 404 during authorization, or the connect flow never reaches the approval screen | Your store is using Plain permalinks. Switch to any other permalink structure under Settings → Permalinks and try connecting again — plain permalinks can't support WooCommerce's authorization or REST API routes. |
| Your store shows "An error occurred in the request and at the time were unable to send the consumer data" | Your store couldn't reach us to deliver the key — usually a firewall, security plugin, or outbound-connection restriction on the store's server, or an expired/misconfigured TLS certificate. Check with whoever manages your hosting, then try again. |
| You land back on the integration page with a "connection declined" notice | You (or whoever approved the request) declined it, or canceled at the WordPress login screen. Start over from step 2 above if you want to connect. |
| You land back on the integration page with a "we did not receive the keys" notice | Your store approved the request but the key never reached us — usually the same connectivity issue as the "unable to send the consumer data" case above. Try again; if it keeps happening, check your store's outbound connectivity. |
Once connected, on individual price changes:
| Reason code | What it means | What to do |
|---|---|---|
auth_failed | Your store rejected our stored key. Usually the key was revoked or regenerated on the store side. If you're certain the key is still valid and this keeps happening, your host may be stripping the authorization header from REST requests before WooCommerce sees it — contact support. | Reconnect the store. If reconnecting doesn't fix it, contact support. |
sku_not_found | The SKU on the recommendation doesn't match any product or variation in your store, or matches a variable product's parent (which has no price of its own — see Which prices write-back can update above). | Confirm the SKU exists in WooCommerce and, for variable products, that it's a variation's SKU. |
ambiguous_sku | More than one product or variation in your store shares this SKU. | Make SKUs unique in WooCommerce, then retry. |
transport_failed | The request to your store timed out or the connection dropped before we got a response. | Usually transient — retry. If it persists, check that your store is reachable and not under heavy load. |
vendor_rejected | WooCommerce rejected the write itself (for example, the product no longer exists, or a variation's parent no longer matches what we resolved). | Check the product in WooCommerce, then retry from a fresh recommendation. |
Tips
- Test a new connection on a single low-risk product before approving a full batch of recommendations through it.
- If your store's daily health check fails twice in a row, we'll show an "attention needed" banner on the integration and email whoever connected it — that's advisory, not a block, so approvals can still succeed if the store is in fact reachable.
- Real-store verification of this flow against a live WooCommerce install, and a decision on shipping a WooCommerce Marketplace plugin instead of the current authorization flow, are tracked for a future release (#1429) — the connector above is what ships today.
Go further
- Push accepted prices to your store — how write-back and approvals work across every connector.
- Set pricing policies & guardrails — the rules write-back respects.
- Invite your team & set roles — assign the approver role.

