Crossdeck for WooCommerce — full setup guide
Everything from install to identity to revenue — from one plugin. Install Crossdeck for WooCommerce and paste a single Secret key: the web SDK loads on every storefront page, logged-in customers are identified automatically via WordPress, and every paid WooCommerce order books as revenue — normalized to USD, refunds reversed — on the same identity graph as your analytics and errors. This doc covers install & connect, verifying, custom domains, automatic identity, and how order revenue joins.
WooCommerce runs on your own WordPress server, so the connector is a WordPress plugin. You paste your Crossdeck Secret key (cd_sk_) once in the plugin settings — it stays server-side on your store and is never exposed to a browser. The plugin fetches your project's publishable key from Crossdeck, injects the storefront SDK, and starts booking orders. Nothing else to configure.
TL;DR
- Install the plugin. Download the free plugin zip and upload it in Plugins → Add New → Upload, then activate it. No marketplace gate.
- Paste one key. In WooCommerce → Settings → Crossdeck, paste your Secret key (
cd_sk_…) and save. That links the store to your Crossdeck project. - Secret key stays server-side. It lives in your WordPress config, never in a browser. The storefront SDK uses the publishable key the plugin fetches for you.
- Identity is automatic. WooCommerce is WordPress, so a logged-in customer's email resolves them to a known person server-side — no attributes, no snippets.
- Order revenue is automatic. Each paid order books as revenue (normalized to USD from the order's own currency); refunds reverse it; it counts toward your Crossdeck billing like any other rail.
- Verify from the first real visit. Open your store, click around, then watch a live visitor land in Overview / People. That first heartbeat also locks your Allowed Origins.
What the connector does
The Crossdeck plugin does three things on your WooCommerce store. First, it loads the Crossdeck web SDK on every storefront page — so page analytics, journeys, and front-end error impact start flowing with no per-page setup. Second, because WooCommerce is WordPress, it identifies logged-in customers automatically from the server-side session. Third, it books each paid order as revenue. Because Crossdeck joins identity, revenue, errors, and analytics on one identity graph, you can answer questions no single-layer tool can — for example, “which paying customers hit checkout errors last week,” or “which campaign brought the shoppers who actually bought.”
The order events are signed and verified (HMAC, fail-closed) — the plugin reads the authoritative order from WooCommerce server-side and signs it, so Crossdeck never books money from an unverified payload.
Step 1 — Install & connect
A. Install the plugin
- Download the plugin — crossdeck-for-woocommerce.zip.
- In WordPress admin → Plugins → Add New → Upload Plugin, upload the zip and click Install Now.
- Click Activate.
The plugin is free and installs directly from the zip — no WooCommerce Marketplace approval or wordpress.org review to wait on. (A Marketplace listing may follow later; it's never required to use Crossdeck.)
B. Connect with your Secret key
- In the Crossdeck dashboard — or with
crossdeck initin the CLI — create a project + app and copy your Secret key (startscd_sk_). - In your store, open WooCommerce → Settings → Crossdeck, paste the Secret key, and click Save.
- The plugin verifies the key with Crossdeck, links the store to your project, injects the storefront SDK, and registers order events. You're connected.
The plugin runs on your server, so the cd_sk_ secret key belongs in the plugin settings (never in a theme, block, or any client-side code). Crossdeck stores no raw key it doesn't need: the storefront loads only your publishable key, and order events are authenticated with a per-store signing secret derived at connect — not your secret key.
Step 2 — Verify it's working
Open your store and click around. Crossdeck's first heartbeat auto-learns your store's origin. Then open the Crossdeck dashboard → Overview / People — you'll see a live visitor with geo, and the pages they viewed. Place a test order (or wait for a real one) and watch it land in Revenue, joined to the customer. (Data begins from the first real visit — that first heartbeat also locks your Allowed Origins to that domain.)
Check that the plugin is active and shows Connected in WooCommerce → Settings → Crossdeck, that the Secret key was saved without error, and that the environment you're viewing in the dashboard matches the key (a cd_sk_test_ key is sandbox). The first heartbeat can take a few moments.
Step 3 — Custom domain
Your WooCommerce store already runs on its own domain, so the origin auto-learns on the first heartbeat. If you later move the store to a different domain, add the new one to your Allowed Origins — 20 seconds:
→ Add a domain to your Allowed Origins
The store learns that origin on its first heartbeat. It will not auto-learn a domain you move to later — add the new domain to your Allowed Origins yourself, or traffic from it won't be accepted.
Step 4 — Identity (automatic on WooCommerce)
Identity is automatic — this is the WordPress advantage. When a customer is logged in, the plugin reads their email from the server-side WordPress session and identifies them to Crossdeck on page load. No attributes to add, no snippet to wire. Anonymous visitors stay anonymous until they log in or check out; a checkout carries the buyer's email, so even a first-time guest buyer joins to their order.
Crossdeck keys identity on email — the no-backend join rail — so the same customer is one person across their on-site journey, their WooCommerce orders, errors, and analytics. (See How identity works for the full model.)
Step 5 — Revenue (WooCommerce orders, automatic)
Revenue needs no extra setup. The plugin listens for order status changes and, for each one, reads the authoritative order from WooCommerce and sends it to Crossdeck, signed:
- Order paid → recorded as revenue, normalized to USD from the order's own currency, and joined to the buyer (by email) so it lands on the same person who browsed.
- Order refunded → the revenue is reversed (full or partial), keeping your totals honest.
WooCommerce revenue shows up in the dashboard's Revenue surface alongside every other rail, and counts toward your Crossdeck billing just like Stripe, Apple, or Wix revenue — one portfolio, every rail.
If your WooCommerce checkout runs on Stripe, you can also connect the Stripe rail in Developers → Rails. Crossdeck deduplicates by order so revenue is never double-counted — use whichever gives you the cleanest join.
How this differs from the other connectors
- WooCommerce (this): install the plugin, paste your Secret key. Identity is automatic (WordPress session); order revenue is automatic (signed order events).
- Wix: one-click App Market install → project + keys auto-created → SDK injected, plus automatic Wix Stores revenue. Identity for Members via a Velo snippet.
- WordPress (no store): the same automatic server-side identity, for content/membership sites without WooCommerce.
- Webflow: one-click OAuth marketplace install → SDK injected. Identity via a
data-crossdeck-identify-emailbinding. - Framer / Squarespace: paste a Custom Code / Code Injection snippet. Identity best-effort via
data-crossdeck-identify-email.
Every connector loads the same Crossdeck SDK and feeds the same dashboard — only the install, identity binding, and store-revenue path differ per platform.
Crossdeck for WooCommerce — WordPress plugin (paste your Secret key once), storefront SDK injected on every page, automatic server-side identity via the WordPress session, custom-domain add via Allowed Origins, and automatic WooCommerce order revenue (paid + refunded, normalized to USD, HMAC-signed and verified) on the shared identity graph (August 5, 2026). Related: Identify users, Connect Stripe.
Using an AI assistant? Read this page as clean markdown — index.md — or the whole docs index at /docs/llms.txt.