Hubspot empowers your sales and marketing teams with tools to help manage your funnel, from attracting visitors to closing customers. This article will give you an overview of the Hubspot/Grow integration and what you can expect.
Hubspot is on the Grow Datawarehouse, which we highly recommend you use. Here is the link to the Data Warehouse Help Article.
We pull in all the main tables from the Hubspot API.
These tables include:
- Forms (Analytics)
- Landing Pages (Analytics)
- Marketing Email Stats (Analytics)
- Sessions (Analytics)
- Sources (Analytics)
These 11 Hubspot API tables are available in Grow.
How to Connect
- Click on the Data tab at the top left of the global navigation. You will be brought to your Data Connections.
- Click on the blue "Connect" button and search for Hubspot.
- Click on the Hubspot logo.
- A window will pop up to log in with your Hubspot credentials. After entering your credentials you will see a green confirmation message that the connection has been made.
Note: Only an admin in Hubspot or a user with "App Marketplace Access" permissions will be able to create a Hubspot connection in Grow.
Below is a list of the endpoints that the Hubspot/Grow integration offers, along with a short description of each.
- Accounts - ALL: All company accounts, including location details, description, industry, revenue, and contact information, along with other details and custom fields.
- Accounts - Recently Created (30 Days): All company accounts added within the last 30 days, including location details, description, industry, revenue, and contact information, along with other details and custom fields.
- Blogs: All unique blogging sites, including URL, page settings, created and deleted dates, subscription lists, and social accounts data, among other details.
- Blog Posts: All blog posts, including URL, page type, author details, created an updated dates, keywords, publish dates, among other details.
- Get All Contacts: All contact information with optionally selected custom contact fields, including name, visitor ID, date added, company name, and additional custom fields.
- Get Contacts 30 Days: All contacts created within the last 30 days, including added date, name, created and modified dates, company, and email, along with other details.
- Campaigns: All Hubspot marketing campaigns, including campaign ID, app ID, app name, and group ID.
- Deals - ALL: All deals, including deal ID and name, created and close dates, pipeline, source, campaign type, closed reasons, and description, along with other details and custom fields.
- Deals - Recently Created (30 days): All deals created within the last 30 days, including deal ID and name, created and close dates, pipeline, source, campaign type, closed reasons, and description, along with other details and custom fields.
- Deals - Recently Modified (30 days): All deals with details modified within the last 30 days, including deal ID and name, created and close dates, pipeline, source, campaign type, closed reasons, and description, along with other details and custom fields.
- Email Subscriptions Timeline: All subscription changes, including source, subscription ID, change type, caused by event, created date, among other details.
- Events: All events within the selected date range, including type, event date, category, state, name, description, and owner, among other details.
- Keywords: All keywords including keyword name, visits, contacts, leads, created date, among other details.
- Leads: All leads, including name, company, email, created and modified dates, and status, among other details.
- Lists: All contact lists in the account, including list name; size; created, size, and state change dates; type; processing state; and internal information; among other details. Smart Lists are included in the results denoted by a status equal to "Dynamic".
- List of Contacts: List of all contacts associated with the specified list ID, including name, last modified date, company, among other details.
- Workflows: All workflows, including name, workflow ID, type, enabled, inserted date, updated date, contact list ID, enrolled counts, active counts, etc.
- Email Events: All email events within the selected date range, including event ID, email type, email campaign ID, name, status, and location, among other details.
- Engagements - ALL: All engagements recorded within the selected date range, including engagement ID, active, created and updated dates, created by, modified by, type, contacts, companies, and deals, among other details.
- Engagements - Recent: All engagements recorded from the last 30 days, or the 10k most recently updated records. days, including engagement ID, active, created and updated dates, created by, modified by, type, contacts, companies, and deals, among other details.
- Engagements - Associated: All engagements filtered by associations with deals or companies, including active, created and updated dates, type, contacts, companies, and deals, among other details.
Hubspot API Docs
You shouldn't need to look at these docs very often.
FAQs + Tips and Tricks
Hubspot combines CRM and Marketing into one API.
If you want access to endpoints from both Marketing Automation and CRM you’ll need to have both types of accounts in Hubspot. If you have access to both you will also be able to pull data from the following endpoints:
- Blog Posts
- Email Subscription Timeline
- Email Events
Contacts in Hubspot have lots of properties.
Every lead in Hubspot is marked as a contact, not a lead. If you want to pull in the properties for your Hubspot contacts, use the Get All Contacts endpoint, which will let you select the fields (properties) you want to pull in.
Some Hubspot endpoints require admin-level permissions.
If you don’t have permissions to view certain reports, you’ll an error, telling you that your account does not have the proper permissions to run that report, and to contact your Hubspot administrator. The reports where this error most frequently pops up are Campaigns, Workflows, and Email Events.
To access these reports, you will need to have admin permissions in Hubspot and have that account connected in Grow.
Hubspot has strict rate limits.
The following limits apply: 10 requests per second and/or 40,000 requests per day.
Customers exceeding either of those limits will receive error responses with a 429 response code. Please see this page for more details about those errors, and suggestions on working with the request limits.
Because of Hubspot’s rate limits, getting lots of Hubspot data into Grow can be slow. We recommend using a dataset to bring back your data.
Hubspot’s API only gives ID numbers for custom fields.
Hubspot's API will only pull in ID numbers for each field. Unfortunately, there is no endpoint that will let us pull in the custom field IDs and map them to their field.
As a workaround, we suggest isolating them and keeping track in a Google Spreadsheet of the IDs and the assigned codes. You can then group by ID or map them better.
Unix Epoch Dates.
Some Hubspot date fields return Unix Epoch timestamps. These can be converted to a more useful date format with the “Table Date Format” option in Grow, or using a simple SQL query.
Some data comes in as cents, not dollars.
For the Accounts - Recently Created (30 Days) report , the annual revenue field pulls data in cents, not dollars (or whatever base currency is being used).
Merging Deals with Contacts
You will likely want to view some contact properties associated with the deals that sold. Some things you might think would be in the Deals report will actually be found in the Contact properties, so joining the data together is usually needed. However, there can be multiple deals associated with one contact, so you have to be a bit more precise with the merge.
- Pull the
Contacts - Allreport from Hubspot in Report 1
- Pull the
Deals - Allreport from Hubspot in Report 2
- From the
Contacts - Allreport, use the ‘vid’ column
- From the
Deals - Allreport, use the ‘associatedVids’ column
Assuming you pulled the reports in the order mentioned above, the join will look like this:
Both the ‘vid’ and the ‘associatedVids’ columns are standard fields in Hubspot so you shouldn’t need to do anything in particular on their end to have that function. When this is done, we'd recommend that you save this as a dataset to use for multiple metrics.
The joined report outlined above will produce a full list of all contacts, with those that have deals from those contacts. If you only want to see the Deals, just add a filter on the joined report and filter out any columns where any of the deal related data is empty.