WooCommerce Zapier Integration

WooCommerce Zapier

This plugin integrates WooCommerce with 750+ third party web services via the Zapier web automation service.

Requirements ↑ Back to top

This plugin has the following requirements:

WordPress version 4.5 or higher
WooCommerce version 2.6 or higher
Zapier Account Free or Paid
WordPress cron Running

Note:

Installation ↑ Back to top

  1. Download the .zip file from your WooCommerce account.
  2. Go to: WordPress Admin > Plugins > Add New to upload the file you downloaded with Choose File.
  3. Activate the extension.

Sign up for a Zapier account ↑ Back to top

  1. Go to the Zapier website
  2. Select the Sign Up for Free button or enter info in the form.

Or log into your existing Zapier account.

Setup and Configuration ↑ Back to top

Zaps and Feeds: WooCommerce and Zapier work together using:

  • Zaps – Managed in Zapier, zaps receive your data from WooCommerce and send it on to another service
  • Zapier Feeds – Managed in WooCommerce, feeds serve data to Zapier when required

Zaps and Zapier Feeds need to go together in pairs – create multiple pairs to integrate with multiple services.

Configuring a Zap ↑ Back to top

Here is a quick overview on configuring a Zap:

  • Start a Zap: Use your Zapier account to create a new Zap, and grab your Webhook URL
  • Publish a Zapier Feed: Use WooCommerce, Zapier Feeds to create a new feed, using your Webhook URL
  • Finalize your Zap: Finish configuring your trigger, action, (optional) filters and data. Test using the sample data, then activate your Zap.

On-screen instructions provide assistance. If needed, more detailed instructions for each of the three steps are below.

Step 1: Start a Zap

To get started, we recommend using one of the recommended Zaps. A recommended Zap is typically quicker than hand-crafting your own from scratch:

Zap Templates Screenshot
Click to view Zap templates

From your Zapier Dashboard, set up a new Zap:

  1. Set Trigger: Click the Create a new Zap button. In the Trigger Service dropdown, choose WooCommerce, and choose a trigger using the additional dropdown – for example, New Order
  2. Set Action: In the Action Service dropdown, choose a service to send your WooCommerce data to. In the Action dropdown, choose your desired action and click Continue.
  3. Get your Webhook URL: Copy your Webhook URL so you can use it when setting up your Zapier Feed.

Leave your Zapier Dashboard open, you’ll come back to it shortly.

Step 2: Publish a Zapier Feed

From your WordPress dashboard:

  1. Create Zapier Feed: Use WooCommerce, Zapier Feeds, Add New to create a new feed.
  2. Set Trigger: Chose the same Trigger you used in Zapier – for example, New Order.
  3. Set Webhook: Paste your Webhook URL into the Webhook URL field.
  4. Name your Zapier Feed: Give your feed a Name/Title that describes this Zap/Zapier Feed pair. For example: Paid Order to Google Docs
  5. Publish your Feed: Click the Publish button – important: a predefined block of sample data will now be sent to your Zap to help you cofigure it. This is NOT live customer data from your store.

Step 3: Finalize Your Zap

Back on your new Zap screen:

  1. Continue: Click the big orange I’ve followed the instructions, Continue button.
  2. Configure your Action: Configure what happens in service you are sending to. Follow the on screen instructions, and when you have finished click Continue.
  3. Filters: Create an optional Filter if you want to fine tune when your Zap fires.  See information on Filters below.
  4. Configure Data: You have specified where your data goes and when, now you need to specify the WooCommerce order information that gets sent. Fill out the available data fields with a combination of your own text and data fields (click the field insert button at the top right of the box to add fields).  When you have finished this step, click Continue.
  5. Test: Try out your Zap using the sample/test data shown next to your fields. When you have finished this step, click Continue.
  6. Name Your Zap: Give your Zap a name. You may find it easiest to use the same Title/Name given to the corresponding Feed.
  7. Make it Live: Click the Make Zap Live button.

When your WooCommerce trigger fires, data will be sent to your Zap to be processed.

Triggers

