WooCommerce analytics: revenue by channel
ProductLense connects to WooCommerce and attributes every payment, refund and renewal to the channel, campaign and landing page that first brought the customer. WooCommerce orders and refunds from your WordPress store, read with a REST API key and attributed to the channel that brought each buyer.
Setup steps
- In WordPress, open WooCommerce → Settings → Advanced → REST API, add a key with Read permission and copy the consumer key and secret.
- In ProductLense, open Settings → Billing connections → WooCommerce and paste the store URL, key and secret.
- In WooCommerce → Settings → Advanced → Webhooks, add three webhooks (Order created, Order updated, Order restored) with the delivery URL ProductLense shows and the same secret.
- ProductLense backfills 12 months of orders and refunds.
Credentials and permissions
| Field | Secret | Where to find it |
|---|---|---|
| Store URL | No | Your store’s https address, including the folder if WordPress lives in one. |
| Consumer key | No | The ck_... key from WooCommerce → Settings → Advanced → REST API, with Read permission. |
| Consumer secret | Yes, encrypted at rest | The cs_... secret shown once with the key. |
| Webhook secret | Yes, encrypted at rest | The secret you type on the webhooks you add in WooCommerce. |
Webhook
URL pattern, shown with your connection id after you save:
https://api.productlense.app/api/webhooks/woocommerce/{connection_id}Events: order.created, order.updated, order.restored
Verification: X-WC-Webhook-Signature header: base64 HMAC-SHA256 of the body with your webhook secret, plus a store address check.
What ProductLense reads
- Customers
- Registered customers, and guests grouped by billing email.
- Subscriptions
- None: core WooCommerce orders are one-off purchases.
- Payments
- Processing and completed orders (failed orders kept as failed).
- Refunds
- Every refund on an order, dated when it was made.
- Fees
- Not in WooCommerce (your payment gateway charges them), so ProductLense subtracts an editable estimate: 2.9% + $0.30 to start.
What ProductLense never touches
- Never creates, changes, refunds or cancels anything: read-only API calls and incoming webhooks only.
- Never moves money, issues payouts, or reads bank account details.
- Never sees full card numbers; providers do not expose them.
- Never sends your customer data to the AI model: Ask and the daily insight see aggregates only.
Match payments to your users
Install the ProductLense Analytics WordPress plugin and turn on WooCommerce: it links each order to its visitor at checkout, so revenue lands on the right channel. Refunds arrive through Order updated, because WooCommerce has no refund webhook.
Plugins → Add New → ProductLense Analytics → Settings → turn on WooCommerce.
The plugin saves the visitor id on each order (_pl_visitor_id) and links the order key on the order received page.WooCommerce and ProductLense: questions
- Does ProductLense work with WooCommerce?
- Yes. ProductLense connects to WooCommerce with store URL, consumer key, consumer secret, webhook secret, backfills 12 months of history, and stays current through signed webhooks plus a nightly reconcile. One connection is included on Starter; Growth and Scale allow every provider at once on the same site.
- What data does ProductLense read from WooCommerce?
- Customers, subscriptions, payments, refunds and fees, read-only. Payments: processing and completed orders (failed orders kept as failed). Refunds: every refund on an order, dated when it was made. Fees: not in WooCommerce (your payment gateway charges them), so ProductLense subtracts an editable estimate: 2.9% + $0.30 to start.
- Can ProductLense change anything in my WooCommerce account?
- No. ProductLense only makes read calls and receives webhooks. It never creates, changes, refunds or cancels anything, never moves money, and never sees card numbers. Credentials are encrypted at rest, and the AI features only ever see aggregated numbers, never your customers’ data.
- How does ProductLense match WooCommerce payments to visitors?
- Install the ProductLense Analytics WordPress plugin and turn on WooCommerce: it links each order to its visitor at checkout, so revenue lands on the right channel. Refunds arrive through Order updated, because WooCommerce has no refund webhook. Your site calls identify with the same user id after signup, and ProductLense follows the payment to that visitor’s first touch: source, medium, campaign and landing page.
- Are WooCommerce fees subtracted from revenue?
- Not in WooCommerce (your payment gateway charges them), so ProductLense subtracts an editable estimate: 2.9% + $0.30 to start. Net revenue is the charge minus the fee; refunds subtract the refunded amount and its fee. Profit per channel then subtracts ad spend.
Connect WooCommerce and see revenue by channel today.
Add the script, connect Stripe or any of 14 other billing providers, and see revenue by channel the same day.