Start free

Shop orders by source (WooCommerce and Shopify)

Connect WooCommerce or Shopify to see orders and revenue by traffic source, alongside Stripe.

Integrations, API & AIFeature page: Shop orders by source: WooCommerce and Shopify
Revenue card with WooCommerce and Shopify orders by source: Reddit, Google, a newsletter and ChatGPT, with sales and revenue for eachRevenue card with WooCommerce and Shopify orders by source: Reddit, Google, a newsletter and ChatGPT, with sales and revenue for each
Example with made-up numbers.

What it does

Your shop sends each paid order to quietstats by webhook. The Revenue card and revenue by source then show shop orders next to Stripe sales: sales, revenue, conversion rate and revenue per visitor, split by channel, source and landing page.

Why it matters

Visitors are only half the story for a shop. Knowing that Reddit sent 40 visitors is useful; knowing it sent £140 of orders is what decides where you spend your time.

How to use it

  1. Open Manage site for your shop and scroll to Revenue by source → 3. WooCommerce or Shopify. Copy the webhook address.
  2. WooCommerce: Settings → Advanced → Webhooks → Add webhook, topic Order updated, that address and a secret you make up. Shopify: Settings → Notifications → Webhooks → Create webhook, event Order payment, JSON, that address.
  3. Paste the secret into quietstats and tap Save secret. Paid orders show on the Revenue card on your dashboard from then on.

How it works

How a shop order is counted1. A customer pays. WooCommerce (Order updated) or Shopify (Order payment) sends the order to your quietstats webhook address. 2. The signature is checked with your saved secret (HMAC-SHA256). Wrong or missing signature: refused. (otherwise: Secret stored encrypted) 3. Not paid yet, a Shopify test order or older than 35 days: not counted. 4. Read only total, currency, date and the shop’s attribution (referrer, utm source/medium, first page). Customer details are never read. (otherwise: Order number kept only as a hash) 5. Added once to that day’s total for its channel, source and landing page; shows on the Revenue card.1A customer pays. WooCommerce(Order updated) or Shopify(Order payment) sends theorder to your quietstatswebhook address.2The signature is checked withyour saved secret(HMAC-SHA256). Wrong ormissing signature: refused.Secret storedencrypted3Not paid yet, a Shopify testorder or older than 35 days:not counted.4Read only total, currency,date and the shop’sattribution (referrer, utmsource/medium, first page).Customer details are neverread.Order numberkept only as ahash5Added once to that day’s totalfor its channel, source andlanding page; shows on theRevenue card.
From the shoporders.js code. 2 rows written per new paid order, 0 for a repeat, 0 script bytes.

Privacy

Limits

Plans

Every plan, including Free. quietstats is free during launch: the Free plan covers 1 site and 5,000 pageviews a month, and no card is needed. See pricing.

Questions

Does it need a plugin?

No. Both shops can send webhooks from their admin. WooCommerce records where each order came from itself; Shopify sends the referring site and landing page with the order.

Is any customer data sent to quietstats?

The shop sends its normal order data, but quietstats reads only the total, currency, date, paid status and where the order came from. Nothing about the customer is read or stored.

Can I use it with Stripe too?

Yes. Shop orders and Stripe sales add up on the same Revenue card, each counted once.

Related