To integrate your website with HubSpot CRM, install the HubSpot tracking code on every page, then connect forms using one of three methods: native CMS or form-vendor integration (WordPress plugin, TypeForm, OptinMonster), non-HubSpot form collection in HubSpot settings, or the HubSpot Forms API. Basic integration takes 15-30 minutes; a complete integration with multiple forms, live chat, and custom properties typically takes 2-4 hours. HubSpot CRM is free, and the integration works with any platform that supports JavaScript - WordPress, Webflow, Next.js, React, Vue, plain HTML, or a custom stack.

At a glance

StepWhat to installTime
1. Install tracking codeOne JavaScript snippet before </body> on every page5-10 min
2. Pick a form methodNative integration, non-HubSpot form collection, or Forms API10-20 min
3. Verify in HubSpotSubmit a test form, confirm contact appears in CRM2-5 min

Step-by-step

1. Install the HubSpot tracking code

Copy the tracking code from Settings → Tracking & Analytics → Tracking Code in HubSpot. Paste it before the closing </body> tag on every page of your website. On WordPress, install the official HubSpot plugin and it does this for you. On Next.js or React, add the snippet to your root layout. The code drops a hubspotutk cookie that lets HubSpot link anonymous page views to a contact record after the first form submission.

2. Pick one form connection method

There are three production-ready ways to send form submissions into HubSpot CRM. Pick one based on how your forms are built today.

Option A: Native CMS or form-vendor integration

If your CMS or form vendor lists HubSpot as a native integration, activate it - but verify it uses the Forms API, not the Contacts API. Vendors that use the Contacts API skip web analytics: contacts created that way appear with an "Offline source," which breaks attribution. OptinMonster, TypeForm, and the official WordPress plugin do this correctly. When in doubt, test with a known referrer and check the contact's "Original source" property.

Option B: Non-HubSpot form collection (fastest)

Enable Settings → Marketing → Forms → Non-HubSpot Forms. The tracking code from step 1 then automatically captures every HTML form submission on your site - no extra code required. This is the fastest path if you already have HTML forms and don't need server-side validation against HubSpot data.

Non Hubspot Forms

Option C: HubSpot Forms API (most control)

Submit form data directly to the Forms API endpoint. This is the right choice when you need custom validation, server-side rendering, or a custom-built form pipeline.

POST https://api.hsforms.com/submissions/v3/integration/submit/{PORTAL_ID}/{FORM_ID}
Content-Type: application/json

{
  "submittedAt": "1779080000000",
  "fields": [
    { "objectTypeId": "0-1", "name": "email", "value": "user@example.com" },
    { "objectTypeId": "0-1", "name": "firstname", "value": "Jane" }
  ],
  "context": {
    "hutk": "{value of hubspotutk cookie}",
    "pageUri": "https://yourdomain.com/page",
    "pageName": "Page Title"
  }
}

Read the hubspotutk cookie value and pass it as context.hutk so the submission is linked to the visitor's tracking session - without it, the contact is created without web-analytics data.

3. Connecting Google Forms or third-party tools

For Google Forms, Typeform, Tally, or any tool without a first-party integration, route submissions through Zapier or Make:

  1. Create a Zap with your form tool as the trigger.
  2. Add HubSpot - Create or Update Contact as the action.
  3. Map form fields to HubSpot properties (email is required; first name, last name, company, and any custom property work).
  4. Turn the Zap on and submit a test entry.

For Google Forms specifically, the Form to HubSpot Workspace add-on is a one-click alternative.

Why HubSpot Forms beat Google Forms for marketing

Once you're past the first integration, consider moving the forms themselves to HubSpot. Native HubSpot forms give you:

  1. Web analytics - submissions are attributed to traffic source automatically.
  2. CRM-aware logic - branching and field visibility based on what you already know about a contact (progressive profiling).
  3. Prefill from CRM - returning visitors see fields prefilled, which lifts conversion 15-30% in our agency's tests.
  4. A/B testing built in.
  5. Workflow triggers - submissions can fire nurture workflows, lead routing, or Slack alerts without glue code.

Reference

  • API specification: legacydocs.hubspot.com/docs/methods/forms/submit_form
  • HubSpot Forms API endpoint: https://api.hsforms.com/submissions/v3/integration/submit/{PORTAL_ID}/{FORM_ID}
  • HubSpot ended 2025 with 288,706 paying customers (HubSpot Q4 2025 earnings, December 31, 2025).
  • HubSpot CRM and the tracking code are free; paid Marketing Hub tiers add advanced behavioural events, custom reporting, and higher API limits.

1. Enable Native Integration

