/ Series — 5 parts

HubSpot WordPress Plugin
WooCommerce Integration Series

A complete hubspot wordpress plugin walkthrough for WooCommerce stores. Five examples, one stack — deals, products, line items, contacts, and the full HubSpot object graph. No Zapier. No middleware. WordPress → HubSpot directly.

HubSpot's official hubspot plugin wordpress integration handles the basics — form-to-contact capture and a few stock fields. The moment you need more (deal creation on a specific WooCommerce event, line items mirrored from your product catalog, contact-deal associations on order completion), the official plugin's fixed schema runs out.

This series uses Webhook Actions as the hubspot wordpress plugin layer: a free WordPress plugin that ships any WordPress event to any HTTP endpoint, with retry, logging, conditions, and a full REST API. The Pro add-on supplies the two features you need for stateful HubSpot flows — Code Glue (PHP snippets that run pre and post dispatch) and dynamic URL templates ({{ field.path }} in endpoint URLs).

Pro is the convenient path, not the only path. Every Pro example in this series has a free-plugin equivalent — implement the same flow in a mu-plugin against three documented hooks: fswa_webhook_payload (pre-dispatch payload shaping), fswa_webhook_url (URL template expansion), and the fswa_glue_post_dispatch action (post-dispatch side effects). Look for the blue Filter OK badge on each card and in each article — it names the specific hooks that replace the Pro snippet for that step.

Each example below is independent but builds on the previous one. Part 5 ties everything together into a single coherent hubspot and woocommerce integration: order placed → deal created → line items mirrored → contact created → everything associated → deal moved to Closed Won on order completion.

/ The Series

Five Examples

Part 1 of 5
Create & Update Deals from WooCommerce Orders
Build the canonical hubspot woocommerce integration: create a HubSpot deal when a WC order is placed, move it to Closed Won when the order completes. Uses the new 2026-03 HubSpot endpoint and Code Glue.
Filter OK Pro ~12 min
Read →
Part 2 of 5
Sync WooCommerce Products to HubSpot
Push WooCommerce products to HubSpot on publish (POST), keep them in sync on update (PATCH). The two-webhook condition split that keeps repeat edits from duplicating.
Filter OK Pro ~10 min
Read →
Part 3 of 5
Order Line Items in HubSpot
When a deal is created (Part 1), iterate WC line_items, POST each as a HubSpot line_item with its hs_product_id (from Part 2), and associate to the deal. The woocommerce hubspot integration that actually mirrors what was bought.
Filter OK Pro ~10 min
Read →
Part 4 of 5
Sync Contact on User Register
Mirror every WordPress user registration into HubSpot CRM as a Contact — idempotent by email via the 2026-03 batch/upsert endpoint. Optional companion to Part 5: pre-populates user_meta so the order chain hits the cheap PUT path on day one.
Filter OK Pro ~10 min
Read →
Part 5 of 5
Full Customer × Order Sync
Tie it all together with a dual-path chain. The deal-create fans out: existing customer → PUT contact↔deal association (one HubSpot call); new customer → POST upsert contact, then PUT association (two calls). Either way, every WordPress order becomes a complete HubSpot graph.
Filter OK Pro ~15 min
Read →
/ FAQ

Common Questions

Webhook Actions is a general-purpose WordPress webhook plugin — it ships any WordPress event to any HTTP endpoint. HubSpot is one of the most common targets, so we maintain this five-part series of hubspot wordpress integration examples covering deals, products, line items, contacts, and the full HubSpot object graph. Other common targets include n8n, Slack, Discord, Pipedrive, and any custom internal API.
It serves a different need. HubSpot's official hubspot plugin wordpress integration pushes a fixed schema you don't control. Webhook Actions lets you define exactly which WordPress and WooCommerce events become which HubSpot writes, with conditions, retries, and a full delivery log. Most teams that outgrow the official plugin land here — usually when they need stateful flows (deal-create followed by deal-update-by-id) that the official integration doesn't support.
The free Webhook Actions plugin handles all one-way push flows — create-deal, push-product, create-contact, send custom events. The Pro plugin (pricing) adds Code Glue (PHP snippets for stateful flows) and dynamic {{ field.path }} URL templates, needed when one webhook depends on an ID returned by an earlier webhook. Parts 1, 3, 4 and 5 of this series use Pro for convenience, but every example can also be built on the free plugin alone by writing a mu-plugin against three documented hooks: fswa_webhook_payload (payload shaping), fswa_webhook_url (URL template), and fswa_glue_post_dispatch (post-dispatch side effects). Each card and each article shows a blue Filter OK badge naming the specific hooks for that step.
Most "hubspot crm wordpress" tutorials cover one-way contact capture: form → contact. Full HubSpot integration covers the whole object graph: contacts, companies, deals, products, line items, and the associations between them. This series builds toward the full graph by Part 5, but each example also stands alone. If you only need contact capture, Part 4 covers it directly.
Yes. The series targets WooCommerce specifically, but the underlying Webhook Actions plugin works on any WordPress event — ACF post saves, user registration, custom post types, and arbitrary do_action() calls in your theme or plugins. The HubSpot side just needs a Private App access token with the relevant scopes (deals, contacts, products, line_items depending on the example).