WooCommerce
WooCommerce is the world’s most-used WordPress e-commerce plugin, powering 25%+ of all online stores. Advanced Form Integration captures WooCommerce events (new orders, status changes, customer registrations, refunds) and routes the data to any of 200+ destinations.
What you’ll need
- WooCommerce installed and activated.
- The Advanced Form Integration plugin installed and activated.
- At least one product published.
Order data captured
| Field | Format |
|---|---|
| Customer name | First and last separately (billing and shipping) |
| Customer email | Same as input |
| Customer phone | Same as input |
| Billing address | Each sub-field separately (line 1, line 2, city, state, postcode, country) |
| Shipping address | Each sub-field separately |
| Order ID | Numeric WooCommerce order ID |
| Order number | The display order number (may differ from ID with sequential plugins) |
| Order total | Numeric, in your default currency |
| Subtotal | Numeric |
| Tax | Numeric |
| Shipping cost | Numeric |
| Discount | Numeric |
| Currency | 3-letter code (USD, EUR, GBP) |
| Items | Comma-separated product names with quantity |
| Item count | Numeric, total items in the order |
| Coupon used | Coupon code(s), comma-separated |
| Payment method | The gateway slug (e.g. stripe, paypal) |
| Payment method title | Display name of the gateway |
| Order status | pending, processing, on-hold, completed, cancelled, refunded, failed |
| Customer note | Optional note left at checkout |
Custom checkout fields you’ve added (e.g. via Checkout Field Editor plugins) also appear in the field-mapping dropdown.
Create the integration
- Go to WP Admin → AFI → Add New.
- Enter an Integration Title, e.g.
Woo order completed → ActiveCampaign. - In Trigger → Form/Data Provider, select WooCommerce.
- In Form/Task Name, choose the order event (Order Created, Order Completed, Order Refunded, etc.).
- In Action → Platform, pick the destination and complete the field mapping.
- Optional: configure Conditional Logic.
- Click Save Integration.

Order event types
WooCommerce fires events on every status change:
- Order Created: fires immediately when the order is placed, even before payment completes. Useful for cart-abandonment recovery only if you also handle the no-payment case.
- Order Pending → Processing: payment succeeded; the order is paid but not yet fulfilled.
- Order Completed: fulfillment is marked done. The most common event for CRM sync, since it indicates a successful delivered sale.
- Order Cancelled / Refunded / Failed: separate events for reversals.
Pick the event that matches when downstream systems should care.
Useful patterns
- CRM sync: every paying customer becomes a CRM contact tagged with their first product purchased.
- Email marketing: push to ActiveCampaign / Klaviyo with product tags so post-purchase campaigns are personalized.
- Accounting: pipe completed orders to a Google Sheet or QuickBooks for bookkeeping.
- Slack alert: ping the team on big orders or first-time-customer orders.
- Inventory & operations: fire to a warehouse system or shipping platform when status changes to
processing.
Conditional logic example
Goal: when an order’s total is over $500 and the customer is a first-time buyer, ping the founder’s Slack DM with the order details.
Create a Slack integration on the Order Completed event. Open the Conditional Logic panel, add two conditions: order total Greater Than 499 AND a hidden field flag for first-time-buyer Equal To 1. Set Must Match Condition to All.
(The first-time-buyer flag needs to come from a customer-tagging plugin or from a custom hook; WooCommerce doesn’t expose it natively.)
Troubleshooting
Order Created fires before payment completes
Free orders or orders paid by check/bank transfer trigger Order Created with status pending. They may never reach completed. Decide whether your downstream system should see pending orders, then pick the right event.
Subscription products
WooCommerce Subscriptions fires its own dedicated events. See WooCommerce Subscriptions for the recurring-billing event types.
Custom checkout fields not visible
Custom fields are exposed only after the first order with that field populated. Place a test order with the custom field filled to surface it in the mapping dropdown.
Bulk operations don’t fire
Status changes performed via WP-CLI or admin bulk-edit may not fire AFI integrations because they bypass the standard hooks. Use individual status changes for AFI to see them.
Related docs
- WooCommerce Subscriptions: for recurring billing events
- WooCommerce Memberships: for membership events
- WooCommerce Bookings: for appointment bookings
- Send WooCommerce orders to ActiveCampaign
- Send WooCommerce orders to HubSpot CRM
- Send WooCommerce orders to Slack
- Conditional Logic