WPForms HubSpot - WordPress Plugin
This given WordPress plugin is an integration add-on for WPForms, specifically designed for the popular CRM platform, HubSpot. With this plugin, users can seamlessly connect their WPForms with their HubSpot account, allowing them to streamline their lead generation and customer relationship management processes.

Plugin Features
By integrating WPForms with HubSpot, users can effortlessly capture and manage leads directly from their WordPress website. This plugin offers a seamless connection between WPForms, which is a widely-used form builder plugin for WordPress, and HubSpot, a robust CRM platform.
Through this integration, users can easily sync form submissions directly into their HubSpot account, ensuring that no lead or customer information is lost. This not only saves time but also allows for efficient lead nurturing and tracking.
Moreover, WPForms HubSpot also enables users to create custom contact fields and map them with HubSpot contact properties. This ensures that the data captured via WPForms is accurately stored in the relevant fields within HubSpot, providing a comprehensive view of each contact.
Additionally, users can take advantage of the plugins advanced features, such as enabling conditional logic in forms, setting up multiple form notification emails, and using smart surveys and polls. These features enhance the overall user experience, allowing for more targeted and personalized communication with leads and customers.
Furthermore, this plugin offers seamless integration with other popular WPForms add-ons, such as payment gateways and e-commerce platforms, further enhancing its functionality and versatility. Users can effortlessly connect their form submissions with their preferred payment processors and online stores, ensuring a smooth and integrated customer experience.
In conclusion, this plugin for WordPress, WPForms HubSpot integration, provides users with a comprehensive and efficient solution for managing leads and contacts within the HubSpot CRM platform. With its seamless sync capabilities, advanced form features, and compatibility with other WPForms add-ons, this plugin is a valuable tool for businesses and individuals looking to streamline their customer relationship management processes.
Specifications:
| Release date: | 20-06-2022 | |
| Last updated: | 16-01-2026 | |
| Type: | Paid | |
| License: | GPL | |
| Subject: | e-Commerce for WPForms | |
| Compatibility: | W5.x W6.x | |
| Includes: | Plugin | |
| Language packs: |
|
|
| Developer: | WPForms | |
| Rating: | ||
Share with your friends!
Guide to Setting Up WPForms HubSpot and Sending Form Submissions to Your CRM
WPForms HubSpot is not just there to "connect a form to a CRM." The practical goal is broader: a submission from your website should arrive in HubSpot as a clean, usable record with the correct email, status, owner, custom properties, user consent, and a quick way to verify that nothing was lost along the way. In this guide, we will walk through how to prepare your WordPress site, connect your HubSpot account, configure the integration for a specific form, filter out unnecessary submissions with conditional logic, and verify the result inside your CRM.
This article is written for the common scenario where you already have a WordPress site, WPForms is installed, and you have access to HubSpot. It does not cover buying a license, bypassing activation, or working with someone else's credentials. The focus here is on properly configuring a plugin you already have access to and keeping your CRM from turning into a warehouse of incomplete contacts.
Special attention is given to the places where problems usually appear: custom HubSpot properties are missing, some fields do not reach the contact record, submissions are flagged as spam because of the domain, the form keeps submitting but the CRM is not updated, or the contact owner and conditional logic behave differently than expected. At the end, you will find a troubleshooting section, an FAQ, and a comparison with similar WordPress solutions.
How the WordPress Form and HubSpot CRM Integration Works
WPForms HubSpot is an add-on for WPForms that sends data from WordPress forms into HubSpot CRM. One important detail is that the connection is configured not only globally, but also at the individual form level. First, the site gets an authorized connection to your HubSpot account through WPForms » Settings » Integrations, and then a separate connection is created inside the form builder under Marketing » HubSpot. This setup is convenient because a consultation request form, a newsletter signup form, and a pricing inquiry form can all send different sets of data.
Inside the form, you choose the action that should run after a successful submission. WPForms documentation describes several actions: Create/Update Contact, Delete Contact, Company Connect, and Company Disconnect. In practice, creating or updating a contact is used most often. The other actions support narrower workflows, such as letting a user remove themselves from the database or linking a contact to an existing company in HubSpot.
The core mechanism works like this: a visitor fills out the form, WPForms validates the fields and submits the entry, the HubSpot add-on takes the selected form fields, maps them to HubSpot properties, and sends the data into the CRM. If the email already exists in HubSpot, the create or update action can update the existing contact. If the email is new, a new contact is created. That is why the email field is not just another form field - it becomes the key the CRM uses to understand which record it should work with.
Which Capabilities Matter Most in This Add-On
WPForms HubSpot includes several capabilities that affect the quality of the setup more than the mere fact that it is connected:
- Automatic data transfer without manual copying. Once the form is submitted, the request is sent into HubSpot automatically, so a manager does not have to copy the name, email, phone number, and comment from emails or spreadsheets.
- Mapping form fields to HubSpot properties. You can send not only standard contact fields, but also custom properties, as long as they are created in HubSpot and available in the WPForms dropdown.
- Conditional logic for the connection. Not every submission needs to go into the CRM. You can send only records where the user agreed to receive emails, selected the right service, or provided a business email.
- Multiple connected HubSpot accounts. This is useful for agencies, multi-site setups, or companies where different forms should feed different workspaces.
- Contact owner assignment and notes. In the connection settings, you can assign a record owner and add a note so the CRM does not receive a bare contact with no context.
These features do not replace your lead handling strategy. They simply make the data transfer accurate. If the form is built carelessly, fields are named inconsistently, and HubSpot properties are not prepared in advance, the integration may technically be on, but your team will still end up sorting records by hand. That is why it is better to start with a data map, not the connect button.
Quick takeaway: the add-on is most useful when the form has a clear business purpose: create a contact, update properties, assign a status, pass along an owner, and preserve the context of the inquiry. Sending every field with no filtering often creates CRM noise.
Your Data Map Before Setup: What Exactly Goes to HubSpot
Before you even open the form builder, it helps to create a small data map. This does not need to be a technical document dozens of pages long. It is simply a matching table: what field the user sees, what property HubSpot receives, whether the field is required, who uses that value, and how the result will be verified. Without that map, the integration often turns into a collection of random mappings where some data exists only in email, some only in the WPForms entry, and some only in HubSpot.
For WPForms HubSpot, the data map is especially important because of HubSpot custom properties. The official WPForms documentation shows that additional fields are selected through Custom Field Name and Form Field Value pairs. If a property in HubSpot is created incorrectly or does not align with the form options, the problem usually shows up late: the contact appears, but the manager cannot see the correct segment, cannot filter leads properly, or receives a value in an awkward format.
A Minimal Data Map for a Lead Form
For a consultation request form, it is usually enough to start with five groups of data:
- Contact identifier. The email address that WPForms sends to HubSpot as the required field for creating or updating a contact.
- Contact details. Name, phone number, company website, messenger handle, or another channel, if it is actually useful for the manager.
- Lead qualification. Service, budget range, company size, urgency, region, or client type.
- Source context. The form name, page, campaign, or internal marker that explains why the contact appeared.
- Consent and restrictions. A consent checkbox, subscription choice, user comment, and any record retention rules.
Not every form needs all of these groups. If you are building a short contact form, extra questions can hurt conversion. But even a short form still needs a deliberate mapping. For example, the email and name go into contact properties, the inquiry topic goes into a custom property, the freeform comment goes into a note, and the form name goes into Form Name. That way, HubSpot receives structured data instead of one large block of text.
WPForms Field Type vs. HubSpot Property Type
One of the hidden mistakes is trying to send data into the wrong type of property. A free-text field can be stored almost anywhere, but it is not very useful for reporting. A choice field in WPForms is better mapped to a HubSpot property where the values have already been standardized. A consent checkbox should not be sent as an arbitrary phrase if the CRM expects a boolean value or a dedicated consent flag.
In practice, this means you should create the properties in HubSpot first, then come back to WPForms and configure the form around those properties. If you do it the other way around, you may end up forcing your CRM to adapt to a form that is already live. On a small site, that may look manageable, but as your database grows, you start collecting multiple versions of the same value: "consultation," "Consultation," "consulting," "request." Cleaning that later is difficult.
How to Verify the Data Map Without Real Leads
Create a test submission with highly recognizable values. For example, use the name Test Lead Mapping, an email on a test domain, the service "CRM audit," and the comment "Check form mapping." After submission, open the contact in HubSpot and compare each field against your map one by one. If even one value is missing, do not move on to publishing. Fix the property, field type, or mapping and run the test again.
This kind of test may feel slow, but it saves time once traffic starts flowing. A single field error during testing means one corrected contact. The same error after a week of traffic means dozens or hundreds of records that need to be cleaned up manually.
What WPForms HubSpot Is Used For
The most obvious use case is lead generation. A visitor submits a request on a WordPress site, and HubSpot receives the contact for follow-up. But on a real site, forms rarely stop at just "Name + Email." More often, they include service selection, company size, budget, inquiry source, newsletter consent, a comment, a file, a consultation date, or a support question. Those are the details that make a contact genuinely useful for sales or marketing.
WPForms HubSpot is especially well suited to forms where you need to preserve the context of the request alongside the contact. For example, a user selects the service "site audit," enters their domain, checks a box saying they want a checklist, and leaves a comment. In HubSpot, you can pass the email as the required identifier, name and phone as standard properties, the service type as a custom property, and the comment as a note. That way, the manager sees not just a new contact, but the reason behind the inquiry.
Workflows Where the Integration Is Especially Useful
This is not a list for the sake of volume - these are the kinds of forms where a HubSpot integration usually saves real time:
- Consultation request form. The data goes into the contact, the lead status helps identify the stage, and the contact owner makes sure someone responds quickly.
- Newsletter signup with consent. Conditional logic sends only users who explicitly opted in to HubSpot, not everyone who simply asked a question.
- Multi-step lead form. WPForms can collect more information without overwhelming the first screen, while HubSpot receives a more segmented record.
- Quote request form. HubSpot custom properties help preserve budget, project type, urgency, and company size.
- Contact update form. The create or update contact action is useful when you need to correct the email, phone number, or other properties for an existing lead.
- Request to delete or change data. The contact deletion action can be part of a privacy compliance workflow, but it should be enabled carefully and documented internally.
There are also cases where the integration may be unnecessary. If the form exists only to send one email to the site owner and you are not using a CRM, connecting HubSpot adds setup with no real value. But if HubSpot is already where your team works with leads, manually transferring submissions out of WordPress quickly becomes a weak point.
Where the Plugin May Not Be the Right Fit
WPForms HubSpot should not be treated as a universal replacement for all HubSpot tools. It does not turn WordPress into a full CRM admin interface, and it is not designed for complex automation inside HubSpot. Its job is to send form data into the CRM cleanly. If you need sophisticated sales workflows, segmentation, email campaigns, reporting, and team tasks, those processes should be built inside HubSpot itself.
You should also review the licensing terms for your WPForms plan. Official documentation and the HubSpot marketplace page indicate that access to the add-on depends on your WPForms subscription, and the Elite plan is referenced in the sources. Do not base an article or a technical plan on the assumption that the add-on is available in every WPForms Lite setup.
What to Check Before Installation and Connection
Pre-installation prep is not just a formality. Most CRM integration issues do not come from the connect button itself, but from unprepared fields, access rights, domain issues, or testing directly on a live site. If you spend 20 minutes verifying the basics, the actual setup tends to go much more smoothly.
WordPress and WPForms Technical Requirements
Start by checking basic compatibility. According to WPForms documentation, current plugin versions require WordPress 5.5 or later, and WPForms version 1.9.5 and above requires PHP 7.2 or later. WordPress.org also lists WordPress and PHP requirements for WPForms Lite. That does not mean every site on older hosting will immediately break, but an outdated environment is a poor foundation for a CRM integration. If your form depends on an external service, it is better to remove unnecessary risk upfront.
Make sure that:
- WPForms is installed, activated, and updated to the latest version available under your subscription.
- Your WPForms license is verified in the admin area, otherwise add-ons may fail to install or update.
- The site runs over HTTPS, especially if the form collects personal data.
- You have a backup before making changes, and for an important form it is best to use either a duplicate form or a test page.
- Caching, JavaScript optimization, and form protection are not blocking WPForms submissions.
Preparing HubSpot Before Connecting It
In HubSpot, create or verify the properties that will receive the data ahead of time. Standard fields like email, name, and phone number usually already exist. But if you need to store service type, budget, region, company size, newsletter consent, or form source, it is better to create separate properties before you configure WPForms. WPForms documentation notes that HubSpot custom properties appear in the mapping dropdown after they are created in HubSpot.
Check contact owners separately as well. If leads should be assigned automatically, the manager must exist in HubSpot as a user or record owner. HubSpot documentation on owners explains that owners have identifiers used for assigning records. In the WPForms interface, this is hidden behind owner selection, but the logic is the same: you cannot assign a contact to someone HubSpot does not recognize as an owner.
Your Site Domain and HubSpot Spam Filtering
One of the most important checks is the domain. WPForms documentation includes a note that for submissions and custom field mapping to work correctly, the website domain should be added to HubSpot additional site domains, otherwise submissions from unregistered domains may be filtered as spam. HubSpot's own knowledge base also explains that external domains with forms should be added under additional site domains in tracking settings.
Do not check only the main domain. If the form is hosted on www.example.com, but you added only example.com, behavior may depend on how your domain settings are configured. If the form is being tested on a subdomain, staging address, or temporary hosting domain, that also needs to be taken into account. For a clean test, it is best to use the real domain where the form will run after launch.
Required step before launch: submit a test entry from the exact page where the form will be publicly displayed, then check not only the contact in HubSpot but also the spam submissions area if the data does not appear on the record.
Installing the Add-On and Connecting Your HubSpot Account
Installing WPForms HubSpot happens on two levels. The first is installing and activating the add-on itself. The second is authorizing your HubSpot account in the global WPForms settings. Only after that does it make sense to configure a specific form.
Where to Find the Add-On in WordPress
In the WordPress admin panel, open WPForms » Addons, find HubSpot, and start the installation using the Install Addon button. After installation, the status should change to active. If the add-on does not appear in the list, check your subscription level, license verification, and site compatibility. WPForms documentation specifically notes that add-ons may have their own WordPress, WPForms, and PHP version requirements.
If the site is managed by an agency or developer, it helps to agree in advance on who will own the integration. A technical WordPress admin may be able to install the add-on, but connecting HubSpot often requires someone with access rights inside the HubSpot account. Do not share personal passwords in contractor tasks. It is better to use HubSpot's built-in authorization flow and assigned roles.
Connecting HubSpot Through the Integrations Section
After activation, open WPForms » Settings » Integrations, expand the HubSpot block, and click Add New Account. A HubSpot window will appear next: sign in to the correct account, choose the right workspace through Choose Account, and grant access using the Connect app button. Once you return to WordPress, the HubSpot block should show a green Connected status and the connection details.
If the company has multiple HubSpot accounts, do not give them identical names. In the global list, that may seem like a small detail, but a few months later it becomes hard to tell which form is sending leads to which team. Use clear names such as Main CRM, Events CRM, or Agency Client CRM. We are not prescribing a specific naming scheme as mandatory, but for a team it greatly reduces the risk of mistakes.
Initial Verification After Connecting
Do not jump straight into a complex form. Create a short test form or duplicate an existing request form and keep only the required fields. The goal of the first check is to confirm that WordPress and HubSpot can exchange data at all. An email field, a name field, and one text field for a comment are enough.
The verification steps are simple:
- Open the form in the WPForms builder.
- Go to
Marketing » HubSpot. - Create a new connection with
Add New Connection. - Select the connected HubSpot account.
- Select the
Create/Update Contactaction. - Map the email and name to form fields.
- Save the form and submit a test entry from the public or test page.
- Check the contact in HubSpot and the WPForms entry if entry storage is enabled.
If this minimal test works, you can expand the form. If it does not, do not add ten more fields right away. First, diagnose the basic link: authorization, domain, required email, HubSpot permissions, and whether the submission is being blocked.
Configuring the Form: WPForms Fields, HubSpot Properties, and Actions
The main configuration work starts in the form builder. This is where you decide what data goes to HubSpot and what should happen to it. In WPForms, that lives in the form's left-side menu under Marketing » HubSpot. That is where you create the connection, choose the account, pick the action, and map the fields.
Choosing the Right Action for the Form
Do not choose an action just by looking at the label. First define what the form submission is supposed to do:
| Form goal | Recommended action | What to verify |
|---|---|---|
| Create a new lead or update data for an existing contact | Create/Update Contact |
Email as a required field, property mapping, lead status, and contact owner. |
| Let a user request contact deletion | Delete Contact |
A clear internal process, and disabling entry storage in WPForms if your policy requires it. |
| Link the contact to an existing company | Company Connect |
The user's email and an existing company in HubSpot. |
| Disconnect the contact from a company | Company Disconnect |
The user's email and a clear reason why that action should be available to the user. |
For most sites, start with Create/Update Contact. It covers the typical lead generation workflow. The other actions are best added only when there is a clear process and a responsible person who understands the consequences.
Mapping Required and Additional Fields
In the Create/Update Contact action, email is required. If you are updating the email for an existing contact, WPForms documentation specifically highlights the New Email field. Do not use it unless you actually need it. For a standard lead form, the current email entered by the user is enough.
After the required fields, configure the additional properties. In WPForms, this is done through Custom Field Name and Form Field Value pairs. The first side is the HubSpot property, the second is the WPForms field. If the property is missing from the list, check whether it was created in HubSpot and whether its type fits the form data. For example, a text comment is better sent to a multiline property or a note, while a consent checkbox should go into a boolean or text field depending on how your CRM is set up.
How to Avoid Damaging Data Quality
Field mapping may look like a technical step, but in practice it is data editing. If a WPForms field is labeled "What do you need?" and the HubSpot property is "Product interest," that only works if the team follows a stable convention. If one form sends "SEO," another sends "Search Engine Optimization," and a third sends "promotion," CRM reporting becomes messy. For choice fields, use consistent options and agree in advance on what values should end up in HubSpot.
Be especially careful with multi-select fields. HubSpot documentation on properties shows that different property types have different value requirements. The WPForms interface hides some of that complexity, but the underlying logic does not change: the data has to match the property type. If HubSpot expects a predefined option and the form sends arbitrary text, the result may be incomplete or hard to filter.
Form Name, Lead Status, Owner, and Note
The Form Name setting is not just cosmetic. HubSpot uses the form name in submission analytics, and sales teams often rely on it as a source marker. If the site has several similar forms, name them so that a month later it is still obvious where the contact came from: Landing Consultation RU, Pricing Request, Webinar Registration. In the article itself, you can describe things in plain English, but in the actual interface, concise and stable technical names are usually easier to work with.
Lead Status helps identify the contact stage. Do not choose a status that implies more than the form actually tells you. If someone simply downloaded a checklist, that does not automatically mean they are sales-ready. If they requested a quote and provided a phone number, that status may deserve higher priority. Assigning a contact owner is useful when there is a dedicated manager or processing queue. If the team uses routing rules inside HubSpot, check whether manually assigning an owner in WPForms conflicts with those rules.
The note field is useful for context you do not want to turn into separate properties. For example: "Source: site audit page form," "Selected package: extended consultation," or "User comment: ...". If the note supports WPForms Smart Tags, you can insert values from the form. But do not overload the note with everything. For reporting and segmentation, properties are better. For human context, a note works best.
Conditional Logic: How to Keep Unnecessary Records Out of the CRM
Conditional logic in WPForms HubSpot solves a common problem: not every form submission is equally valuable for your CRM. If a user sends a support question, that does not necessarily mean they belong in your marketing funnel. If they did not give consent to receive emails, they should not be pushed into a subscription workflow. If they selected "partnership" as the inquiry type, a different team may need to handle it.
In the HubSpot connection settings, you can enable Enable Conditional Logic and define the rule that determines when the connection should run. The official WPForms example shows a subscription checkbox scenario: the record is sent to HubSpot only if the user selected the required option. It is a simple but very important mindset: the CRM should receive only the records that match the intended condition.
Example of a Useful Rule
Imagine a service page with a form containing name, email, phone, inquiry type, a newsletter consent checkbox, and a comment. You want HubSpot to receive only commercial inquiries, while regular questions stay in WPForms entries and admin emails. In that case, the rule might be: process the HubSpot connection only if the "Inquiry Type" field equals "Quote Request."
If you also need to send subscribers, create a separate connection or a separate form with a condition based on the consent checkbox. Do not combine multiple business goals into a single rule if the team will not be able to explain the result. Two clear connections are better than one complicated setup that nobody checks.
AND and OR in Form Logic
WPForms documentation on conditional logic shows that rules can be simple or complex, using AND and OR logic. This matters even more in a CRM integration. A condition like "email is not empty" is almost pointless by itself, because email is already required for the contact. But a rule like "inquiry type = consultation" and "consent is checked" helps you send only qualified submissions.
Do not complicate conditions without a reason. The more rules you add, the easier it becomes to create a conflict. After every change, submit test entries through both branches: one that should go to HubSpot and one that should not. In WPForms, this matters because the form can submit successfully from the user's point of view, while the HubSpot connection is intentionally skipped because the condition was not met. That is not an error if the rule is working as intended.
Using the Add-On with Multi-Step Forms and File Uploads
The WPForms HubSpot page describes using the add-on together with multi-page forms and file uploads. In practice, that means a long request form can be split into several steps so it does not overwhelm the user, and extra materials can be tied to the record. But the more complex the form, the more important testing becomes. Make sure the user can complete every page, required fields do not conflict with conditional logic, and the data appears in HubSpot in the expected format.
If the form accepts files, decide in advance how the team will handle them. Do not store sensitive documents without an access policy. If HubSpot receives links or information about files, check permissions, retention periods, and the internal process. The fact that a feature technically works does not mean it should be enabled on every form.
Publishing the Form on Your Site and Its Relationship to the WordPress Editor
Once the HubSpot connection is configured, the form still needs to be embedded correctly on the page. That is a separate step because a publishing error can look like an integration issue. For example, the form may work in the WPForms preview but fail on a landing page because of script optimization, a conflicting block, caching, or theme styles. So publish the form in a way that makes it easy to test and easy to roll back if necessary.
The WPForms Block, Shortcode, and Page Builders
WordPress.org notes that WPForms Lite includes a form selection block. In the standard block editor, that is the clearest way to insert a form: choose the WPForms block, select the form you want, and update the page. If the site uses the Classic Editor, a theme template, or a page builder, using the form shortcode may be more practical. Pull the exact form ID from WPForms - do not retype it from memory.
Each insertion method has its own nuances. The WordPress block usually keeps a cleaner connection to the editor and visual settings. A shortcode is convenient in templates and widgets, but it is easier to place it in the wrong block or leave it on an outdated page. Builders such as Elementor or Divi may apply their own form styles. WPForms styling documentation notes that the appearance of the form can depend on how it is embedded: page builder settings may affect only that specific placement.
Thank-You Page and Submission Confirmation
For a form connected to your CRM, the confirmation message should match the process that follows. If the submission is routed to a manager, the user should understand what happens next: "We received your request and will get back to you." If the form signs someone up for resources, the confirmation can explain where to look for the email. Do not promise an instant response if the team works only during business hours or qualifies leads manually.
A good practice is to use different confirmations for different forms. A "Quote Request" form and a "Newsletter Signup" form should not show the same text, because in HubSpot they lead to different actions. If the form uses conditional logic for HubSpot delivery, make sure the confirmation does not mislead the user. For example, if technical questions are not sent to the CRM but go to a support inbox instead, the confirmation should describe that route accurately.
Testing After Cache Clearing and Publication
After placing the form on the page, clear the site cache and CDN cache if those are in use. Open the page in a fresh window while logged out and submit a test entry. Then check the result in three places: the on-site confirmation message, the WPForms entry or notification, and the HubSpot contact. If the form is embedded on several pages, test it from each key page. That matters because HubSpot may account for the domain and page source, and the sales team will look at the form name and context.
If the form stops working after publication, do not change HubSpot first. Start by checking whether it still works in the WPForms preview. If the preview works but the public page does not, the cause is more likely in the theme, builder, cache, protection, or page scripts. If it fails even in preview, go back to the form settings and the connection itself.
How to Fit the Integration into Your Sales Workflow
Technically sending a contact into HubSpot is only half the result. The other half is making sure someone on the team knows what to do with that new contact. If a lead enters the CRM without an owner, status, source, or note, the integration works formally, but the business process is still weak. WPForms HubSpot provides settings that help make the record useful immediately: Lead Status, Contact Owner, Form Name, and a note.
Align Statuses Before Launch
Do not choose Lead Status just because the field exists in the interface. First ask the team which statuses they actually use. If managers never look at that field, the setting will not help. If they do use statuses, define a rule: the consultation form gets one status, the quote request form gets another, and a content subscription gets a third - or does not change the status at all.
This is especially important when updating existing contacts. Someone may have downloaded a resource before and now submitted a quote request form. In that case, updating the status can be useful. But if the user simply subscribed to the newsletter again, changing their stage may not make sense. Conditional logic and separate connections for different forms allow you to handle this more carefully.
Owner Assignment and a Backup Route
If all leads from a form should go to one manager, Contact Owner can be selected directly in the connection settings. If routing is more complex - for example by region or service type - consider whether it makes more sense to send the relevant property into HubSpot and handle the distribution rules inside the CRM. Do not describe that setup as an official WPForms HubSpot feature if it relies on your own CRM rules. It is a practical workflow: WPForms sends the data, and HubSpot applies the internal process afterward.
A backup route matters in case of a temporary HubSpot issue. For critical forms, keep WPForms email notifications enabled for the responsible person or turn on entry storage if that fits your data policy. That way, even if there is an authorization problem or temporary filtering in HubSpot, the submission does not disappear completely. Once the integration is restored, you can manually transfer important records and then verify automated delivery again.
Using a Note as a Short Summary of the Inquiry
A note in HubSpot is especially useful when a manager opens a contact on mobile or from a task queue and does not want to inspect every property. A good note should not copy every field one by one. It should answer the question: "Why did this person reach out, and what should happen next?" For example: the form source, the selected service, the comment, and any important consent. Use properties for precise analytics and the note for fast human understanding.
After launch, ask a manager to review 3 to 5 real submissions and tell you what information is still missing. Sometimes the form collects a lot of data, but in the CRM one extra marker matters most: region, urgency, company size, or source page. It is much easier to fix that early, before the structure becomes embedded in your reports.
Practical Scenario: A Consultation Request Form Sent to HubSpot
Let us walk through a concrete example. On an agency website, there is a service page where a visitor can request a consultation. The goal is to create or update a contact in HubSpot, pass along the selected service, company size, and comment, assign a contact owner, and avoid sending records into the CRM when the user selected "technical question."
Goal and Preparation
We want a working form where a consultation request appears in HubSpot as a contact with clear, useful properties. Before setup, you should have:
- WPForms active and the HubSpot add-on installed.
- A connected HubSpot account with
Connectedstatus. - HubSpot properties for service, company size, and form source.
- A HubSpot user who can be assigned as the contact owner, if the team needs that.
- The website domain added in HubSpot tracking settings.
Form Fields
In WPForms, create a form with these fields:
- Name.
- Email.
- Phone.
- Inquiry Type with options "Consultation," "Quote Request," and "Technical Question."
- Company Size.
- Comment.
- A data processing consent checkbox, if required by your policy.
Do not add extra fields on the first pass. If managers also want industry, website, budget, and launch timeline, those can be added after the basic connection is working. With CRM integrations, it is better to start from a stable minimum and expand from there than to begin with a massive form and then hunt for errors.
Connection Setup
- Open the form in the WPForms builder.
- Go to
Marketing » HubSpotand clickAdd New Connection. - Give the connection an internal name, such as
Consultation Leads. - Under
Select Account, choose the correct HubSpot account. - Under
Action To Perform, selectCreate/Update Contact. - In the
Emailfield, select the form's email field. - Map the name, phone, service, and company size to HubSpot properties.
- In
Form Name, enter a short, clear source name. - Select
Lead Statusif your team actually uses it. - Assign
Contact Ownerif leads should go directly to a specific manager. - Add a note with Smart Tags if you want to preserve the comment and source page.
- Enable
Enable Conditional Logicand set the rule: process the connection only if the inquiry type is consultation or quote request. - Save the form.
Testing Both Branches
After saving, submit at least two test entries. The first should match the condition and appear in HubSpot. The second should select "Technical Question" and stay out of the CRM. This tests not only the data transfer, but also the quality filter. If both submissions end up in HubSpot, the conditional logic is configured incorrectly. If neither appears, check the connection, email field, domain, and action settings.
In HubSpot, open the contact and review which properties were filled. Do not just confirm that the contact exists - check the values. A common mistake is that the contact is created, but an additional field is empty because the mapping points to the wrong WPForms field or the HubSpot property type does not fit. Fix those problems immediately while the form has not yet collected real submissions.
How to Verify the Result After Publishing the Form
Verification is a separate stage, not just "we sent the form and it seems fine." A CRM integration has several layers of success: the user sees the confirmation, WPForms stores the entry or sends a notification, HubSpot creates or updates the contact, custom properties are filled, and the team receives enough context to act.
What to Check in WordPress
Start with the public-facing site. Open the page in a regular browser, ideally while logged out, fill out the form, and make sure the confirmation message is displayed correctly. If the form is embedded through a page builder, check both desktop and mobile widths. Sometimes the form works technically, but the button or error message looks broken because of the theme styles.
In the WPForms admin area, check the entry if entry storage is enabled in your plan and site policy. This helps you separate form issues from HubSpot issues. If the entry exists in WPForms but not in HubSpot, the form is submitting and the issue lies in the integration, domain, authorization, or mapping. If there is no entry and no email notification arrives, look for the problem in the form itself, spam protection, caching, or JavaScript.
What to Check in HubSpot
In HubSpot, open the contact using the test email. Check the following:
- Was the contact created or was an existing contact updated? If you already used that test email before, review the change history, not just the existence of the record.
- Are the additional properties filled? Compare the values to what you submitted through the form.
- Is the form source identified correctly? The form name should help the team understand where the lead came from.
- Was the owner assigned? If not, check whether that owner is available in HubSpot and whether team rules are interfering.
- Was the note created? If the note is empty, check the Smart Tags and the fields being inserted into the text.
- Did the submission get flagged as spam? This is especially important for new domains, test subdomains, and external pages.
Sign of a strong setup: a manager can open the contact in HubSpot and understand within 10 seconds who submitted the request, what they need, which page the inquiry came from, and what action should happen next.
How to Test Updating an Existing Contact
Create a test contact in HubSpot using the email address you will later use in the form. Submit the form with a changed phone number or a new custom property value. After submission, verify whether the correct fields were updated. This test matters because updating an existing contact behaves differently from creating a new one. If your site collects repeat inquiries, that is a normal workflow, not an edge case.
If you allow users to update their email, use the New Email setting only after a separate test. A mistake in that field can cause the record to update in a way the team does not expect. For most lead forms, email updates are not necessary.
Form Data, Consent, and Security
A form connected to a CRM handles personal data. That means the setup should account not only for manager convenience, but also for user transparency. This article is not a substitute for legal advice, but it can offer safe technical guidance: do not collect unnecessary data, explain the purpose of the form, store only the records you actually need, and verify consent.
Storing Entries in WPForms and HubSpot
When a form sends data to HubSpot, an obvious question follows: should the entry also be stored in WordPress? For a standard request form, that can be useful as a backup log. For a data deletion form or a sensitive information workflow, storing the entry in WPForms may be undesirable. WPForms documentation for the Delete Contact action specifically recommends disabling entry storage for that form under Settings » General in GDPR-related scenarios, and separately reviewing HubSpot documentation on deletion.
A practical approach is to decide for each form where the primary record should live. If HubSpot is the main source of truth, WPForms can store a minimal backup log or skip storing entries for sensitive processes. If WordPress is being used as a backup, limit access to entries and do not send unnecessary fields there.
Spam Protection and CRM Quality
WPForms has its own spam protection tools, and HubSpot also filters suspicious submissions. HubSpot documentation describes automatic spam filtering, CAPTCHA, domain verification, and suspicious submission signals. For the integration, that means the following: spam is not just a form problem, it is a CRM quality problem. If a bot creates contacts, managers lose time, reports become unreliable, and email campaigns inherit a poor database.
For a lead form, it usually makes sense to enable WPForms anti-spam protection, set up CAPTCHA or Cloudflare Turnstile where appropriate, add the domain in HubSpot, and avoid sending records into the CRM unless they pass basic qualification. Conditional logic acts as a meaning filter, while anti-spam acts as an abuse filter.
Newsletter Consent and Conditional Delivery
If the form both collects a request and offers a subscription, do not combine those purposes. A user may want a consultation but not want email marketing. For that scenario, create a separate consent field and configure the conditional logic so that the marketing action runs only when the user explicitly opts in. That is not a legal guarantee, but technically it is a much cleaner setup than sending every contact into one list without distinction.
A Small, Safe Styling Adjustment for the Request Form Page
HubSpot integration does not require code. But sometimes the form needs a bit of visual help: making the button more noticeable, improving keyboard focus visibility, and preserving the theme design. Official WPForms documentation describes built-in styling options in the builder, along with CSS for the submit button. So the safer approach is to start with the built-in WPForms settings and add only a small CSS snippet if needed.
Below is an example for a case where the form sits inside a page block with the class lead-hubspot-form. That class can be added to the container in the page editor or block settings if your theme or builder allows it. The code does not modify the WordPress core, WPForms, or the HubSpot add-on. It only styles the button and focus state on the public-facing site.
.lead-hubspot-form .wpforms-form button[type=submit],
.lead-hubspot-form .wpforms-form input[type=submit] {
width: 100% !important;
padding: 14px 18px !important;
border-radius: 8px !important;
background: #ff5c35 !important;
color: #ffffff !important;
border: 0 !important;
font-weight: 700 !important;
}
.lead-hubspot-form .wpforms-form button[type=submit]:focus,
.lead-hubspot-form .wpforms-form input[type=submit]:focus {
outline: 3px solid #1d4ed8 !important;
outline-offset: 3px !important;
}
It is best to place that CSS in Appearance » Customize » Additional CSS or another safe location for custom styles in your theme. After adding it, test the form on the page: the button should become full-width, visually prominent, and show a clear focus indicator when navigating with the Tab key. If the style affects other forms, the container class is too broad. The rollback is simple: remove the CSS or change the outer container class.
Limitation: this snippet does not fix HubSpot submission issues and does not affect field mapping. It is only for appearance and accessibility. If the contact does not appear in the CRM, look for the cause in the connection, domain, action, properties, or conditional logic.
Troubleshooting Common Problems
Issues in WPForms HubSpot are easiest to diagnose in sequence: did the form submit or not, was the entry saved in WPForms or not, did the HubSpot connection run or not, did the contact appear or not, were the properties filled or not. That order is much faster than changing settings at random.
The Contact Is Not Created in HubSpot
Symptom: the user sees the form submission confirmation, but there is no new contact in HubSpot. Possible causes include the Create/Update Contact action not being selected, the email field not being mapped, the HubSpot connection no longer being active, conditional logic blocking the submission, or the HubSpot account being temporarily restricted.
Check the form in the builder: is there a connection under Marketing » HubSpot, is the correct account selected, is the Email field populated, and was the form saved after the changes? Then submit a test entry that definitely matches the conditional logic. If the global connection lost authorization, return to WPForms » Settings » Integrations and check the account status.
Some Fields Do Not Appear on the Contact
Symptom: the contact is created, but a custom field, phone number, service, or comment is empty. Start with the mapping: the HubSpot field must be selected in Custom Field Name, and the WPForms field must be selected in Form Field Value. If the property was created recently, refresh the form settings and make sure it appears in the list.
A second common cause is the domain. WPForms and HubSpot documentation both connect incomplete processing to unregistered domains that may be flagged as spam. Open HubSpot spam submissions and check whether the test entry was marked as Unregistered Site Domain. If so, add the exact domain or subdomain to HubSpot additional site domains and test again.
You See a Suspended Account Warning in the Form
Symptom: when saving the form, WPForms shows a message about a suspended HubSpot account. WPForms documentation says the form may continue to work, but new contacts will not be created in HubSpot until the account is restored. This is not the kind of issue you fix with CSS, caching, or reinstalling WPForms.
Check the account status in HubSpot and follow their recovery process. Until it is restored, do not tell the team that the CRM is receiving new records. If the form is business-critical, temporarily enable email notifications and WPForms entry storage so submissions are not lost, but once the account is restored, test HubSpot delivery again.
The Form Submits, but Conditional Logic Works Backward
Symptom: unwanted submissions reach HubSpot or, conversely, target submissions stay only in WPForms. Check which field is used in the condition, what comparison is selected, and whether the value matches the actual field option. WPForms has limitations and nuances around conditional logic for multiple-choice fields: not every comparison is available for every field type, and complex rules are best tested with several submissions.
A safe fix is to temporarily simplify the rule to one condition and test it. Then add the second condition with AND or OR and test both branches again. Do not change fields, HubSpot properties, and conditional logic all at once, or it will be hard to tell what actually fixed or broke the delivery.
An Error Appears After Editing the Form in HubSpot
Symptom: after changing the linked form inside HubSpot, submissions from WPForms start throwing errors. WPForms documentation warns that forms created with the WPForms and HubSpot integration should not be edited directly on the HubSpot forms page, because API validation changes can cause submission errors.
Fix: return the form logic to WPForms, verify the mapping, and do not use HubSpot as the place where this form's structure is edited. In this integration, HubSpot receives the data and stores the CRM record, while WPForms remains the user-facing form builder.
A New Owner or Property Is Missing from the Settings
Symptom: a user, owner, or property has been created in HubSpot, but it does not appear in WPForms. First make sure the change was saved in HubSpot and belongs to the correct account. Then reopen the connection settings and check the list again. Some integrations cache properties, and HubSpot has its own requirements for owners and properties, so a new field is not always immediately usable after creation.
If the field is critical, do not launch the form before testing. A temporary fallback is to send the value into a note, but that is worse for reporting. As soon as the property appears and is mapped, submit another test entry and check that specific field on the contact.
Cache or Optimization Breaks Form Submission
Symptom: the form sometimes submits and sometimes does not, the browser shows JavaScript errors, and everything works again when optimization is disabled. WPForms troubleshooting guidance recommends checking caching, optimization, and plugin conflicts as a separate step. For a CRM integration, this is especially sensitive because the user may see the form while the submission script or spam protection is actually failing behind the scenes.
Test the page without script combining and deferred loading, clear the site and CDN caches, and temporarily disable the problematic optimization on the page with the form. If the issue disappears, create an exclusion for that page or for WPForms scripts in your optimizer settings. The rollback is simple: restore the previous cache mode and test another submission.
Questions About Setting Up WPForms HubSpot
Do I need a separate HubSpot form if the form is already built in WPForms?
No. The main form is created and edited in WPForms. In this setup, HubSpot receives the data inside the CRM. More importantly, WPForms documentation warns against editing linked forms directly on the HubSpot forms page, because validation changes can cause submission errors.
Can I connect multiple HubSpot accounts?
Yes. WPForms states that it supports multiple HubSpot accounts. In practice, this is useful for agencies, multi-site networks, or separate departments. The key is to give each connection a clear name and verify that each form uses the correct account.
Why are HubSpot custom properties not visible in WPForms?
Check whether the property was created in the same HubSpot account that is connected to WPForms and whether it is suitable for form-based data transfer. Then reopen the form settings. If the property still does not appear, treat it as a property list sync issue and do not launch the form until it has been tested.
Can I send only some submissions to HubSpot?
Yes. To do that, enable Enable Conditional Logic in the form connection. For example, you can send only consultation requests or only users who explicitly checked the subscription consent box. After setup, always test both branches: a record that should reach HubSpot and a record that should not.
What should I do if HubSpot marks submissions as spam?
Check the additional site domains in HubSpot tracking settings. HubSpot documentation notes that submissions from unregistered external domains may be treated as spam. Add the exact domain or subdomain, review the spam submissions area, and test again from the real form page.
Does the integration affect site speed?
WPForms has stated that CRM delivery happens behind the scenes after the form is submitted. But on a real site, speed depends on the form itself, the theme, spam protection, caching, and script optimization. If the form becomes unstable, test the page without aggressive JavaScript optimization and configure exclusions.
Do I need to store entries in WPForms if they are already sent to HubSpot?
It depends on the form. For regular requests, storing entries in WPForms can serve as a backup check. For forms related to data deletion or sensitive information, WPForms documentation recommends disabling entry storage in GDPR-related workflows. The final decision should match your company's data handling policy.
When is it better to choose something other than WPForms HubSpot?
If the site is already built around Gravity Forms, Fluent Forms, or Formidable Forms, it often makes more sense to use their native HubSpot integration. If you need HubSpot tools inside WordPress and want to use HubSpot forms, look at the official HubSpot plugin. WPForms HubSpot is most convenient when the forms are already built in WPForms and you want to send their data into the CRM cleanly.
When WPForms HubSpot Is the Right Choice
WPForms HubSpot is a strong choice for a WordPress site where forms are already the primary source of incoming leads and HubSpot is the working CRM. Its value is not just that it "connects two services," but that it lets you control field delivery, choose the action, assign an owner, add a note, and filter out unnecessary submissions with conditional logic.
Before launch, verify three things: the account connection shows Connected, a test contact appears in HubSpot with the correct properties, and the site domain has been added in HubSpot so submissions are not filtered as spam. After that, you can expand the form with custom properties, a multi-step flow, file uploads, or more precise lead qualification.
If you are ready to test the plugin on your site, after preparing a test page and your field plan you can download the latest version of WPForms HubSpot and follow the setup steps from this guide. Start with a short test form, not the most complex lead form on the site. That will help you isolate what works and avoid mixing basic connection issues with business logic errors.


