Freshpaint
HomeLogin
  • Documentation
    • What is Freshpaint?
    • ⚕️HIPAA Mode
    • 🏗️Building Out Your Account
    • 🌐Overview of Features
    • Guides
      • 📡Add Autotrack to your website to collect data from your users
        • Installing the Freshpaint Javascript SDK
        • Installing the Freshpaint SDK with a Content Security Policy (CSP)
        • Installing the Freshpaint Javascript SDK with Server-Side Rendering (SSR) + React
        • Autocapture + React
        • Configuring a Destination
        • Labeling User Actions
        • How do I install Freshpaint with Typescript?
      • 🔁Send historical data to any destination with Time Machine
      • Next.js Quickstart Guide
      • Android Quickstart Guide
        • Installing the Freshpaint Android SDK
        • Configuring a Destination
        • Instrumenting Your App
      • iOS Quickstart Guide
        • Installing the Freshpaint iOS SDK
        • Configuring a Destination
        • Instrumenting Your App
      • React Native Quickstart Guide
        • Installing the Freshpaint React Native SDK
        • Configuring a Destination
        • Labeling User Actions
        • Configuring Property Capture
    • Setting up Properties
    • Setting up Your Destinations
      • Enabling and Disabling a Destination
      • Deleting a Destination
    • Setting up Your Events
    • User Identification
      • Designated Identify Properties
    • Maps
    • Analytics (Beta)
      • Web Analytics Dashboard
      • Campaigns
      • Service Lines
      • Data Glossary
    • Translations
    • Web Tracker Monitoring
      • Tracker Resolution Types
      • Historical Scans
  • Integrations
    • Destinations
      • Demand Side Platforms (DSPs)
        • Basis
          • Basis Quick Start Guide
          • Basis Reference
        • Google Campaign Manager 360
        • StackAdapt
          • StackAdapt Quick Start Guide
          • StackAdapt Reference
        • theTradeDesk
          • theTradeDesk Quick Start Guide
          • theTradeDesk Reference
          • theTradeDesk with CM360 Configuration Guide
        • Viant
          • Viant Quick Start Guide
          • Viant Reference
      • Direct Response Ads
        • Facebook Conversions API
          • Facebook Conversions API Quick Start Guide
          • Facebook Conversions API Reference
        • Google Ads Conversion API
          • Google Ads Conversion API Quick Start Guide
          • Google Ads Conversions API Reference
        • Google Ads
          • Google Ads Quick Start Guide
          • Google Ads Reference
        • LinkedIn Ads
          • LinkedIn Ads Quick Start Guide
          • LinkedIn Ads Reference
        • Microsoft Ads (formerly Bing Ads)
          • Microsoft Ads Quick Start Guide
          • Microsoft Ads Reference
          • Microsoft Ads Multi-Config Reference
        • Pinterest Ads (Beta)
          • Pinterest Ads Quick Start Guide
          • Pinterest Ads Reference
        • Pinterest Tag
        • Reddit Ads
          • Reddit Ads Quick Start Guide
          • Reddit Ads Reference
        • TikTok Ads
        • Twitter Ads
      • Data Activation
        • ActiveCampaign
          • ActiveCampaign Quick Start Guide
          • ActiveCampaign Reference
        • Amplitude
          • Amplitude Quick Start Guide
          • Amplitude Reference
        • Braze (formerly Appboy)
          • Braze Quick Start Guide
          • Braze Reference
        • Customer.io
          • Customer.io Quick Start Guide
          • Customer.io Reference
        • Freshsales
        • Google Analytics 4 Proxy
          • Google Analytics 4 Proxy Quick Start Guide
          • Google Analytics 4 Proxy Reference
          • Google Analytics 4 Proxy Advanced Tracking Configurations
        • Google Analytics 4 Server-Side
          • Google Analytics 4 Server-Side Quick Start Guide
          • Google Analytics 4 Server-Side Reference
        • Heap
        • Hotjar
        • HubSpot Cloud
        • HubSpot Web
        • impact.com
          • Impact.com Quick Start Guide
          • Impact.com Reference
        • Intercom
          • Intercom Quick Start Guide
          • Intercom Reference
        • Iterable
          • Iterable Quick Start Guide
          • Iterable Reference
        • June
        • Klaviyo
        • Mixpanel
          • Mixpanel Quick Start Guide
          • Mixpanel Reference
        • OneSignal
          • OneSignal Quick Start Guide
          • OneSignal Reference
        • Sendinblue
        • Sentry
        • Vero Cloud
        • Webengage
        • Webhooks
        • Woopra
        • Zendesk
      • Data Warehouses
        • Azure Warehouse Setup
        • BigQuery Warehouse Setup
        • Databricks Warehouse Setup
        • Postgres Warehouse Setup
        • Redshift Warehouse Setup
        • S3 Warehouse Setup
        • Snowflake Warehouse Setup
      • Consent Management
        • Osano
        • OneTrust
        • Custom Consent Manager
    • Sources
      • Web
        • Autotrack
        • Precision Tracking
      • CallRail
      • Invoca
      • Customer.io
      • Intercom
      • Mailchimp
      • React Native
      • SendGrid
      • Sendinblue
      • Server-Side
      • iOS
    • 🔷Google Tag Manager integration
      • Google Tag Manager migration
      • Quick Start Guide
    • 📺Freshpaint Video Platform
    • 🖼️Impression Pixel
  • Admin Panel
    • Event Library
      • Event Library Bulk Actions
      • Event Definition Filters
      • Event Tester
      • 🔁Time Machine
      • Visual Tagger
      • Advanced Options
        • Tag Manager
        • Disabling Target Text Capture
        • Cross Domain Tracking
    • Projects & Environments
    • Teams
      • Role-Based Access Control (RBAC)
    • Transformations
      • Standard Events
      • Modify Data
      • Modify User Data
      • SQL Transformations
    • 📈Destination Monitoring
    • 🔎Investigate: Testing and Debugging
      • Live View
      • Event Verification
  • Reference
    • Developer Docs
      • Freshpaint Web SDK Reference
      • Freshpaint Web SDK Options
      • Freshpaint React Native SDK Reference
      • Freshpaint iOS SDK Reference
      • Freshpaint Android SDK Reference
      • HTTP API
    • Frequently Asked Questions
      • How do I circumvent ad blockers?
      • Can Freshpaint track users across domains?
      • Can I install Freshpaint on a Chrome extension?
      • What properties are captured with my events?
      • How Do I Switchover From Segment?
      • How Do I Switch From Native Google Analytics to the Freshpaint Google Analytics Destination?
      • Where do I find my Environment ID?
      • Is Freshpaint GDPR & CCPA Compliant?
      • Can I use transformations to anonymize data for client-side destinations?
      • How do I QA or debug my data?
      • Why Do My Numbers Differ Across Different Tools?
      • Billing: How Does Freshpaint Determine MTUs?
      • Can I Use Freshpaint on Multiple Sites?
      • How Can I Export Data From Freshpaint?
      • How Does Freshpaint Identify Users?
      • How Many Events Should I Create?
      • What Should I Name My Events?
      • How do I track scroll depth?
      • What Data Does Freshpaint Collect?
        • Data Collected on Web
        • Data Collected on React Native
      • Does Freshpaint's Autotrack slow my site down?
      • Running Freshpaint with a Proxy
      • Should my Environment ID be treated as a sensitive key?
      • How Does Freshpaint Determine Session Count?
      • What is the difference between client-side and server-side connection mode?
      • What is a Proxy Integration?
      • Where can I view Freshpaint’s Status?
      • Does Freshpaint provide HIPAA audit logs?
      • Freshpaint Cookie Too Large
      • How does Freshpaint compare to server-side Google Tag Manager?
      • If a user re-installs my app, will Freshpaint generate a new device ID?
      • Why doesn't Freshpaint need a BAA before sending data to Google Ads and Facebook Ads?
      • What Implementation Services Does Freshpaint Offer?
      • Single Sign On (SSO) Setup
