HubSpot Integration

Connect your SurveyGizmo and HubSpot accounts to take your data collection to the next level! SurveyGizmo's HubSpot integration allows you to automate the contact creation/lead generation process within HubSpot and also provides you with the ability to use your HubSpot Contact Record Properties to populate data into your SurveyGizmo surveys (a great way to keep your contact records up to date).

The SurveyGizmo HubSpot Action allows you to:

1. Create or Update contacts in HubSpot from SurveyGizmo survey submissions using the HubSpot Push Action. The push allows for:

  • Upsert - If you have an existing contact, the contact email will be used to update an existing contact record during an upsert. If an email does not exist, a new contact record will be created. An upsert is a conditional action: update if it exists, insert if it doesn't.
  • Insert - Insert is the term used for creating a new contact record. An identifier is not mapped in this case as it doesn't exist.
  • Update - An update is an update of an existing contact record. An email address (unique identifier) is required.

2. Pull contact information (HubSpot Contact Record Properties) into questions/fields within your SurveyGizmo survey using a Pull Action.

Integration Setup

The HubSpot Integration is available for purchase by Account Administrators via Account > Integrations. Once you've purchased this integration, you can connect SurveyGizmo and HubSpot.

Before you get started, note that you will need your HubSpot API Key to setup the integration within SurveyGizmo. Visit the HubSpot API Key documentation for instructions on obtaining your key.

  1. Navigate to Account > Integrations > 3rd Party Integrations and locate the HubSpot integration. Click the Configure button to get started.
  2. On the Authentication tab, provide an Account Label (this is just a name for the account that is internal to you and your SurveyGizmo users) and the HubSpot API Key (both fields are required). If you don't have your API Key readily available, visit the HubSpot API Key documentation for instructions.
    HubSpot Integration Authentication
  3. Once you are finished setting up your integration click Save. You can now add the HubSpot Action to your surveys to push/pull contact data.

HubSpot (Push) Action

SurveyGizmo's HubSpot Action (push method) allows you to automate the contact creation/lead generation process. Use your SurveyGizmo survey to collect contact details, which can then be synced with your HubSpot account Contact Record Properties. You can also use the push method to update existing records.

HubSpot Push Setup

Your push action must be on a page follows any survey questions that you will be sending to HubSpot. We recommend placing the push action on your survey's Thank You page.

  1. Click the Action link on the page where you wish to place your action and locate the HubSpot action within the Integrations section. Click the +Add button.
  2. Provide an Integration Title for your action (This is a title that is internal to you and your fellow SurveyGizmo users; it should represent the purpose of the action.) 
  3. Select a HubSpot Integration using the provided dropdown menu. Your integration will be identified by the account label that you provided on the Integrations page when connecting your accounts.
  4. Using the Select an Object dropdown menu, choose the object-type that you will be pushing to. Currently, the contact object is the only available object-type.
    HubSpot Push: Select an Object
  5. For the purpose of the push action, select Push Data to HubSpot under the Method section. Select the type of push that you want to execute:

    • Upsert - If the provided email address exists in HubSpot, the survey response will be used to update an existing contact record with that email during an upsert. If an email address doesn't exist, a new contact record will be created with the provided email address.
    • Insert - Insert is the term used for creating a new contact record. An email address is required to insert/create a new contact in HubSpot.
    • Update - An update is just that, an update of an existing contact record. As such, an email address (unique identifier) is required to reference the contact record that should be updated.
      HubSpot Push: Choose Method
  6. The next step requires identifying the survey question/field where the respondent's email address will be stored:

    • An email address is required to create or update an existing contact record in HubSpot. This email address must be passed into or collected on the survey and stored in either a question or Hidden Value Action.
    • Use the dropdown under Question containing the HubSpot Contact Email to select the survey question/field that captures the respondent's email.
      Identify HubSpot Contact Email
    • In the event that you need to pass in the email address as a url variable or reference it via a merge code, select the Static Value (Merge Codes, etc.) option. You will see an additional field and can input a static value or use the merge code helper to reference the email address:
      Static Value / Merge Codes
  7. Once you have determined the type of Push that you want to execute, it's time to Map Fields. Within the Map Fields section (click here for an important note about field-mapping):

    • In the left-hand column, select the SurveyGizmo question/field from which you want to send data.
    • In the right-hand column, select the corresponding HubSpot Contact Record Property, that you want to send the question data to.
    • Use the Default Value field to pass information to HubSpot in the event that the SurveyGizmo filed is left blank.
    • Use the Add another mapping link to add more field pairs as needed.
      HubSpot Push: Map Fields
  8. Once you have finished your field-mapping, navigate to the Logic tab if you need to apply any conditions for triggering your HubSpot Push. Make sure to Save Action when finished.

 Example - Create a New Lead

