Most WordPress sites and HubSpot accounts operate in parallel silos: visitors come to the WordPress site, fill in a form, and the lead data sits in WordPress (or a disconnected form plugin) while HubSpot waits to receive it. The HubSpot WordPress integration closes this gap — when a visitor submits a form on your WordPress site, HubSpot creates a contact record, logs their page views, and starts them in your CRM pipeline right away. This guide explains how the integration actually works, the common failure modes, and the decisions most teams get wrong during setup.
That makes the integration valuable for teams that want the website and CRM to work as one acquisition system.
HubSpot integration with WordPress is useful when forms, popups, and tracking need to feed directly into the CRM. It helps websites capture visitor activity and turn it into contact records and follow-up opportunities.
What the Integration Does
The HubSpot for WordPress plugin does three things:
- Installs the HubSpot tracking code: Adds HubSpot’s JavaScript tracking snippet to every WordPress page automatically. This enables page view tracking for known contacts (cookies identifying returning visitors), website analytics inside HubSpot, and is a prerequisite for live chat, pop-ups, and form tracking to work.
- Embeds HubSpot forms in WordPress: Adds a HubSpot block to the Gutenberg editor (and a shortcode for Classic Editor) so you can insert any HubSpot form onto any page or post without touching code. The form submits directly to HubSpot — no separate form plugin, no Zapier.
- Deploys HubSpot live chat and pop-up forms: Any live chat widget or pop-up form you create in HubSpot automatically appears on your WordPress site via the tracking code — managed entirely from HubSpot, no WordPress plugin changes needed.
Setup
Install the HubSpot – CRM, Email Marketing, Live Chat, Forms & Analytics plugin from the WordPress plugin repository (Plugins → Add New → search “HubSpot”). After activation, a HubSpot menu item appears in the WordPress admin — click Connect to HubSpot and complete the OAuth flow. That’s it. The tracking code is now installed on all WordPress pages.
No API key configuration is required (HubSpot deprecated API key auth in 2022). The OAuth connection handles authentication and is persistent — it does not expire unless you disconnect it or the connecting HubSpot user account is deactivated.
Data Flow
| Data | Direction | Frequency |
|---|---|---|
| WordPress page views (known contacts) | WordPress → HubSpot contact timeline | Real-time on page load |
| HubSpot form submissions from WordPress | WordPress → HubSpot | Real-time on submit |
| Live chat conversations | WordPress → HubSpot Conversations | Real-time |
| Pop-up form submissions | WordPress → HubSpot | Real-time on submit |
| Contact identification via cookie | HubSpot cookie ↔ WordPress visitor | On each page load after identification |
Page view tracking only logs to a contact’s timeline for known contacts — visitors who have previously submitted a HubSpot form, clicked a tracked HubSpot email link, or been identified via the tracking API. Anonymous visitor page views are collected in HubSpot’s traffic analytics but not associated with a contact record until identification occurs.
Using Non-HubSpot WordPress Forms with HubSpot
If you’re using Contact Form 7, Gravity Forms, WPForms, or another WordPress form plugin and do not want to replace them with HubSpot forms, you have options:
- Gravity Forms HubSpot add-on: Gravity Forms has an official HubSpot add-on that maps form fields to HubSpot contact properties on submission.
- Zapier: Any form plugin with Zapier support can push submissions to HubSpot via a Zap (15-minute delay on free plans).
- HubSpot WordPress plugin’s non-HubSpot forms section: The HubSpot plugin includes a “Non-HubSpot Forms” setting that attempts to auto-collect submissions from other form plugins on the page and send them to HubSpot. Enable under WordPress Admin → HubSpot → Non-HubSpot Forms. Works with many popular form plugins but is not 100% reliable for all configurations — test thoroughly.
WooCommerce + HubSpot via WordPress Plugin
The HubSpot for WordPress plugin includes basic WooCommerce integration (customer sync, order sync) alongside the tracking code and form features. For light WooCommerce-HubSpot integration, this is sufficient. For deeper e-commerce automation — abandoned cart workflows, product recommendation emails, LTV segmentation — use the dedicated HubSpot Shopify integration pattern or evaluate the MakeWebBetter WooCommerce HubSpot plugin for more thorough WooCommerce-specific data sync.
Limitations
- The HubSpot WordPress plugin works with HubSpot-native forms only for direct CRM connection. Third-party form plugins require additional configuration or tools.
- HubSpot landing pages (created in HubSpot’s landing page builder) are hosted on HubSpot’s CDN, not on your WordPress site. You can embed HubSpot forms on WordPress pages to achieve a similar result, but you lose Smart Content, A/B testing, and HubSpot’s landing page analytics.
- The Non-HubSpot Forms auto-collect feature has known compatibility issues with some form plugins and custom AJAX form submissions — validate thoroughly in staging before enabling on production.
- Plugin updates occasionally break WordPress theme compatibility. Keep the plugin updated but test in staging after major version updates before deploying to production.
Pricing
The HubSpot for WordPress plugin is free. All core features (tracking code, HubSpot form embedding, live chat deployment) are included at no cost. The features you can use depend on your HubSpot plan — live chat on the free plan is available; pop-up forms with A/B testing require a paid plan; Workflows triggered by form submissions require Marketing Hub Starter or above.
Verdict
WordPress sites using HubSpot for marketing: This is a must-install plugin — the tracking code installation alone (which is automatic) makes it worth it. The form embedding and live chat deployment features remove the need for separate form and chat plugins. Install it first, configure forms and chat in HubSpot’s UI.
Sites with established form workflows (Gravity Forms, WPForms): The Non-HubSpot Forms auto-collect feature may work, but test it carefully. If it does not catch all submissions reliably, use Gravity Forms’ HubSpot add-on or Zapier for a more dependable connection.
Performance-sensitive sites: The plugin’s tracking code is async and lightweight. Test with PageSpeed before and after, and restrict live chat to relevant pages only to minimise unnecessary script loading.
The best WordPress setup is the one that keeps lead capture reliable. If forms break or tracking is inconsistent, the CRM loses useful data at the source.
Common Problems and Fixes
“Forms are showing on the page but submissions aren’t creating contacts in HubSpot”
Check: (1) the HubSpot plugin is connected to the correct HubSpot account (Settings → HubSpot → account connection), (2) the form embedded is a HubSpot form (not a WordPress native form or Contact Form 7 — those do not connect to HubSpot natively), (3) look in HubSpot’s form submission history (Marketing → Forms → select form → Submissions tab) to confirm whether submissions are being received. If submissions appear in HubSpot but contact records are not created, check if the form’s email field is set as required — without an email address, HubSpot cannot create a contact.
“The tracking code is installed but HubSpot isn’t showing my website pages in traffic analytics”
HubSpot traffic analytics shows page data with up to 24-hour latency. If pages are not appearing after 48 hours, check: (1) the tracking code is in the <head> section (the plugin handles this automatically, but some caching or minification plugins can interfere), (2) your WordPress caching plugin is not serving a version of the page cached before the HubSpot plugin was installed, (3) cookies are not being blocked by a consent management plugin (see the GDPR fix below).
“Live chat isn’t appearing on the WordPress site”
Live chat widgets deploy via the HubSpot tracking code. Common causes for missing chat: (1) the chatflow in HubSpot is not set to “Active” — check Conversations → Chatflows → status toggle, (2) the chatflow’s targeting rules are restricting which pages it appears on — verify the URL targeting includes your WordPress pages, (3) a caching plugin is serving a cached page captured before the chat script loaded — clear the WordPress cache after activating the chatflow.
“Our GDPR consent plugin is blocking HubSpot tracking”
Cookie consent management plugins (Cookiebot, CookieYes, Complianz) block third-party tracking scripts until user consent is given — including HubSpot’s tracking code. This is legally correct but breaks HubSpot tracking for users who have not consented. Solution: configure your consent plugin to categorise HubSpot’s tracking code under “Marketing” or “Analytics” cookies and ensure HubSpot’s forms still collect consent per your GDPR configuration in HubSpot’s privacy settings. Test the site in a private browser to verify the consent flow works correctly end-to-end.
“The HubSpot plugin is slowing down our WordPress site”
HubSpot’s JavaScript tracking snippet loads asynchronously and should have minimal impact on page speed. However, some configurations cause delays: the tracking script loading synchronously (check your theme or page builder’s script configuration), or the HubSpot live chat widget loading on every page including pages where it is not needed (use chatflow URL targeting to restrict loading to relevant pages only). Use Google PageSpeed Insights to test before and after plugin installation to isolate the impact.
Getting Your Team to Consistently Use HubSpot
Adoption gaps happen when teams fall back to old habits after initial training. Fix: identify the 2–3 daily workflows where HubSpot adds the most value for your specific role and focus training on those first. Use HubSpot in-app guidance to provide contextual help at the moment of need rather than relying on one-time sessions.
CRM Data Quality Degrading Over Time
CRM data decays at approximately 30% per year as contacts change roles and companies. Fix: schedule a quarterly data quality audit. Use HubSpot deduplication tools to merge duplicate records, establish data entry standards enforced through validation rules, and consider a data enrichment tool like Clearbit or ZoomInfo to update stale records automatically.
HubSpot Reports Not Matching Actual Business Results
Reports are only as accurate as the data entered. Discrepancies between CRM reports and actual revenue point to data entry gaps. Fix: audit closed-won records against actual invoices monthly. Make CRM data the source of truth for commission calculations so reps have a direct incentive to keep their data accurate.
Frequently Asked Questions
Does the plugin work with Elementor, Divi, and other page builders?
Yes — the HubSpot tracking code loads globally regardless of page builder. HubSpot forms can be embedded in Elementor and other builders using the HubSpot shortcode or HTML widget.
Will the plugin conflict with other marketing plugins (Yoast, MonsterInsights, etc.)?
Generally no — these plugins serve different purposes. The most common conflicts are with caching plugins (W3 Total Cache, WP Super Cache) that may need cache-exclusion rules for HubSpot’s tracking script, and with cookie consent plugins that need HubSpot scripts categorised correctly.
What happens to the HubSpot connection if I migrate WordPress to a new server?
The OAuth connection is tied to the HubSpot account, not to the WordPress server. After migration, re-activate the HubSpot plugin and reconnect via OAuth — the existing connection and data in HubSpot are unaffected.