Powered by GitBook
On this page
  • Destination Info
  • Getting Started
  • Identify
  • Events
  • Configuration Options
  • Connection Mode Settings
  • Event Transformations
  • Property Limitations

Was this helpful?

  1. Integrations
  2. Destinations
  3. Data Activation

HubSpot Cloud

PreviousHotjarNextHubSpot Web

Last updated 1 month ago

Was this helpful?

is a CRM - it lets you keep track of all your customer leads. With the Freshpaint->HubSpot destination, you can create leads in HubSpot and send events to HubSpot based on your Freshpaint data

Compared to the HubSpot Web integration, this integration runs server-side. In general we recommend using this integration when possible

Destination Info

  • Supports and calls

  • Connection Modes

Client-side
Server-side

Web

Mobile

Server

Getting Started

To set up the HubSpot integration, follow the following steps:

  1. Go to the in Freshpaint and click "Configure"

  2. In HubSpot, go to your Settings > Integrations > Private Apps and click Create Private App and call it Freshpaint. Give the app read and write permissions on the crm.objects.contacts scope and request permission on the analytics.behavioral_events.send

  3. After creating the app, you will be given an API key which you should provide to Freshpaint

  4. If you want to send events to HubSpot, you will first need to set up see the section below on sending Custom Behavioral Events to HubSpot