If you are using a third-party CMS or a form service like TypeForm for your website, it is important to check if it has native integration. If it does, then it should be activated to ensure you get the best results. Unfortunately, some services use the wrong APIs and this can cause problems. For example, they may use the Contacts API instead of the Form API. It is not recommended due to the fact that it requires more complex authentication methods for the API and it does not keep track of web analytics data. As a result, all your contacts can be marked as coming from an offline source. Using the right API is vital to ensure that you get the most out of your CMS or form service. An example of popup form services that support the correct API is OptinMonster. If you are not sure, it is recommended to consult a professional who can advise you on the best way to integrate your app or system with HubSpot CMS.

2. Quick Start - Activate non-HubSpot Form Collection

The most straightforward option is to activate the collection of non-HubSpot forms in Hubspot. This is a great feature for a quick start, as the Hubspot Tracking code automatically captures all HTML form submissions without any extra work from you. You can find it in Settings/Marketing/Forms/Non-HubSpot Forms

Non Hubspot Forms

3. HubSpot Forms APIs

If you're looking for a more advanced approach, you can also use Hubspot Form APIs. This API doesn't require complex authentication, so it is easier to set up and use than some of the other approaches. If you tinker a bit with Javascript to set up the Hubspot user tracking code (HUTK), you'll be able to get the proper analytics you need. Hubspot Forms API specification API Specifications: https://legacydocs.hubspot.com/docs/methods/forms/submit_form POST https://api.hsforms.com/submissions/v3/integration/submit/PORTALID/FORMID

hutkExtracted from cookies generated by Hubspot tracking code (hubspotutk)
ipAddressUsers IP address
pageUrlPage URL
pageName“Page Title”
redirectUrl“yourdomain.com”
emailUsers email
Other form fieldsField values

HubSpot Google forms integration

If you’re interested in integrating Google forms to HubSpot, here is a quick workaround. The easiest way to connect Google forms and HubSpot is Zapier (alternatively, Make) which can be used to create new HubSpot contacts or deals when a new Google form submission is received, update existing contacts or deals based on form responses, or trigger workflows in HubSpot based on form responses. To update HubSpot contacts from new Google Forms responses:

  1. First, create a Google Form and save its URL.
  2. Sign into Zapier and create a zap. Zaps are workflows that connect your apps to automate repetitive tasks.
  3. Select Google Form as the trigger and HubSpot as the action. A trigger is an event that starts a Zap, and an action is an event a Zap performs.
  4. Connect your Google Form and HubSpot accounts.
  5. Choose the form you want to sync and map the fields.
  6. Turn your zap on and test it. Alternatively, you can install Form to HubSpot from Google Workspace Marketplace. The app seamlessly integrates Google Forms data into HubSpot CRM. Using Form to HubSpot, you can collect data from forms and automatically create, update, or delete HubSpot contacts. We highly suggest you consider the benefits of HubSpot over Google Forms:
  7. HubSpot forms are more customizable and can be tracked using HubSpot analytics.
  8. They are integrated with other HubSpot tools (email marketing and CRM).
  9. They can be used to capture more detailed information, such as email addresses and phone numbers.
  10. HubSpot forms can be A/B tested to determine which form is more effective.
  11. HubSpot forms are prefilled with previously submitted visitor data. It includes basic contact information such as name, email address and phone number.
  12. HubSpot forms feature progressive profiling. It allows you to control which questions appear on a form based on what you already know about a lead. Custom fields can be used to collect information such as job title, company size, or other information. If you create HubSpot Forms instead of Google Forms – you will have more options for customization, integration, and reporting.
Is HubSpot CRM free to integrate with my website?+
Yes. HubSpot CRM is free and includes the tracking code, forms, and live chat. You can install the HubSpot tracking code on any website regardless of the platform. Premium features like custom behavioral events and advanced analytics require paid Marketing Hub plans.
How do I add HubSpot tracking code to my website?+
Copy the HubSpot tracking code from Settings → Tracking & Analytics → Tracking Code in your HubSpot account. Paste it before the closing </body> tag on every page of your website. If you use WordPress, install the official HubSpot plugin which adds the code automatically.
Can I integrate HubSpot with a custom-built website?+
Yes. HubSpot integrates with any website that supports JavaScript. Add the tracking code to your HTML, embed forms using the HubSpot embed code or Forms API, and use the HubSpot API for custom data sync. This works with React, Next.js, Vue, and any other framework.
How long does it take to integrate HubSpot CRM with a website?+
Basic integration (tracking code and a form) takes 15-30 minutes. A full integration including multiple forms, live chat, custom properties, and CRM data sync typically takes 2-4 hours. Complex integrations with custom APIs or multi-step workflows may take 1-2 days.
What data does HubSpot track on my website?+
The HubSpot tracking code records page views, session duration, traffic source, device type, and returning visitor data. When a visitor submits a form, all their anonymous tracking data is associated with their contact record in the CRM, giving you a complete timeline of their engagement.

Need help with your HubSpot integration? Our HubSpot onboarding services include custom integrations tailored to your tech stack.