The HubSpot Push Action (specifically the Insert) can be used to create New HubSpot Leads based on survey submissions.

This requires creating a new contact and passing a status of New to the Lead Status Property of that contact in HubSpot.

Example Setup

  1. Create a survey and add any questions/fields that are necessary for you to create a contact within HubSpot. At minimum, add an Email Question to your survey (an email address is required to create a contact in HubSpot).
  2. Next, add a Radio Button Question and title this Lead Status. This question will be mapped to HubSpot's Lead Status Contact Property and as such the following answer options and reporting values will need to be added:
    Lead Status: Reporting ValuesThese Reporting Values must match exactly with the Internal Values of the HubSpot Lead Status Property in order for data to be pushed successfully:
    Lead Status: HubSpot Internal Values
  3. Within your Lead Status Radio Button question in SurveyGizmo, navigate to the Layout tab and add the Default Answer of NEW - this should match both the SurveyGizmo Reporting Value and HubSpot Internal Value for the "new" lead status. Within the CSS Class Name, enter: sg-hide

    You have now defaulted this lead status to NEW and hidden the question from your respondents.
    Default Answer & CSS Class Name
  4. Now, it's time to create a new contact in your HubSpot account with a Lead Status of "New". At the end of your survey, typically the survey Thank You Page click the Action link. Scroll down to locate the HubSpot integration and click +Add.
  5. Provide an Integration Title i.e. "Create New Lead" and select your HubSpot integration from the provided dropdown menu. Using the Select an Object menu, select the contact object.
  6. Select the Push Data to HubSpot Method and make sure to push data via Insert. Identify the question or field in your survey that collects the respondent's email address:
    HubSpot Insert Setup
  7. Next, map your Survey Gizmo questions/fields to their counterparts (contact record properties) in HubSpot. Make sure to map your hidden Lead Status question to the Lead Status property in HubSpot (click here for an important note about field-mapping):
    HubSpot Insert Field Mapping
  8. Make sure to Save Action after you are finished with mapping. Now, each respondent that takes your survey will be added as a contact within your HubSpot account with a Lead Status of "New".

HubSpot (Pull) Action

SurveyGizmo's HubSpot Pull Action provides you with the ability to use your Contact Record Properties within your SurveyGizmo surveys. This can be combined with a push action to help you keep you contact information up to date.

HubSpot Pull Setup

When pulling contact data from HubSpot into SurveyGizmo, the survey will need to be able to identify the contact whose information should be pulled in. This is done by referencing the contact's email address.

The pull action should be added before any fields that it will be populating. Keep in mind that the respondent's email address will need to be referenced in order to pull in any associated information. Refer to our example workflow below for one potential scenario.

  1. On the page where you want to place your action, click the Action link and locate the HubSpot action within the Integrations section. Click the +Add button.
    Add HubSpot Pull Action
  2. Provide a Integration Title for your action (this is an internal title) and Select a HubSpot Integration using the provided dropdown menu. Your integration will be identified by the account label that you provided on the Integrations page.
    HubSpot Pull: Title & Integration
  3. Using the Select an Object dropdown menu, choose the object-type that you will be pulling from. Currently, the contact object is the only available object-type.
  4. For the purpose of the pull action, select Pull Data from HubSpot under the Method section.
    HubSpot Pull: Choose Method
  5. An email address is required to reference an existing contact record in HubSpot.
    • This email address must be passed into or collected on the survey and stored in either a question or Hidden Value Action.
    • Use the dropdown under Question containing the HubSpot Contact Email to select the survey question/field that captures the respondent's email. This field must be on a page that precedes the pull action you are setting up.
    • In the event that you need to pass in the email address as a url variable or reference it via a merge code, select the Static Value (Merge Codes, etc.) option. You will see an additional field and can input a static value or use the merge code helper to reference the email address:
      Static Value / Merge Codes
  6. Once you have identified the question/field that collect the respondent email, it's time to Map Fields. Within the Map Fields section (click here for an important note about field-mapping):

    • In the left-hand column, select the SurveyGizmo question/field that you want to feed data into.
    • In the right-hand column, select the corresponding HubSpot Contact Record Property, from which you want to pass data.
    • Use the Default Value field to pass a default value into SurveyGizmo in the event that the field is blank for that record in HubSpot.
    • Use the Add another mapping link to add more field pairs as needed.
      HubSpot Pull: Map Fields
  7. Once you have finished your field-mapping, navigate to the Logic tab if you need to apply any conditions for triggering your HubSpot Pull. Make sure to Save Action when finished.

 Example - Pull Data From HubSpot into SurveyGizmo

  • In this example, we will be passing a contact's email address into the survey as a URL Variable.
  • The variable will be captured on Page One of the survey in a Hidden Value. Page One will be auto-submitted.
  • We will add a HubSpot (Pull) Action to the top of Page Two to reference the above-captured email address and based on that email will pull in the contact's Contact Record Properties from HubSpot to populate survey questions on Page Two.