This extension comes with the following Triggers:

  • New Order triggers when an order’s payment is completed, or when an order has its status changed to Processing.
    Note for deferred payment methods (e.g. Cheque), this trigger will not fire until the order status is manually changed to Processing after the payment has been confirmed.
  • New Customer triggers when a customer registers for an account, for example, to store details for future purchases. If your store allows Guest Checkout, this trigger may not fire very often.
  • New Order Status Change triggers every time an order changes status (including changing to or from a custom order status if using the Order Status Manager extension). Consider using with a Filter.
  • Subscription Created triggers when a subscription is created, either via the Checkout or via the REST API.
    Note: this trigger event fires for both successful and unsuccessful subscription signups. See here for more details.
    Only available when the WooCommerce Subscriptions extension is activated, and you are using WooCommerce Zapier Integration v1.6 or higher.
  • Subscription Renewed triggers when a subscription renewal payment completes successfully.
    Only available when the WooCommerce Subscriptions extension is activated, and you are using WooCommerce Zapier Integration v1.6 or higher.
  • Subscription Renewal Failed triggers when a subscription renewal payment fails.
    Only available when the WooCommerce Subscriptions extension is activated, and you are using WooCommerce Zapier Integration v1.6 or higher.
  • Subscription Status Changed triggers every time a subscription changes status. Consider using with a Filter. See here for more details.
    Only available when the WooCommerce Subscriptions extension is activated, and you are using WooCommerce Zapier Integration v1.6 or higher.

Integrating with more than one service ↑ Back to top

Create additional Zap / Zapier Feed pairs to integrate with more services.

Advanced Zaps

Order Status: WooCommerce orders have a Status field that lets you know how far along the order is, starting from pending and ending with completed. To use status values with Zapier, use lowercase only.

In this extension, the New Order trigger has been pre-configured to fire when an order’s payment is completed, or when an order has its status changed to Processing.

If you want more control, the New Order Status Change trigger will fire whenever an order changes status, and you can use this together with a filter to act only when an order changes to a specific status (for example, refunded). The following order statuses are used in WooCommerce:

  • pending – Order received (unpaid)
  • failed – Payment failed or was declined (unpaid)
  • processing – Payment received and stock has been reduced – the order is awaiting fulfilment
  • completed – Order fulfilled and complete – requires no further action
  • on-hold – Awaiting payment – stock is reduced, but you need to confirm payment
  • cancelled – Cancelled by an admin or the customer – no further action required
  • refunded – Refunded by an admin – no further action required

For more information view the WooCommerce Order Status documentation.

Subscription Status
WooCommerce subscriptions have a Status field that lets you know how far along the subscription is.

The typical status cycle of a subscription is as follows:

  1. Subscription Created with Pending Status.
  2. Successful payment changes subscription to Active.
  3. When a renewal payment is due, the subscription status changes to On Hold.
  4. When the renewal payment successfully completes, the subscription status changes to Active.

To understand the usual lifecycle of your store’s subscriptions, go to Dashboard, WooCommerce, Subscriptions and click on an existing subscription and look at the Subscription Notes section.

Subscriptions are usually created with a Pending status, and are updated to Active once the payment is received.

This means that the Subscription Created trigger event will fire for all subscription signups, including ones with successful payments and failed payments.

If you would like to act only on successful subscription signups, then you can use the Subscription Status Changed trigger event (instead of the Subscription Created) trigger event, along with a filter of

status = active
and
status_previous = pending

Filters: Filters constrain Zap activity based on data within the order. For example, using a filter you could configure a Zap to:

  • act on orders with a status of refunded
  • act on orders for a specific product category
  • act on orders that exceed a specified order value
  • act on orders that are to be shipped to a specific country

See this page for more details and examples on using filters.

For detailed information on all available data fields, please see the Data Specification section below.

Managing Existing Zapier Feeds and Zaps ↑ Back to top

Draft/published Status for Zapier Feeds ↑ Back to top

In your WordPress dashboard, each Zapier Feed can either be active (published) or inactive (draft).

Real WooCommerce data will only be send to active (published) Zapier Feeds.

Viewing WooCommerce Order Notes ↑ Back to top

WooCommerce Order NotesWhenever a WooCommerce order’s data is sent to Zapier, a private note (comment) is added to the WooCommerce order. This helps you understand whether or not that order’s data has been sent to Zapier.

FAQ ↑ Back to top

Can I Add Multiple WooCommerce Installations to my Zapier Account?

Yes you can!
However you need to install the WooCommerce Zapier plugin on each of the WooCommerce sites, which typically means purchasing a 5-site or 25-site subscription for the plugin so each site can be eligible for updates and support.
Each of those sites can be connected to the same Zapier account if you wish.

Is my data secure?

The extension always sends your WooCommerce data to Zapier over an encrypted HTTPS connection, which ensures the connection between your WooCommerce installation and Zapier is secure.

In other words, your WooCommerce store doesn’t require an SSL certificate for this secure connection to operate.

We also recommend familiarizing yourself with Zapier’s Terms of Service.

What data is sent to Zapier? ↑ Back to top

Please see the Data Specification below for full details.

How robust is this? What kind of error handling is there?

