User Guide for Version 1.x
Heads Up. This is an old guide for users who haven’t yet updated to WooCommerce Zapier Version 2
If you are a new user, or you have already updated to version 2, please go to the current User Guide instead.
This plugin integrates WooCommerce with 2000+ third-party web services via the Zapier web automation service.
Requirements¶
The WooCommerce Zapier plugin has the following minimum requirements:
Software | Requirement |
---|---|
PHP | version 5.6.20 or higher (we recommend using PHP 7.3 or greater) |
WordPress | version 4.7 or higher |
WooCommerce | version 3.5 or higher |
Zapier Account | Free or Paid |
WordPress cron | Running and operational |
Note
- Zapier accounts have free and paid plans – see the Zapier Pricing page for more info.
- cron is a standard part of WordPress. If not running, this plugin will not work. See the Troubleshooting section.
Installation¶
- Download the .zip file from your WooCommerce account.
- Go to: WordPress Admin > Plugins > Add New to upload the file you downloaded with Choose File.
- Activate the extension.
- Optionally activate your License Key on the WooCommerce Extensions / Subscriptions screen, so that you have access to future WooCommerce Zapier versions from within your WordPress Dashboard.
Sign up for a Zapier account¶
- Go to the Zapier website
- Select the Sign Up for Free button or enter info in the form.
Or log into your existing Zapier account.
Setup and Configuration¶
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¶
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:
From your Zapier Dashboard, set up a new Zap:
- 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
- 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.
- 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:
- Create Zapier Feed: Use WooCommerce, Zapier Feeds, Add New to create a new feed.
- Set Trigger: Chose the same Trigger you used in Zapier – for example, New Order.
- Set Webhook: Paste your Webhook URL into the Webhook URL field.
- Name your Zapier Feed: Give your feed a Name/Title that describes this Zap/Zapier Feed pair. For example:
Paid Order to Google Docs
- Publish your Feed: Click the Publish button. Sample data will now be sent to your Zap to help you configure it.
Step 3: Finalize Your Zap¶
Back on your new Zap screen on Zapier.com:
- Continue: Click the big orange I’ve followed the instructions, Continue button.
- Configure your Action: Configure what happens in service you are sending to. Follow the on screen instructions, and when you have finished click Continue.
- Filters: Create an optional Filter if you want to fine tune when your Zap fires. See information on Filters below.
- 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.
- Test: Try out your Zap using the preview data shown in each of your fields. You may find it useful to toggle the Setup Preview a few times to understand what data fields your Zap is using. When you have finished this step, click Continue.
- Name Your Zap: Give your Zap a name. You may find it easiest to use the same Title/Name given to the corresponding Feed.
- 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. 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¶
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 by default:
- 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:
- Subscription Created with Pending Status.
- Successful payment changes subscription to Active.
- When a renewal payment is due, the subscription status changes to On Hold.
- When the renewal payment successfully completes, the subscription status changes to Active.
To understand the usual life cycle 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
Note
Filters are added on the Zapier.com website by editing your Zap and then adding a Filter step to your Zap.
For more information on the WooCommerce Subscription status flow, please see the Subscription Status Guide documentation.
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¶
Draft/published Status for Zapier Feeds¶
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¶
Whenever 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.
Compatibility¶
WooCommerce Subscriptions¶
Status: Compatible
Version 1.6 of the WooCommerce Zapier Integration plugin includes support for WooCommerce Subscriptions.
There are four new trigger events and an entirely new Subscription data object.
Checkout Field Editor¶
Status: Compatible
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.
Sequential Order Numbers Pro¶
Status: Compatible
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.
Order Status Manager Extension¶
Status: Compatible
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).
Pre-Orders Extension¶
Status: Compatible
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
:
See the documentation on filters for more information.
Groups for WooCommerce¶
Status: Confirmed
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.
WooCommerce Product Add-Ons¶
Status: Compatible
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.
We don’t recommend using the product add-on data in Zap templates, unless all of your products have the same add-on fields available. This is because a Zap requires a predictable set of fields coming through for each and every order line item.
WooCommerce Gravity Forms Add-Ons¶
Status: Compatible
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.
WooCommerce Bookings¶
Status: Not compatible
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.
FAQ¶
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 Legal.
What data is sent to Zapier?¶
Please see the Data Specification below for full details.
Why are my Zaps are not being sent?¶
Follow the troubleshooting steps below.
What about order line items?¶
Version 1.9 of the WooCommerce Zapier Integration plugin includes line item support.
The WooCommerce Zapier integration from version 1.9.0 does have full support for handling arrays (lists) of data (such as multiple order line items).
Multiple line items can be used in supported action to (for example) create an itemised invoice in Quickbooks or Xero with multiple (separate) line items.
Alternatively, you can still use the New Line Item in Order Trigger.
The same is true for the downloadable_files
field and the notes
fields.
Note
Zapier can support line items for specific apps but does not do so by default, so you’ll want to check to see if the action you’re want to pair with WooCommerce Zapier has line item support. Most often line item support relates to invoicing and financial apps, but some other apps do have support as well.
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 Zapier Feature Suggestions board, 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:
Can I send previous (historical) orders to Zapier?¶
After you install and configure WooCommerce Zapier, it will act on orders that are placed or changed from that point onwards.
It won’t automatically send all previous orders to Zapier.
Can I use a separate Zap for each product?¶
Each Zap set up will apply to all orders (and thus all products) by default, however a filter can be added to each individual Zap so that it will only act (for example) on orders for a specific product name, SKU or product category.
With this setup, you would have one Zapier Feed (and one Zap that contains a filter) for each individual product in your store.
This approach works well for stores with a small number of products (less than 10), however if your store has many products (each needing their own Zap) then this approach isn’t very scalable or performant.
To set this up, you will need to create a separate Zap for each individual product or product category you want to have a specific action related to.
Then you will need to set up a conditional filter inside each of those Zap’s to specify which product you want it to fire for, and finalise it with an action (such as sending it to a specific spreadsheet).
Please see here for more details on filters.
Troubleshooting¶
If you are having problems, please ensure that you have updated to the latest version of the WooCommerce Zapier integration plugin.
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¶
Please ensure that you are using v1.7 or newer of the WooCommerce Zapier extension, as v1.7 fixes the most common cause of this problem.
If the problem persists, 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:
However if there are one (or more) red Zapier rows, then there are some potential problems that need fixing:
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 the latest version of the WooCommerce Zapier extension, as recent versions should fixe the most common causes of this problem.
If the problem still persists, please try the following:
- If you are using PayPal Standard for your payment method, go to WooCommerce Settings, Payments, PayPal, and remove your PayPal identity token. This will prevent a core WooCommerce bug from occurring where both an IPN and PDT response is received simultaneously, which causes the order to change status twice. This then causes your stock levels to be reduced twice, and it unfortunately also causes your Zapier feeds to be sent twice.
- If you are using a caching plugin (such as W3 Total Cache or WP Super 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 aswp-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.
If you are still experiencing issues, please submit a support ticket via Woo so that we can assist you.
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:
- Create a free 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.
- 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 https://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
¶
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 sample data to Zapier.
We recommend re-saving your Zapier Feed, which will cause the 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’re seeing this error when pasting the webhook into WooCommerce, this means that you aren’t on the latest version of the WooCommerce Zapier plugin. Please ensure that you are using version 1.1.2 (or newer) of the WooCommerce Zapier plugin.
Ensure the trailing slash (/
) is on the URL: Instead of https://hooks.zapier.com/hooks/catch/12345/abcde
use https://hooks.zapier.com/hooks/catch/12345/abcde/
.
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.
Using the logged information¶
This plugin uses the WooCommerce’s capabilities for logging.
Logs can be found on the dashboard of a site. To view the logs:
- Go to WooCommerce → Status
- Click on the Logs tab
- Choose
woocommerce-zapier-*
from the drop-down - Press the View button
The log by default contains all the significant errors that occurred within the plugin.
Note
The log file may be missing for this plugin if there are no errors in the past.
Logging all debug information¶
For increase the log information to almost everything, including data that sent to Zapier the WooCommerce support may ask you to install the WooCommerce Zapier Debugging plugin.
This plugin enables all debug information in the logs which will help in troubleshooting and narrowing down to the exact cause of an issue.
- Download this file and save it to your computer.
- Go to your WordPress Dashboard, Plugins, Add New, Upload File, then upload the file from step 1.
- Click Activate Plugin.
- The debugging plugin is now installed. From this point on, as new orders flow in, the WooCommerce Zapier extension’s all actions and tasks will be logged.
- 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.6 (released 7 May 2019). If you’re using an older version, please deactivate and delete it, and install the latest version using the steps outlined above.
WooCommerce support may ask your WooCommerce Zapier log file.
For more information on the WooCommerce logging, please see the Understanding the WooCommerce System Status Report documentation.
Task History on zapier.com¶
Another place where you can see previously sent information to Zapier is the Task History page in your dashboard.
You can find more information in the Task History Help page in Zapier.
Data Specification / Fields¶
For full details of which fields and data types sent to Zapier, please see the following PDF documents.
Order Data Field Specification¶
These data fields apply to the following triggers:
- New Order
- New Order Status Change
Customer Data Field Specification¶
These data fields apply to the following trigger:
- New Customer
Subscription Data Field Specification¶
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.
Also see the Zapier documentation for WooCommerce on zapier.com.
Known Issues¶
New Order triggering twice with PayPal payment processor¶
With the PayPal payment processor, the orders are completed twice inside WooCommerce.
In an affected order, you can see at the bottom of order notes, that the “WooCommerce status change” happened twice. In both cases from “Pending Payment” to “Completed”. Once for IPN, once for PDT.
This behaviour is a bug in the WooCommerce itself. You can look at the Original issue in GitHub which is closed, but not resolved.
The only solution, for now, to disable either the PDT or the IPN in the PayPal settings, as described here: https://github.com/woocommerce/woocommerce/issues/15951#issuecomment-312882873
Questions & Support¶
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. The way the ticket to arrive at us to choose “Help with my extensions” first, then Choose “WooCommerce Zapier”.