WooCommerce

WooCommerce makes it easy to build and customize your online business, no matter the size. This article will give you an overview of the Grow/WooCommerce integration.

In this article, we will cover:

Connecting to WooCommerce

Before connecting please collect your WooCommerce store URL, Consumer Key and Consumer Secret.

  1. Click on the Data tab at the top left of the global navigation. Then click on Connections in the Data Library section.
  2. Click on the blue Connect button, search for WooCommerce, and click on the logo.
  3. To connect with WooCommerce, you need your store URL, and your Consumer Key and Consumer Secret.
  4. There are a few steps to turn on the WooCommerce API. Which can be found on the WooCommerce article here. We simplified the steps from their article below:
  5. Turn on the WordPress permalinks on in Settings > Permalinks.
  6. Enable REST API in WooCommerce > Settings > API tab and tick the Enable REST API checkbox.
  7. Create your API keys in WooCommerce > Settings > API > Keys/Apps.
  8. Select Add Key:

  9. Select the User you would like to generate a key for in the User field and add a Description. Choose the level of access for this API key, which can be Read access, Write access or Read/Write access. Then select the Generate API Key button and WooCommerce will generate API keys for that user.

  10. Now that keys have been generated, you should see two new keys, a QRCode, and a Revoke API Key button. These two keys are your Consumer Key and Consumer Secret.

  11. Copy your keys, then paste them into Grow.
  12. When you've done that, press the blue Submit button.

And that is it. You are good to go!

Data Warehousing

WooCommerce is on the Grow Data Warehouse, which we highly recommend you use. For more information about warehousing your data, visit the Data Warehouse Help Article.

Suggested Tables

The following suggested tables are available in Grow. These are toggled on by default when you sync your data for the first time.

  • Customers
    • Customers (Formatted)
    • Customers Metadata
  • Orders
    • Orders (Formatted)
    • Order Line Items
    • Order Refunds
  • Sales Report
  • Sales Report By Day

woocommerce_warehouse.png

Warehousing your Data

  1. Starting with the Connections Overview Page, navigate to your WooCommerce connection and click on it to open the Connection Details page.
  2. Select the Manage Connection button inside the Connection Details section to open the warehouse table selection flow.
  3. If your data source isn't already connected, refer to the Connecting to Data Sources for more details. If your data source is already connected, you can immediately select which tables of data you want to warehouse.
  4. Once you have finished selecting the data that you want stored in the Data Warehouse, click the Sync & Store button at the bottom of the Manage Connection page. This will begin the initial population of your warehouse with the tables you defined. Populating your data warehouse for the first time may take a while, even up to several hours.
  5. While your data is "In Queue" or "Processing", you may continue working within the app.

Sync Interval

Full Sync

The default sync interval is 12 hours per table for the following tables:

  • Customers
  • Orders
  • Sales Report
  • Sales Report By Day

Incremental Sync

When incremental sync is available, the default incremental sync interval is 1 hour, while the default full sync interval is 1 week.

Incremental sync is not currently available for WooCommerce warehoused tables.

To learn more about sync intervals and how to adjust the default settings, please visit the this section of the Data Warehouse help article.

Direct Query

A direct query connection can be used to pull data into Grow. With abnormal usage, Direct Query can run into API limitations depending on the data source. For this reason, we recommend that you use Grow's Data Warehouse for a more performant, reliable experience.

Endpoints

Below is a list of the endpoints offered through the Grow/WooCommerce integration, along with the data that each endpoint returns.

  • Customers: ID, Created At, Last Update, Email, First Name, Last Name, Username, Role, Last Order ID, Last Order Date, Orders Count, Total Spent, Avatar URL, Billing Address First Name, Billing Address Last Name, Billing Address Company, Billing Address Address 1, Billing Address Address 2, Billing Address City, Billing Address State, Billing Address Postcode, Billing Address Country, Billing Address Email, Billing Address Phone, Shipping Address First Name, Shipping Address Last Name, Shipping Address Company, Shipping Address Address 1, Shipping Address Address 2, Shipping Address City, Shipping Address State, Shipping Address Postcode, Shipping Address Country
  • Orders: ID, Order Number, Order Key, Created At, Updated At, Completed At, Status, Currency, Total, Subtotal, Total Line Items Quantity, Total Tax, Total Shipping, Cart Tax, Shipping Tax, Total Discount, Shipping Methods, Payment Details Method ID, Payment Details Method Title, Payment Details Paid, Billing Address First Name, Billing Address Last Name, Billing Address Company, Billing Address Address 1, Billing Address Address 2, Billing Address City, Billing Address State, Billing Address Postcode, Billing Address Country, Billing Address Email, Billing Address Phone, Shipping Address First Name, Shipping Address Last Name, Shipping Address Company, Shipping Address Address 1, Shipping Address Address 2, Shipping Address City, Shipping Address State, Shipping Address Postcode, Shipping Address Country, Customer IP, Customer User Agent, Customer ID, View Order URL, Tax Lines, Fee Lines, Is Vat Exempt, Customer ID, Customer Created At, Customer Last Update, Customer Email, Customer First Name, Customer Last Name, Customer Username, Customer Role, Customer Last Order ID, Customer Last Order Date, Customer Orders Count, Customer Total Spent, Customer Avatar URL, Customer Billing Address First Name, Customer Billing Address Last Name, Customer Billing Address Company, Customer Billing Address Address 1, Customer Billing Address Address 2, Customer Billing Address City, Customer Billing Address State, Customer Billing Address Postcode, Customer Billing Address Country, Customer Billing Address Email, Customer Billing Address Phone, Customer Shipping Address First Name, Customer Shipping Address Last Name, Customer Shipping Address Company, Customer Shipping Address Address 1, Customer Shipping Address Address 2, Customer Shipping Address City, Customer Shipping Address State, Customer Shipping Address Postcode, Customer Shipping Address Country
  • Order Line Items: ID, Created At, Updated At, Status Subtotal, Subtotal Tax, Total, Total Tax, Price, Quantity, Tax Class, Name, Product ID, SKU
  • Sales Report: Sales, Orders, Items, Tax, Shipping, Discount, Customers, Date

API Documentation

https://woocommerce.com/document/woocommerce-rest-api/

This is for reference only. You should not need to consult this to use the connection in Grow.

FAQs

WooCommerce and WordPress

If you have a WooCommerce site that is based on WordPress, you have the option of connecting the MySQL database instead through Grow's native connector.

You can only bring in the entire Customers report

There aren't any options for filtering down the Customers report when pulling it into Grow, so you have to bring in the entire report. That means it could take a little longer to pull in that report depending on your account. If the report is too large, you might get a "time out" error when connecting via direct query. If this occurs, consider warehousing your Customers table for a more reliable, performant experience.

Was this article helpful?