When the WooCommerce Zapier extension sends WooCommerce data to Zapier, it does so asynchronously via WordPress cron.

After sending, it checks to see if there is a HTTP 200 response, and if there is a non-200 response, then the data send is retried using an exponential backoff algorithm.

Once the data has been successfully sent to Zapier, then Zapier will try sending WooCommerce data on to the third party web service.

Zapier paid plans have the ability retry/resend any tasks that failed.

Zapier also has a task history screen where you can see the result and full history of each task.

Is this plugin compatible with the WooCommerce Subscriptions plugin?

Yes! Version 1.6 of the WooCommerce Zapier Integration plugin includes support for WooCommerce Subscriptions v2.0.12 or higher.

There are four new trigger events and an entirely new Subscription data object.

Is this plugin compatible with the Checkout Field Editor plugin?

Yes!

Compatibility with the WooCommerce Checkout Field Editor plugin was added in version 1.1 of the Zapier Integration plugin.

Any additional checkout fields added to your store by the WooCommerce Checkout Field Editor plugin will be to sent Zapier, allowing you to use your custom checkout fields in your Zaps that use the New Order or New Order Status Change trigger events.

This announcement post has more details.

You may also wish to view the Checkout Field Editor documentation.

Is this plugin compatible with the Sequential Order Numbers Pro plugin?

Yes!

Compatibility with the WooCommerce Sequential Order Numbers Pro plugin was added in version 1.1 of the Zapier Integration plugin.

If using the WooCommerce Sequential Order Numbers Pro plugin, we recommend using the number data field (not the id data field) in your Zaps. See the Data Specification section below for full details on the number field.

This announcement post has more details.

You may also wish to view the Sequential Order Numbers Pro documentation.

Is this plugin compatible with the Order Status Manager Extension?

Yes, custom order statuses are supported, including ones created with the Order Status Manager extension.

We’d recommend using the “New Order Status Change” trigger event, which triggers every time an order changes status (including changing to or from a custom order status).

Is this plugin compatible with the Pre-Orders Extension?

Yes.

You need to use the New Order Status Change trigger event, which will fire whenever an order changes status.

You can use this together with a filter to act only when an order changes status to pre-ordered:

Pre-Order Filter Example
Pre-Order Filter Example

See the documentation on filters for more information.

Is this plugin compatible with the Groups for WooCommerce plugin?

Whilst we haven’t extensively tested these 3 plugins together, we do know of users that are using them successfully together.

If you are encountering memory exhausted errors when using WooCommerce Zapier, Groups and Groups WooCommerce together, please update to Groups WooCommerce v1.7.3.

Version 1.7.3 of Groups WooCommerce includes a fix that prevents an infinite recursion bug in WooCommerce core.

Is this plugin compatible with the WooCommerce Product Add-Ons plugin?

Yes!

Version 1.2 of the WooCommerce Zapier Integration plugin includes support for the Product Add-Ons extension.

The product add-ons data is now sent to Zapier as part of the line_items field, allowing it to be used in Zap filters.

Is this plugin compatible with the WooCommerce Gravity Forms Add-Ons plugin?

Yes!

Version 1.2 of the WooCommerce Zapier Integration plugin includes support for the Gravity Forms Add-Ons extension.

The product add-ons data is now sent to Zapier as part of the line_items field, allowing it to be used in Zap filters.

Because a single order can contain multiple line items, the line item data is sent as an array (list). Please see below for more details on order line items.

Zapier have recently added a “New Line Item in Order” Trigger to Zapier (see here for details), so you would use the “New Order” trigger on your WooCommerce website’s end for the Zapier Feed, and on the Zapier Zap end you use the “New Line Item in Order” trigger.

Also note that the Zapier Zap editor won’t be aware of your additional Gravity Forms product fields until an order is placed on your WooCommerce store for that product. After that, you can open the Zap Editor and you should see your Gravity Forms fields.

Is this plugin compatible with the WooCommerce Bookings plugin?

No, at this stage the WooCommerce Zapier extension does not support sending Booking information to Zapier.

If you would like to see this featured added, we suggest following these instructions on how to request a new feature.

Why are my Zaps are not being sent? ↑ Back to top

Follow the troubleshooting steps below.

What about order line items?

Unfortunately Zapier’s developer platform does not support handling arrays of data (ie multiple line items).

Because of this, multiple line items cannot be used in an action to (for example) create an invoice in Quickbooks or Xero with multiple (separate) line items.

You can, however, still use a Zapier Filter to perform a text-based search on the line_items data field. See here for an example.