Identify

In order for an identify call to succeed to HubSpot, you will need to provide the user's email either as the user ID in the identify call or as the email user property in the identify call.

HubSpot has strict limitations on the properties you can attach to contacts. See the section on Property Limitations below.

Here is an example of an identify call:

freshpaint.identify({
 "email": "ada.lovelace@example.com",
 "name": "Ada Lovelace"
});

Contacts created by Freshpaint will show up under the Contacts tab in Hubspot.

Events

Before you can send an event to HubSpot, you will need to set up a corresponding Custom Behavioral Event in HubSpot. To set up a Custom Behavioral Event:

  1. Go to Reports > Analytics Tools and click Custom Behavioral Events

  2. Click Create Event and Code Wizard

  3. Provide the name and properties of the event you want in HubSpot

  4. When asked how you want to send the event to HubSpot select Send data to HubSpot

HubSpot has strict limitations on the properties you can attach to events. See the section on Property Limitations below.

The event MUST have the same name as the HubSpot tracking ID/Internal name in order for the event to populate to HubSpot.

Configuration Options

Connection Mode Settings

Only server-side connection mode is available for this destination. All events will be sent to HubSpot using Freshpaint's servers. Your website will not send data directly to HubSpot.

Event Transformations

Property Limitations

HubSpot has strict limitations on properties. HubSpot only accepts a property if the name of the property is less than 50 characters and only consists of lowercase letters, numbers, and underscores.

Why aren’t my custom behavioral events appearing in HubSpot?

To view an event's available properties:

  • In HubSpot, navigate to Reports > Analytics Tools.

  • Click Custom Behavioral Events.

  • Click the name of the event.

  • Click the Properties tab.

  • In the properties table, view the property type under the name of the property.

When you call , Freshpaint will create or update a in HubSpot based on the the email of the user by calling Hubspot's contacts API at: /crm/v3/objects/contacts .

When creating a new contact, you should always include email, because email address is the used by HubSpot to avoid duplication.

When you send events to HubSpot, Freshpaint will send the events as to Hubspot's at:

You will be given a Tracking ID. This ID is the name of the event you need to provide to HubSpot. When you want to send an event in Freshpaint to HubSpot, you will need to set up a to rename the event to the given Tracking ID/Internal Name

Set up transformations to modify your data before it's sent to your destination. Read more about transformations .

Additionally, HubSpot only supports properties with either a string or numeric value. If you have a property name that does not fit this criteria, look at using a to convert the property into a format HubSpot supports.

HubSpot limits the number of event properties per event. Each event can contain data for up to 50 properties. If this limit is exceeded, the request will fail. See for other limits.

freshpaint.identify()
contact
primary unique identifier
Custom Behavioral Events
Behavioral Events API
https://api.hubspot.com/events/v3/send
rename event transformation
here
property transformation
HubSpot documentation
HubSpot
Track
Identify
HubSpot Cloud configuration page
Custom Behavioral Events