For the complete documentation index, see llms.txt. This page is also available as Markdown.

WooCommerce

WooCommerce is the most popular open-source ecommerce plugin for WordPress, powering millions of online stores worldwide. With Coupler.io, you can automatically pull your WooCommerce store data — orders, products, customers, coupons, and more — into your destination of choice without writing a single line of code.

Why connect WooCommerce to Coupler.io?

  • Centralize your store data in Google Sheets, Excel, BigQuery, Looker Studio, or AI tools like ChatGPT, Claude, or Gemini

  • Automate reporting on sales, top sellers, coupon usage, and customer behavior on a schedule you control

  • Combine multiple entities using Join or Append transformations — for example, join Orders with Customers, or append data from multiple WooCommerce stores

  • Export historical data by filtering orders, products, and coupons by date range

Prerequisites

Before connecting, make sure you have:

  • A live WooCommerce store with a public-facing URL (not localhost)

  • Admin access to generate WooCommerce REST API keys

  • WooCommerce REST API enabled (it's on by default in WooCommerce 2.6+)

  • If your site uses Cloudflare or another WAF, you may need to whitelist Coupler.io's IP addresses — see Common Issues for details

Quick start

How to connect

1

Generate your WooCommerce API keys. In your WordPress admin, go to WooCommerce → Settings → Advanced → REST API. Click Add key, set the permissions to Read, and click Generate API key. Copy both the Consumer Key and Consumer Secret — you'll need them in the next step.

2

Create a new data flow in Coupler.io. Go to your Coupler.io account, click Add data flow, and select WooCommerce as the source.

3

Enter your store credentials. Paste your WooCommerce store URL (e.g., https://yourstore.com), Consumer Key, and Consumer Secret into the connection fields, then click Connect.

4

Select an entity. Choose which data you want to export — for example, Orders, Products, or Report: Sales report. Configure any available filters such as date range or order status.

5

Choose your destination. Select where you want your data to land — Google Sheets, Excel, BigQuery, Looker Studio, or an AI destination like ChatGPT or Claude.

6

Run your data flow. Click Run to execute a manual sync. Once it completes successfully, your data will appear in the destination.

Available entities

Entity
Description

Orders

All orders with status, totals, customer info, and metadata

Orders with line items

Orders expanded to one row per line item — ideal for product-level analysis

Products

Full product catalog including prices, stock, and categories

Customers

Registered customer profiles and contact details

Coupons

Coupon codes, discount types, usage counts, and expiry dates

Product categories

Category hierarchy and metadata

Product attributes

Attribute names and terms (e.g., size, color)

Product tags

Tags assigned to products

Product reviews

Review text, ratings, and reviewer details

Product shipping classes

Shipping class names and slugs

Shipping zones

Configured shipping zones

Tax classes / Tax rates

Tax configuration data

Currencies / Countries / Continents

Store localization reference data

Report: Sales report

Aggregated sales metrics for a selected period

Report: Top sellers report

Best-selling products by quantity sold

Report: Order totals

Order count breakdown by status

Report: Product totals

Total product and variation counts

Report: Customer totals

Customer count breakdown

Report: Coupon totals

Coupon usage summary

Report: Review totals

Review count by status

WooCommerce data overview

Coupler.io gives you access to a wide range of WooCommerce data — from transactional records like orders and line items to aggregated reports and store configuration. Here's a breakdown of what's available and how to use it.

Entities and reports

Type
Entities

Transactional

Orders, Orders with line items, Customers, Coupons, Product reviews

Catalog

Products, Product categories, Product attributes, Product tags, Product shipping classes

Aggregated reports

Sales report, Top sellers report, Order totals, Product totals, Customer totals, Coupon totals, Review totals

Reference / Config

Currencies, Countries, Continents, Shipping zones, Tax classes, Tax rates

Metrics and dimensions

Orders

Field
Description

id

Unique order ID

status

Order status (pending, processing, completed, etc.)

currency

Currency code used for the order

date_created

Date and time the order was placed

date_modified

Date and time the order was last updated

total

Order grand total

subtotal

Order subtotal before discounts and tax

total_tax

Total tax amount

discount_total

Total discount applied

shipping_total

Shipping cost

payment_method_title

Payment method label

customer_id

ID of the customer (0 for guests)

billing / shipping

Address fields for billing and shipping

Orders with line items

This entity expands each order into one row per product, making it ideal for product-level sales analysis.

Field
Description

order_id

Parent order ID

line_item_name

Product name in the order

line_item_quantity

Quantity ordered

line_item_total

Line item total price

line_item_sku

Product SKU

line_item_product_id

Product ID

Products

Field
Description

id

Product ID

name

Product name

sku

Stock keeping unit

price / regular_price / sale_price

Pricing fields

stock_quantity

Current stock level

stock_status

In stock, out of stock, or on backorder

categories

Assigned category names

tags

Assigned tag names

date_created / date_modified

Timestamps

status

Published, draft, private, etc.

Customers

Field
Description

id

Customer ID

email

Email address

first_name / last_name

Name fields

date_created

Account creation date

orders_count

Total number of orders placed

total_spent

Lifetime value

billing / shipping

Address details

Coupons

Field
Description

id

Coupon ID

code

Coupon code

discount_type

Percent, fixed cart, or fixed product

amount

Discount value

usage_count

Times the coupon has been used

usage_limit

Maximum allowed uses

date_expires

Expiry date

Report: Sales report

Field
Description

total_sales

Gross sales for the period

net_revenue

Revenue after refunds and discounts

average_sales

Average order value

total_orders

Number of orders

total_items

Total items sold

total_discount

Total discounts applied

total_refunds

Total refunded amount

total_tax

Total tax collected

total_shipping

Total shipping collected

Report: Top sellers report

Field
Description

name

Product name

product_id

Product ID

quantity

Units sold in the period

Common metric combinations

  • Orders + Customers (Join on customer_id) — analyze lifetime value and order frequency per customer

  • Orders with line items + Products (Join on product_id) — enrich line item data with current stock and pricing

  • Report: Sales report filtered by period — track revenue trends week-over-week or month-over-month

  • Coupons + Report: Coupon totals — compare coupon configuration against actual usage performance

Use cases by role

  • Monitor daily and monthly revenue using the Sales report entity in Google Sheets or Looker Studio

  • Track which products are driving the most sales with the Top sellers report

  • Feed order and revenue data into ChatGPT or Claude to generate automated store performance summaries

  • Analyze coupon campaign performance by combining Coupons and Report: Coupon totals

  • Segment customers by total_spent or orders_count from the Customers entity to identify high-value segments

  • Use Product reviews data to surface sentiment trends and identify products with low ratings

  • Use Orders with line items to reconcile revenue by product and category

  • Pull Tax rates and order tax fields into BigQuery for finance reporting

  • Monitor stock levels with the Products entity and alert on low stock_quantity values

Platform-specific notes

  • Product variations are not a separate entity — variation-level data is nested within the Products response. Coupler.io does not currently expand variations into individual rows.

  • WooCommerce Subscriptions is a separate plugin; subscription-specific data is not available through the standard WooCommerce REST API.

  • Custom fields / meta fields added by third-party plugins are not included in standard entity exports.

  • The Search filter performs an exact match only — partial or fuzzy searches will not return results.

  • Date filters (After date / Before date) apply to date_created on the server side. They are available for Orders, Orders with line items, Products, Product reviews, and Coupons.

  • The Sales report and Top sellers report entities support period selection (Today, This Week, This Month, Last Month, This Year, or Custom with a date picker).

  • Stores using Cloudflare or other web application firewalls may need to whitelist Coupler.io to allow API requests through.

WooCommerce common issues

Connection issues

Cloudflare or a WAF is blocking the connection

This is the most common connection problem for WooCommerce users. If your site uses Cloudflare (or another web application firewall), it may block Coupler.io's requests and return an HTML page instead of JSON data. You'll typically see errors like line 1 column 1 (char 0) or a generic "non-JSON response" message.

To fix this, whitelist Coupler.io's IP addresses in your Cloudflare firewall rules, or temporarily disable the "Bot Fight Mode" or "Under Attack" mode. Contact Coupler.io support to get the current list of IP addresses to whitelist.

401 Unauthorized — access token is invalid

This means the Consumer Key or Consumer Secret you entered is incorrect, or the API key has been deleted or regenerated in WooCommerce.

Go to WooCommerce → Settings → Advanced → REST API in your WordPress admin and verify the key exists. If you've regenerated it, create a new data flow connection in Coupler.io with the updated credentials. Also double-check that you're using the correct store URL — it must match the URL your WooCommerce store is served on exactly.

Wrong site URL causing a non-JSON response

If your store URL redirects (e.g., from HTTP to HTTPS, or from www to non-www), Coupler.io may receive an HTML redirect page instead of API data. Always enter the final, canonical URL of your store — the one you see in your browser after all redirects resolve.

Missing data

Product variations are missing

WooCommerce returns product variations as nested data within each product record, not as top-level rows. Coupler.io does not currently expand variations into individual rows. If you need variation-level data, consider using the Orders with line items entity, which includes the specific variation purchased in each order.

Custom fields or plugin-specific data is not appearing

Custom meta fields added by third-party plugins (e.g., WooCommerce Subscriptions, WCMP Multi-Vendor, custom checkout fields) are not part of the standard WooCommerce REST API response and are not exported by Coupler.io. This is a WooCommerce API limitation. If you need this data, check whether the plugin exposes its own REST API endpoint.

The Search filter isn't returning expected results

The Search parameter performs an exact match only. For example, searching SMYTH will only return results where that exact string appears — partial matches won't work. Make sure you're entering the full, exact value. For orders, you can search by customer name or line item title.

Permission errors

API key doesn't have the right permissions

If you generated an API key with Write or No access permissions, Coupler.io won't be able to read your data. Go back to WooCommerce → Settings → Advanced → REST API, edit your key, and set permissions to Read. Then reconnect in Coupler.io.

Data discrepancies

Sales report numbers don't match the WooCommerce dashboard

The Report: Sales report entity reflects the same data as the WooCommerce built-in reports, but results depend on the period selected. Make sure the period in your data flow matches what you're comparing in the dashboard. If you're using a Custom period, use the date picker carefully — the report is inclusive of the start date and exclusive or inclusive of the end date depending on WooCommerce's rounding.

Timestamp fields cause errors in BigQuery

WooCommerce date fields are returned as strings in ISO 8601 format. BigQuery's schema autodetection may fail to parse them as timestamps in some cases. If you see a "could not parse as timestamp" error, cast the field explicitly in BigQuery using PARSE_TIMESTAMP or adjust the column type in your BigQuery table schema.

Rate limits and timeouts

Data flow times out on large stores

If your store has tens of thousands of orders or products, the WooCommerce REST API may take too long to respond and cause a timeout error. To work around this, use the After date and Before date filters to split your export into smaller date ranges. You can create multiple sources within one data flow and use the Append transformation to combine them.

"Maximum number of columns" error

Coupler.io has a limit of 2,000 columns per data flow. If your WooCommerce data includes many nested or metadata fields, you may hit this limit. Use the Columns setting in the data flow to specify only the fields you need, which reduces the column count and improves performance.

WooCommerce FAQ

What WooCommerce API key permissions do I need?

You only need Read permissions. When generating the key in WooCommerce → Settings → Advanced → REST API, set the permissions dropdown to Read. Write access is not required and is not recommended for security reasons.

Can I export product variations as individual rows?

Not directly. The WooCommerce REST API returns variations as nested data inside each product record, and Coupler.io does not currently expand them into separate rows. As a workaround, use the Orders with line items entity — it includes the specific variation name and ID for each item purchased.

Can I export WooCommerce Subscriptions data?

WooCommerce Subscriptions is a separate plugin that extends the WooCommerce REST API with its own endpoints. These are not currently supported as a dedicated entity in Coupler.io. If this is a feature you need, reach out to Coupler.io support to register your interest.

How does the Search filter work?

The Search parameter filters results by exact match only. For Orders, you can search by customer name (e.g., SMITH) or by a line item title (e.g., HOODIE WITH LOGO). Partial matches, wildcards, and fuzzy searches are not supported — this is a WooCommerce API limitation.

Can I pull data from multiple WooCommerce stores into one destination?

Yes. Add each store as a separate source within the same data flow, connecting each with its own API credentials. Then use the Append transformation to combine the data into a single table in your destination. You may want to add a custom column to tag each row with the store it came from.

Why am I getting a "non-JSON response" or "line 1 column 1 (char 0)" error?

This almost always means something between Coupler.io and your WooCommerce REST API is returning an HTML page instead of JSON. The most common causes are Cloudflare firewall rules, a wrong store URL (e.g., using HTTP instead of HTTPS), or a redirect loop. See the Connection Issues section for detailed fixes.

Can I export custom fields added by third-party plugins?

Custom meta fields are not included in standard WooCommerce REST API responses unless the plugin explicitly registers them as REST API fields. Coupler.io exports what the WooCommerce API returns, so if a field isn't in the API response, it won't appear in your export.

What's the difference between Orders and Orders with line items?

Orders gives you one row per order, with order-level totals and customer details. Orders with line items expands each order into one row per product purchased, which is what you need for product-level revenue analysis, COGS calculations, or category-level reporting. For most analytical use cases, Orders with line items is the more useful entity.

How do I load historical data without timing out?

Use the After date and Before date filters to break your export into smaller chunks — for example, one export per quarter. You can run these as separate sources in one data flow and use the Append transformation to combine them. Once you have your historical baseline loaded, switch to incremental syncs using the After date filter set to a recent date.

Can I send my WooCommerce data to an AI tool like ChatGPT or Claude?

Yes. Coupler.io supports AI destinations including ChatGPT, Claude, Gemini, Perplexity, Cursor, and OpenClaw. You can send your WooCommerce sales or product data directly to these tools for analysis, summaries, or automated reporting.

For a full breakdown of available fields and metrics, see the Data Overview article. For connection errors and troubleshooting steps, see Common Issues.

Last updated

Was this helpful?