If you would like to see this functionality improved, be sure to vote for this idea on the Woo Ideas Board and once Zapier supports arrays of line items, it will be possible for the WooCommerce Zapier extension to do so.

See also Zapier’s documentation on the New Line Item in Order Trigger.

The same is true for the downloadable_files field and the notes fields.

Can this extension do [insert-feature]?

New features are added to this extension based on customer demand.

We recommend searching for your idea on the WooCommerce Extension Ideas Forum, and if it hasn’t already been suggested, posting the idea there so that others can vote on your idea.

The most popular suggestions may be added to our development roadmap, and included in a future version.

Why did it work on one order but not the other? How do I get it to work?

There may be issues with your WordPress cron jobs.
See the cron troubleshooting section for some suggestions.

How can I change the format of the order date field?

By default, the Order Date field is supplied in a universal timestamp format.

If required, the date/time format can be changed in your Zap by adding a Formatter action to your Zap. For example:

Zapier Date Formatter
Zapier Date Formatter

Troubleshooting ↑ Back to top

If you are having problems with a Zap you have created, we recommend contacting Zapier Support.

They are the best people to help you with any issues that you have within the Zapier dashboard, Zap configuration and/or behaviour.

No data is being sent to Zapier

To troubleshoot, go to your WordPress Dashboard, WooCommerce, System Status.
This page will have some Zapier debugging information, including:

  • Zapier Integration – Active Feeds: The number of active Zapier feeds.
  • Zapier Integration – Cron Tasks: The number of pending cron tasks.

For each active (published) Zapier Feed, some sample data will be sent to Zapier when you view this status screen in in order to detect any potential communication problems.

If all Zapier rows on the System Status screen are green, then everything should be working:

Zapier Status: OK
Zapier Status: OK

However if there are one (or more) red Zapier rows, then there are some potential problems that need fixing:

Zapier Status: Errors
Zapier Status: Errors

Orders are being sent to Zapier multiple times!

If the same order is being sent to the same Zapier Feed multiple times in quick succession (instead of once), please ensure that you are using v1.6.3 or newer of the WooCommerce Zapier extension. v1.6.3 fixes a bug that was causing “New Order” zaps to be sent to Zapier multiple times.

If the problem still persists, then something is probably causing your WordPress cron system to work incorrectly.

If you are using a caching plugin (such as W3 Total Cache), deactivate the plugin and try again.

If your site has a wp-content/object-cache.php file, rename that file to a different name (such as wp-content/object-cache-disabled.php) and try again.

If your site is hosted on WP Engine, please follow these instructions to disable WP Engine’s object caching to see if the problem still occurs.

Technical Description: The mostly likely cause of this issue is your site is using some form of object caching that is causing WordPress’ transients system to work incorrectly.
This causes WordPress’ cron system to run erratically, causing data to be sent to Zapier more than once.

Order Discounts aren’t being sent to Zapier!

You need to use the cart_discount (cart discount) field instead of the discount_total field.

This is because WooCommerce v2.3 and newer does not have a concept of an after tax discount.

See page 2 of the data fields specification for full details.

Error Message: 0 active Zapier Feeds

You must add at least one published (active) Zapier Feed before the plugin will do anything.

Zapier Feeds in Draft status aren’t used – the feed needs to be published (made active) before data is sent to it.

Error Message: Your WordPress cron may not be working correctly

This extension uses WordPress’s built-in WP-Cron system in order to be able to asynchronously send data to Zapier.

This helps ensure that your customers don’t experience a slow checkout process, and it also allows the extension to retry sending the data if there is an error communicating with Zapier.

This means that the WooCommerce Zapier extension will only work properly if your WordPress WP-Cron is working correctly.

The WP Crontrol plugin can help pinpoint cron issues. It tests the WP-Cron spawner on your site and reports the error message if it fails.

Alternatively, you can try to enable Alternative Cron.

If your WordPress installation’s cron system isn’t working correctly, this plugin will not work correctly either.

If your website is hosted with SiteGround, you can follow these instructions to disable WordPress’ in-built cron and replace it with a dedicated cron job. We suggest running the real cron job every 5 minutes or so (rather than every half hour like the article suggests).

If your data is being sent to Zapier erratically, or if your data is being sent slowly rather than straight away, you have a few options:

  1. Create a free PingMate, Pingdom or UptimeRobot account and point it to your store’s front page. This will ensure WP-Cron fires regularly (from every 30 seconds using PingMate to every 5 minutes using UptimeRobot). This is the simplest solution.
  2. Create a manual cron job by following the instructions on this WP Daily tutorial or this WP Tuts+ tutorial. Set it to trigger every 10 seconds. This is a more reliable and flexible solution, but also more difficult to implement.

