- Connect once, then add a feed to every form
- Part one: sign in to HubSpot
- Part two: create a feed for the form
- Feed settings that decide what HubSpot receives
- An example mapping for a quote request form
- When a submission overwrites the wrong contact
- What to do with the leads once they land
- Zapier and WPForms as other routes
- My take for WordPress sites
- Frequently asked questions
Install the Gravity Forms HubSpot Add-On, then in WordPress go to Forms, Settings, the HubSpot tab. Click the connect button, choose your HubSpot account and click Connect App. Next, create a feed on each form under Settings, HubSpot, Add New, and map the email field, which is required. Zapier is the alternative route.
Connect once, then add a feed to every form
The setup has two parts, and missing the second is the most common reason nothing arrives in HubSpot. First you connect your site to your HubSpot account, once. Then you create a feed on each form you want to send. Without a feed, the add-on does nothing for that form.
Gravity Forms says the HubSpot Add-On is included with every licence tier: Basic, Pro, Elite and Nonprofit. You'll also need a HubSpot account.
Part one: sign in to HubSpot
- Download and install the HubSpot Add-On.
- In WordPress admin, go to Forms, Settings, then the HubSpot tab, and click the connect button.
- Choose your HubSpot account and click Connect App on the HubSpot page.
When it works, you'll see the message Signed into HubSpot.
Part two: create a feed for the form
- Open the form, hover over Settings, click HubSpot and click Add New.
- Give the feed a Name, and set the HubSpot Form Name, Lead Status and Lifecycle Stage.
- In Map Contact Fields, map the email field, which is required, plus any other contact properties you want.
- Add conditional logic if you only want some submissions sent, then save and test a submission.
Lifecycle Stage defaults to Lead, which suits most website forms. The add-on can also set Contact Owner, which is useful if different forms belong to different salespeople.
Feed settings that decide what HubSpot receives
| Setting | What it does |
|---|---|
| HubSpot Form Name | A form created automatically in HubSpot to receive the data; don't edit or remove it afterwards |
| Lead Status and Lifecycle Stage | Set the contact's status and stage; Lifecycle Stage defaults to Lead |
| Always create contact for new email address | Forces a new contact for every unique email, instead of letting HubSpot match by browser cookie |
| Exclude HubSpot tracking cookie for this feed | Stops HubSpot linking the submission to the visitor's browsing session |
| Conditional logic | Sends only matching submissions; without it every successful submission is sent |
An example mapping for a quote request form
| Gravity Forms field | HubSpot property | Why |
|---|---|---|
| The email property (required) | Identifies the contact | |
| Name | First name and Last name | Personalises follow-ups |
| Business | Company name | Groups contacts from the same business |
| Service needed (drop-down) | A custom property | Lets a workflow route the lead |
Set Lifecycle Stage to Lead, Lead Status to New, and Contact Owner to whoever handles quotes. If you create the custom property in HubSpot just before you build the feed, remember the hour-long cache and clear it.
When a submission overwrites the wrong contact
Gravity Forms Documentation, on creating a feed for the HubSpot Add-On, explains the risk. Without Always create contact for new email address, HubSpot can match a submission to an existing contact through its browser cookie, and overwrite or merge that record. Picture a colleague testing your contact form on a shared office laptop: their test could land on a client's record. Switch the setting on for any form that's likely to be filled in on shared devices.
Two smaller gotchas. The HubSpot form the add-on creates should never be edited or deleted in HubSpot, or the feed breaks. And HubSpot's list of custom properties is cached for about an hour, so a property you've just created may not appear yet. Click Clear Custom Field Cache to refresh it.
What to do with the leads once they land
Once contacts arrive with the right lifecycle stage, a workflow can take it from there: notify the owner, send a follow-up or add them to a list. My HubSpot workflow recipes cover the common ones.
Zapier and WPForms as other routes
Zapier has a Gravity Forms and HubSpot integration page for sending form data into HubSpot with a trigger-and-action workflow.
Want AI doing the heavy lifting in your marketing?
I build the systems that handle the boring 80 percent, so you get your week back. Done properly, with the human kept in.
WPForms has a HubSpot add-on page for connecting its own forms to HubSpot. For more options, see my roundups of Gravity Forms alternatives and online form builders for business.
My take for WordPress sites
Use the official add-on. Connect once, add a feed to each form, map email plus the properties you'll use, and switch on Always create contact for new email address if forms get tested on shared devices. Then submit a real test and check the contact in HubSpot before you send traffic to it.
Want your tool on this list? Featured spots and reviews here are paid partnerships. Here's how to partner with me.
Frequently asked questions
Do I need a feed?
Yes. The add-on does nothing for a form until you create a feed.
Which field is required?
The email field.
Why can't I see my new HubSpot property?
The list is cached for about an hour. Clear the cache to refresh it.
Can I send only some submissions?
Yes, with conditional logic.
Which licences include the add-on?
All tiers, according to Gravity Forms.
