WooCommerce integration
Connecting via the Peleka for WooCommerce plugin, and what it syncs.
For the connection steps themselves, see Connecting your store. This page covers what the integration does in depth.
How the connection works
The Peleka for WooCommerce WordPress plugin is the entry point, but the actual authorization is WooCommerce's standard wc-auth REST API key flow:
- In wp-admin you open WooCommerce → Peleka (a dedicated submenu item — the Settings → Peleka tab only holds consent and tracking options) and click Connect to Peleka.
- You're taken to Peleka, sign in, and approve a screen that lists what the integration will do: read customers, orders, and products; register webhooks; track cart/checkout events.
- Peleka hands you to WooCommerce's own
wc-authauthorization screen, where you grant Read/Write API access. - WooCommerce posts a consumer key/secret to Peleka server-to-server and redirects you back to wp-admin. Peleka also issues the plugin its own API key at this point, used for the live cart/checkout events and the embedded dashboard.
Permalinks can't be 'Plain'
wc-auth and the WooCommerce REST API don't work with "Plain" permalinks. The plugin disables the Connect button when it detects a Plain permalink structure, and Peleka independently re-checks that …/wp-json/wc/v3 responds before starting the handshake. Set Settings → Permalinks to any other structure first.
Sync behavior
- Customers sync from billing details (email, name, phone). Every customer with an email is imported — there's no marketing-consent filter on the WooCommerce import (that toggle is Shopify-only). Consent is captured separately, per order, by the checkout consent checkbox.
- Orders with status
completedorprocessingsync asorder_placedcontact events and can trigger automations. The first sync pulls order history; after that, new orders arrive via webhook. There's no scheduled full re-sync — trigger Sync Now from Settings → Integrations to backfill. - Real-time webhooks (
order.created,order.updated,customer.created) are HMAC-SHA256 signed and verified on arrival. - The plugin also pushes live browsing/cart events directly:
started_checkout/abandoned_cart(both map to Peleka'sabandoned_cartevent and can trigger automations),add_to_cart,viewed_product, andemail_consent.add_to_cartandviewed_productonly fire once the shopper's email is known (captured from the checkout email field), so anonymous browsing isn't tracked.email_consentwrites a consent record ("Opted in via WooCommerce checkout") only when the box is ticked; an unticked box records nothing.
The embedded dashboard
The WooCommerce → Peleka page in wp-admin embeds your Peleka dashboard in an iframe once connected, so day-to-day work (broadcasts, automations, segments) is available without leaving WordPress. The plugin exchanges its API key for a short-lived session token to load it; that token is refreshed automatically. The standalone dashboard at app.peleka.io stays fully available too.
Auto-generated smart segments
The same eight segments as Shopify: Recent Buyers, Cart Abandoners, First-Time Buyers, Repeat Customers, VIP Customers, Lapsed Customers, Winback, Inactive Customers.
Product data in the email builder
The Product block searches your live WooCommerce catalog (/products) for title, price, image, and a short description, the same way it does for Shopify.
WordPress Privacy Tools integration
The plugin hooks into WordPress's native Tools → Export Personal Data and Tools → Erase Personal Data screens, alongside the local abandoned-cart snapshots it stores in WordPress:
- Erase requests are carried through to Peleka — the matching contact is redacted server-side and the result is reported back to WordPress.
- Export requests file a data-subject request in Peleka. The data Peleka holds does not land in the WordPress export file; you review and send it from Settings → Data requests in Peleka (you'll also get a notification there).
Disconnecting
Disconnecting (from Settings → Integrations in Peleka, or the Disconnect button on the wp-admin page) stops future syncing and revokes the plugin's API key. Contacts already imported into Peleka are kept. Uninstalling the plugin from WordPress also notifies Peleka to mark the integration disconnected.