Error Message: Error sending sample data to http://webhookurl/

This indicates that your website/server was unable to communicate with the Zapier service.

See the next question below for information on how to troubleshoot these kind of issues.

Error Message: There was an error communicating with your Zapier Webhook

There was an error communicating with your Zapier Webhook

This kind of error occurs when you are saving/updating a Zapier Feed in the WordPress dashboard. During the save process, the plugin attempts to send some test/sample data to Zapier.

We recommend re-saving your Zapier Feed, which will cause the test/sample data to be resent. If the problem disappears, then there must have been a temporary issue.

However if the problem persists, it may indicate some kind of connectivity issue between your website’s web server and the Zapier web service.

The error message displayed in the red box should give you an indication of the cause of the connectivity issue.

In some cases, you may have to contact your Web Host, and ask them why a PHP script on their server is unable to connect to https://zapier.com/.

Error Message: You do not have sufficient permissions to access this page

If you receive this message when trying to add a Zapier Feed, please go to the WordPress dashboard, then click on the Posts menu item.

If you are unable to view the lists of posts, then another plugin (or custom code) is causing the WordPress user account to not have the necessary permissions to access WordPress’ built-in posts feature.

The Zapier Feeds screen uses the same permissions as the “posts” screen, so until the user has permissions to access normal posts, they won’t be able to access the zapier feeds screen.

In order to help identify (and eliminate) a conflict with another active plugin, deactivate all plugins except for WooCommerce and WooCommerce Zapier Integration, and revert to the WordPress default theme (Twenty Fourteen).

If the problem persists, try going to Dashboard, Users, and changing your user account’s role back to Administrator. This should reset the permissions on your user account, and once again give you access to posts (and also to the Zapier Feeds screen).

Error Message: Invalid Webhook URL

If you receive this message, please ensure that you are using version 1.1.2 (or newer) of the WooCommerce Zapier plugin.

Why is the “Integrate WooCommerce & Zapier” pointer always showing?

The “Integrate WooCommerce & Zapier” pointer will show in the WordPress admin area unless there is one or more published Zapier Feeds.

You may have one or more Zaps configured at Zapier’s end, but you also have one or more Zapier Feeds configured in WordPress.

Dashboard, WooCommerce, Zapier Feeds.

See Step 2: Publish a Zapier Feed above for more details.

Alternatively, you can deactivate the WooCommerce Zapier plugin until you are ready to create your first Zapier Feed.

Installing The Debugging/Logging plugin

WooCommerce support may ask you to install the WooCommerce Zapier Debugging plugin.

This plugin allows us to view debug logs which will help in troubleshooting and narrowing down to the exact cause of an issue.

  1. Download this file and save it to your computer.
  2. Go to your WordPress Dashboard, Plugins, Add New, Upload File, then upload the file from step 1.
  3. Click Activate Plugin.
  4. The debugging plugin is now installed. From this point on, as new orders flow in, the WooCommerce Zapier extension’s actions and tasks will be logged to a file.
  5. This log file can be accessed by going to Dashboard, Plugins, WooCommerce Zapier Integration Debugger, Debug Logs.
  6. Once your issue has been resolved, please be sure to deactivate and uninstall this plugin as it is no longer required.

The latest version of the WooCommerce Zapier Integration Debugger plugin is v1.0.4 (released 6 April 2017). If you’re using an older version, please deactivate and delete it, and install the latest version using the steps outlined above.

Data Specification / Fields ↑ Back to top

For full details of which fields and data types sent to Zapier, please see the following PDF documents.

Order Data Field Specification ↑ Back to top

These data fields apply to the following triggers:

  • New Order
  • New Order Status Change

Order Data Field Specification

Customer Data Field Specification ↑ Back to top

These data fields apply to the following trigger:

  • New Customer

Customer Data Specification

Subscription Data Field Specification ↑ Back to top

These data fields apply to the following triggers:

  • Subscription Created
  • Subscription Renewed
  • Subscription Renewal Failed
  • Subscription Status Changed

Important: these fields are only available if using WooCommerce Zapier Integration v1.6 (or newer), and you also have the WooCommerce Subscriptions extensions activated.

Subscription Data Field Specification

Also see the Zapier documentation for WooCommerce on Zapier.com.

Questions & Support ↑ Back to top

Have a question before you buy? Please fill out this pre-sales form.

Already purchased and need some assistance? Get in touch with the us by submitting a support ticket via our Help Desk.

WooCommerce - the most customizable eCommerce platform for building your online business.

Back to the top