Skip to main content
When a visitor is identified, Squid ID syncs them to HubSpot as a contact matched by email, optionally creates and associates their company, and can set a lifecycle stage, assign an owner, and add them to a list. You connect HubSpot once with OAuth, then choose which visitors sync and what happens to them. Existing contacts are updated non-destructively. Squid ID writes only its own squid_ properties and never overwrites fields your team manages.

If you’re coming from RB2B

RB2B syncs contacts, companies, and timeline activity on each identified visitor. Squid ID matches that and adds targeting, deeper data, and CRM actions RB2B leaves to you.
RB2BSquid ID
ConnectOAuthOAuth
Contacts + companiesYesYes (company create + associate)
Non-destructive updateYesYes (writes only squid_ props on existing contacts)
Create / update controlCreate-new toggle; existing records always updateCreate-new and update-existing each switchable (enrich known contacts only)
Who syncsTag / company-size / industryAll, by ICP, or by high-intent page
RequirementsLimitedRequire company, LinkedIn, or work/personal email
Premium contact dataNot providedMobile, personal email, mailing address via Squid ID+
Field controlFixedAuto-created squid_ properties (ICP, intent pages, referrer, landing page, ID+ fields)
Lifecycle stageNot availableSet on create
Owner assignmentNot availableAssign new contacts to an owner
Add to segmentNot availableAdd synced contacts to a static segment
Connector statusSupport articleIn-dashboard connected / paused state

Why this matters. RB2B drops contacts into HubSpot and leaves routing, qualification, and assignment to you. Squid ID does that work at the connector: only the right segment syncs, each contact lands with a lifecycle stage and owner, and the deeper Squid ID+ contact data RB2B can’t provide comes along for the ride.

Before you start

You’ll move faster if these are already in place.
  • You’re an Owner or Admin on the website. Viewers can see the connector but can’t change it.
  • The snippet is installed and verified, so there are visitors to sync.
  • You can sign in to the HubSpot account you want to connect, with permission to grant app access.

Connect HubSpot

1

Open the HubSpot connector

Go to Settings → Integrations and click Connect with HubSpot on the HubSpot card.
2

Authorize

A HubSpot window opens. Pick the account/portal and click Connect app to grant access.
3

Confirm

The window closes and the card shows Connected with your HubSpot domain. Squid ID also creates its squid_ custom contact properties automatically.
During connect, HubSpot may show an “unverified app” warning that says the app hasn’t been verified by HubSpot and asks you to type “I accept the risk”. That is expected while our HubSpot Marketplace review is in progress, and it’s safe to continue. You can confirm it’s us: the redirect domain reads id-api.asksquid.ai. Type “I accept the risk” and click Connect to finish.

Choose who syncs

  • Send. Once per visitor (the default) creates one contact the first time we identify a person; every identified visit re-syncs on return visits.
  • Create new contacts. On by default. When a visitor isn’t already in HubSpot, create them as a new contact. Turn it off to enrich known contacts only: Squid ID then acts on people already in your CRM and never adds net-new ones.
  • Update existing records. On by default. When a visitor already exists in HubSpot, update their record (only the squid_ properties, never your standard fields). Turn it off to leave existing contacts untouched and only add net-new ones. With both switches off, nothing syncs.
  • Who. Sync all identified visitors, any ICP match, only specific ICPs, any high-intent page, or only specific high-intent pages.
  • Only sync when. Require a company, a LinkedIn profile, or a work or personal email. A visitor without an email is never synced (HubSpot contacts require one).
  • Create & associate companies. When on, for each synced contact Squid ID finds the visitor’s company in HubSpot by domain; if it doesn’t exist, it creates the company record (name, domain, and industry from the identified firmographics) and then associates the contact to it. So your CRM gets real Company objects and contact-to-company links, not just loose contacts. It’s idempotent: re-syncing the same visitor never duplicates the company or the association. Off syncs only the contact.

What lands in HubSpot

On a new contact, Squid ID sets the standard fields (email, name, job title, company) and, when Squid ID+ is unlocked for the record, the premium fields (mobile phone, mailing address). It always writes the squid_ custom properties:
  • squid_icp: the ICP the visitor matched
  • squid_intent_pages: the high-intent pages the visitor viewed (when they hit one)
  • squid_linkedin: LinkedIn URL
  • squid_referrer, squid_landing_page: acquisition
  • squid_captured_at: when we identified them
  • squid_mobile_phone, squid_personal_email, squid_home_address: Squid ID+ data (only when unlocked)
On an existing contact, Squid ID writes only the squid_ properties, so it never overwrites fields your team or other tools manage.
Squid ID+ premium fields sync only for records that are unlocked, either because the website is on Squid ID+ Automatic or the record was revealed. This is the same egress rule used everywhere in Squid ID.

On create: lifecycle, owner, and lists

These apply when a contact is first created:
  • Lifecycle stage. Set new contacts to a stage (Lead, MQL, SQL, and so on). Skipped on existing contacts so you never move someone backward.
  • Owner. Assign new contacts to a HubSpot owner.
  • Add to segment (previously “lists”). Add synced contacts to a static segment, so a HubSpot workflow can take it from there. Only static segments appear in this dropdown — active segments build themselves from criteria, so nothing (including Squid ID) can add to them directly. To create one, go to CRM → Segments (click More in the nav if you don’t see it), click Create segment, choose the Contacts object, then on the final step pick Static, name it, and save. Click the reload icon next to this dropdown and it will appear. For a worked example of pushing visitors into a static segment and then filtering them with an active segment, see Build a segment of your best visitors.

Test it

Click Send test contact to sync a sample contact (a unique squid-test@… email) so you can confirm it lands in HubSpot with the properties you expect before real traffic flows.

Pause or disconnect

  • Pause: Use the toggle on the HubSpot card to stop syncing without losing the connection or settings.
  • Disconnect: Open the connector and click Disconnect. This removes the connection from Squid ID; revoke the app inside HubSpot under Settings → Integrations → Connected Apps if you also want to remove it there.

Multiple websites

The connection applies to the website you have selected. If your account owns more than one website, switch the active site and connect each one. Routing, requirements, and the on-create actions are set per website.

What HubSpot receives

Every field and squid_ property, and when each is written.

HubSpot playbooks

Routing, re-engagement, and outreach recipes.

Troubleshooting and FAQ

Reconnect, missing contacts, duplicates, and more.