PelekaPeleka Help Center
Integrations

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:

  1. 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.
  2. 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.
  3. Peleka hands you to WooCommerce's own wc-auth authorization screen, where you grant Read/Write API access.
  4. 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 completed or processing sync as order_placed contact 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's abandoned_cart event and can trigger automations), add_to_cart, viewed_product, and email_consent. add_to_cart and viewed_product only fire once the shopper's email is known (captured from the checkout email field), so anonymous browsing isn't tracked. email_consent writes 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.

On this page