Example Setup

  1. On Page One of your survey, create a Hidden Value Action. Click on the Action link on the page, locate Hidden Value within the Survey Actions section and click the corresponding +Add button. Give the Hidden Value a name that you can later reference.
  2. Within the Populate with the following: field, use the Select a Merge Code link to add the URL Variable merge code.  Replace the xxx with the name of your url variable, i.e. email.
    Workflow: Capture Email in Hidden Value
  3. Edit Page One and on the Logic tab set this page to automatically submit. Click Yes under the Automatically submit the page, running all actions and custom scripts section. This will ensure that Page One is not displayed to your respondents. Save Page when ready.
  4. Page Two contains our contact field questions. We will be using the HubSpot pull to pre-populate these questions based on the provided email address.
    Page Two: Contact Details
  5. On the top of Page Two, use the hover-over toolbar to add an Action. Select the HubSpot action from the list and click the corresponding +Add button.
    Add HubSpot Action at top of Page Two
  6. Provide an Integration Title and Select a HubSpot Integration from the available dropdown menu. Via the Select an Object menu, choose the contact object. Last, choose the Pull Data from HubSpot option.
    HubSpot Workflow - Add HubSpot Pull
  7. We now need to refer to the survey field that captures the respondent's email address - in this example, it is the Hidden Value that we created on Page One. Based on the email provided into the Hidden Value, the appropriate associated contact data is pulled in.

    • Within the Question containing the HubSpot Contact Email dropdown menu, select the Hidden Value (by title) where the email address url variable is being captured.
      Identify Email Address Field
  8. Last, map your SurveyGizmo fields/questions to your HubSpot Contact Record Properties (click here for an important note about field-mapping). The SurveyGizmo fields will be populated with the Contact Record Properties based on the provided email. Save Action and test your survey!
    Map Fields: Populate Survey Questions

Mapping Fields

When mapping SurveyGizmo Questions to HubSpot Properties, it is critical that the SurveyGizmo Reporting Values are identical to the HubSpot Property Internal Values.

For the sake of example, in our SurveyGizmo survey we have a Radio Button question titled Lead Status. Our answers options and reporting values are configured as follows:

SurveyGizmo Reporting Values

Note that our Reporting Values are all capitalized with underscores separating multiple words. These reporting values have been customized to match identically with the Internal Values of the HubSpot Lead Status Property:

HubSpot Internal Values

Important! You can certainly customize both SurveyGizmo Reporting Values as well as HubSpot's Internal Values. Just make sure that if you customize one, you update the other (if you intend to pass data from question to property or vice-versa).

FAQ & Troubleshooting

I'm using the Insert Push Method and a contact was not created.

Make sure that an email address was provided in your survey and that the email address was mapped to the Email HubSpot Property within your action. An email address is required to create a new contact record in HubSpot.

My HubSpot Action did not pull/push data.

If your HubSpot Action is failing to push or pull data, check the Action Log for any associated survey response.

  1. Navigate to Results > Individual Responses, and click on one of the responses associated with a failed action.
    Troubleshooting: View Response Details
  2. Access the Action Log tab and locate your HubSpot Action (identified by title). Here, you can view the action input/output and refer to any errors that might be presented. The error should provide clues as to why the action failed:
    Response Action Log: Error Example

One of my fields did not pass data correctly.

This is likely due to a mismatch of field types, i.e. sending data from a SurveyGizmo textbox question to a HubSpot Radio select property type.

Basic Standard Market Research HR Professional Full Access Reporting
Free Individual Team & Enterprise
Feature Included In