Connect HubSpot to Fibbler

  1. In Fibbler, go to Data Sources
  2. Click "Connect CRM" and pick HubSpot from the list. The button says "Connect LinkedIn First" and can't be clicked until LinkedIn Ads is connected
  3. Sign in with a HubSpot user who is a Super Admin, and pick the account you want to connect
  4. Review the permissions and authorize the connection

Permissions Fibbler asks for

HubSpot shows every permission on one screen when you connect, whether or not you use the feature it belongs to. Three of them are what Fibbler reads to produce attribution; the rest are only used by features that are off until you turn them on.

Always used

  • View properties and other details about companies crm.objects.companies.read— reads company names and domains, so ad engagement can be matched to the accounts in your CRM
  • View properties and other details about deals crm.objects.deals.read— reads deal amount, stage and dates, for influenced pipeline and revenue
  • View details about property settings for companies crm.schemas.companies.read— reads the names of your properties, not their values. It is how the deal revenue picker lists your currency properties, and how Fibbler sees which of its own fields already exist
  • View properties about the installing account including primary domain and user emails— HubSpot's standard app information, which tells us which portal you just connected

Only used by features you turn on

  • Create, delete, or make changes to property settings for companies crm.schemas.companies.write— creates Fibbler's own company properties. Used by CRM Data Sync and by Ad Engagement Signals
  • Create, delete, or make changes to companies crm.objects.companies.write— writes values into those Fibbler properties. It is also what lets a signal create a company your portal is missing, which is a separate setting you choose
  • Create, delete, or make changes to contact lists crm.lists.write— creates the list a signal fills, and keeps the right companies in it. Ad Engagement Signals only
  • View details about contact lists crm.lists.read— looks up a list we created, by the id we stored when we made it. A signal running normally never reads a list; this is here so support can check one when you tell us it is not filling
HubSpot permissions approval screen listing the eight permissions Fibbler requests
Review and approve the permissions Fibbler requests
New permissions need a reconnect. A HubSpot connection carries the permissions that were on the consent screen the day it was made, and refreshing a token never adds one. If you connected before Ad Engagement Signals shipped, go to Data Sources and reconnect HubSpot to grant them. Your settings and your data stay as they are.
A word on lists. In HubSpot a list can hold contacts, companies or deals, and the permission covers all three because HubSpot offers no narrower one. Every list Fibbler creates is a list of companies, and the only lists we ever touch are the ones we created, addressed by an id we stored when we made them. We never search or browse the lists in your account.
No notes in HubSpot. HubSpot has no permission for notes on their own: creating one means asking for write access to every contact in your CRM. We do not ask for that, so in HubSpot an Ad Engagement Signal writes its reason into the signal properties instead. Salesforce, Attio and Pipedrive get a note on the record.
Fibbler does not access any personally identifiable information (PII). We only work with company-level and deal/opportunity data.
Data storage: Fibbler stores company-level and deal/opportunity data from your CRM to power attribution and analytics features. This includes company names, domains, deal amounts, and deal stages. All stored data is encrypted at rest. See our Security page for details.

Configure your CRM settings

After connecting HubSpot, make sure to complete the CRM configuration in Fibbler:

  • Select your sales pipelines: Pick the HubSpot deal pipelines Fibbler should use for attribution. You can select more than one, and each pipeline gets its own settings below
  • Deal Types (optional): If you use Deal Types in HubSpot to differentiate between New Business and Upsells, tick "We use 'deal types' and want to customize them in the Fibbler platform" and pick one per pipeline. If you are not using it, leave the box unticked
  • Map your Closed Won and Closed Lost stages: Tell Fibbler which HubSpot deal stages count as Closed Won and Closed Lost. You can select more than one stage for each outcome

Which property deal revenue is read from

By default Fibbler reads pipeline and revenue from HubSpot's Amount property converted to your company currency. That is the right choice for almost every portal, and especially for portals with deals in more than one currency, because it puts every deal in the same currency before anything is added up.

If your revenue actually lives in a custom currency property, you can point Fibbler at it. On the Data Sources page, open your HubSpot source and expand Advanced, deal revenue property. The picker lists your currency properties, with Amount (default) first.

