OrcLink
← Help Center

Forms

HubSpot Forms

Count a HubSpot Forms form submission in its embed as a conversion.

Built, not yet tested liveBuilt. Not yet tested against a live HubSpot Forms account.

Live: shipped in OrcLink's production release before this one. Built, not yet tested live: built and tested with sample data, not yet run against a live account of the vendor. Coming soon: listed, not available to connect yet.

How to connect

  • Capture > Rules > Iframe form vendors: tick HubSpot Forms. Keep the OrcLink script on the page that shows the embed.

What OrcLink reads

  • Only the vendor's "submitted" message, and only from HubSpot Forms's own addresses. No answers, no ids.

What OrcLink writes back

  • Nothing.

Never stored

  • Form answers: never read.

Known limits

  • The message format is written from the vendor's public documentation and not yet checked on a live embed: check with Capture > Test tool.

How to count HubSpot Forms submissions as conversions in OrcLink. Tested against a copy of HubSpot Forms's form markup and submit behaviour (app/api/capture/__tests__/fixtures/builders/hubspot-forms.html, test app/api/capture/__tests__/tjs/builders.test.ts). Limits of that test: it is a copy of the markup and of the submit flow as documented, not the live builder; no Shadow DOM; the builder re-rendering the form is not modelled. Check your own page with the test tool.

HubSpot forms can be embedded two ways. Use ONE of the two methods below, never both (both would record the same submission twice).

Method 1: in-page embed (recommended)

The standard HubSpot embed code draws the form inside your page (<form class="hs-form ...">).

  1. Add the OrcLink script to every page (Conversions > Install).
  2. In Conversions > Install > 3. Forms turn form capture on and add this form selector:
   form.hs-form
  1. Publish. The script reads only the email and phone fields; HubSpot still receives the whole form as before.

To keep the click id in HubSpot, add a hidden contact property olid to the form; the script fills it.

Method 2: HubSpot's form message

If your page uses an embed where the form is in a HubSpot iframe, or you prefer not to set a selector:

  1. In Capture > Rules, under Iframe form vendors, turn on HubSpot Forms.
  2. The script listens for HubSpot's hsFormCallback message with eventName: onFormSubmitted, accepted only from this page itself (HubSpot's embed script) or from forms.hsforms.com, forms-eu1.hsforms.com, share.hsforms.com and share-eu1.hsforms.com. It reads only that signal, never the submitted values HubSpot puts in the message.

Check it

  1. Open Capture > Test tool in OrcLink and turn test mode on (or add data-orc-test to the script tag on a test copy of the page).
  2. Open the page from an OrcLink link (so the address has ?olid=), fill in the form and send it.
  3. Within a few seconds the test tool shows one row: kind, the field NAMES read and hashed (email, phone), match "click id", outcome "Yes". It never shows values.
  4. Turn test mode off. Test outcomes are never sent to an ad platform.

Privacy

  • The script reads only the first email-shaped and the first phone-shaped field of the form. Names, messages, dates of birth, insurance and every other field stay in the page. The server hashes the email and phone on arrival and never stores them raw.
  • Nothing is read or sent before the visitor gives advertising consent (when the workspace follows the consent manager). In HIPAA mode the same rules hold; hashes only.