Changing this re-imports every deal from HubSpot, so your historical pipeline and revenue match the new property. That takes 5 to 30 minutes, and saving is disabled while it runs. Pick the property once and leave it alone unless your revenue really moves.

Two properties are deliberately not offered. The raw Amount in each deal's own currency would add different currencies into one meaningless total, and Exchange rate is a conversion factor rather than an amount. This setting is HubSpot only.

What Fibbler writes to HubSpot

Nothing, until you turn a feature on. Two features write to HubSpot, and both are off by default. On a company that already exists they only ever write Fibbler's own fields: your name, domain, owner, lifecycle stage and everything else your team maintains are never changed by us.

CRM Data Sync custom fields (optional)

CRM Data Sync is an optional feature that pushes ad engagement data into your CRM. You do not need to enable it to use Fibbler. Company Insights, Campaign Analytics, and attribution all work without it.

If you choose to enable it for LinkedIn, Fibbler automatically creates the following custom company properties in HubSpot:

  • LinkedIn Impressions (7, 30, and 90-day windows)
  • LinkedIn Clicks (7, 30, and 90-day windows)
  • LinkedIn Engagements (7, 30, and 90-day windows)
  • LinkedIn Paid Video Views (7, 30, and 90-day windows)
  • LinkedIn Organic Impressions (7, 30, and 90-day windows)
  • LinkedIn Organic Engagements (7, 30, and 90-day windows)
  • LinkedIn Engagement Level (7, 30, and 90-day windows). Values: VERY_HIGH, HIGH, MEDIUM, LOW, VERY_LOW

The sync runs on a weekly schedule every Sunday, updating only HubSpot company records that already exist. CRM Data Sync will never create a company record in HubSpot.

Google Ads and Meta Ads visit fields (optional)

If you have the Google Ads or Meta Ads add-on, CRM Data Sync can also push website visits that came from those channels onto the same company records. Each channel is set up separately, and each creates its own properties:

  • Google Ads: fibbler_google_ads_visits_7_days, fibbler_google_ads_visits_30_days, fibbler_google_ads_visits_90_days, shown as "Google Ads Visits (7 days)" and so on
  • Meta Ads: fibbler_meta_ads_visits_7_days, fibbler_meta_ads_visits_30_days, fibbler_meta_ads_visits_90_days, shown as "Meta Ads Visits (7 days)" and so on

You can also sync a named group of campaigns rather than the whole account. That creates one property per group and window, with a display name like "Google Ads Visits (7 days) - Brand Campaigns". The details are in the Google Ads CRM Sync and Meta Ads CRM Sync docs.

Visits are matched to HubSpot companies by website domain, through Dealfront. As with LinkedIn, only companies that already exist in your portal are updated.

Ad Engagement Signals in HubSpot (optional)

Ad Engagement Signals sends the companies engaging with your ads somewhere your team already works. When you pick HubSpot as a destination, a signal does three things in your portal.

It writes six company properties, in their own property group called "Fibbler Ad engagement signals" so they never mix with what CRM Data Sync writes:

  • Fibbler Signal Type fibbler_signal_type — why the company was surfaced: New, or Rising fast
  • Fibbler Signal Date fibbler_signal_date — when Fibbler last surfaced it
  • Fibbler Signal Name fibbler_signal_name — which signal surfaced it
  • Fibbler Signal Channels fibbler_signal_channels — which ad channels it engaged with
  • Fibbler Signal Why fibbler_signal_why — the evidence, in one line
  • Created by Fibbler fibbler_created — a checkbox, set only on a company record a signal created

It keeps a list, one per signal, under Segments. It is a static list of companies named Fibbler: followed by the signal's name. A company keeps its place in the list for 30 days and then drops out; the record, the properties and the history stay exactly as they are.

It creates a company that is missing.Signals are optional and only run once you set one up and turn it on. When a signal sends to HubSpot and the company isn't there yet, we create it. A company created this way is filled in with name, domain, industry, employee count and LinkedIn page, and is stamped with Created by Fibbler so you can find them all again.

Everything on this page is covered in more detail, permission by permission, on our Security page.