Integrating Video Cloud with HubSpot Using the REST APIs

This topic explains how to configure the Campaign module for use with HubSpot.

The Campaign module allows Video Cloud to synchronize viewing data from Brightcove Players to HubSpot. Once in HubSpot, this data can be used for segmentation, campaign logic, reports, lead scoring, and personalizing communications.

There are two options for integrating Video Cloud with HubSpot:

  • Using the Standard (REST API) method - With this method, Campaign will only track viewing data for known viewers. By default, lead forms will only be shown to unknown viewers. This method is covered in this topic.
  • Using the High Volume (Client-Side API) method - With this method, Campaign will track viewing data for all viewers. For information on this type of integration, see Integrating Video Cloud with HubSpot Using the Client-Side APIs.

The Campaign module integration with HubSpot consists of two main components:

  • A Brightcove Player plug-in to enable tracking of video views data
  • A Synchronization process to send tracking data from Video Cloud to HubSpot


To use the Campaign module with HubSpot, you must:

  • Have a HubSpot account
  • Have a Professional or Enterprise Video Cloud account
  • Have the Campaign module enabled for your account by submitting the required information in the initial splash screen that appears when you open the Campaign module
  • Click through the service agreement the first time you use the module
  • Use the Advanced Embed (in-page) publishing code when publishing your player; Standard Embed (iframe) publishing code will not work as the plugin will be running inside of an iframe and therefore will be unable to access any parent page URL parameters and may not get the correct cookies


Some of the key features of the Video Cloud - HubSpot integration are:

  • Lead forms - Create HubSpot forms that will appear automatically as viewers watch videos. For information, see Creating Custom Lead Forms for HubSpot.
  • Data format - Viewing data is delivered as a custom Timeline Event Type. The data that is replicated to HubSpot is as follows:
    • Video Name
    • Video ID
    • Account ID (Video Cloud)
    • Page URL (URL of the referring page)
    • Player ID (Video Cloud player)
    • % Watched (25%, 50%, 75%, 95%)
  • Data transfer - Viewing data is sent to HubSpot using an automated process; however, some reports in the HubSpot platform may take some time to refresh
  • Data retention - Data collected can optionally be retained in Video Cloud for up to 1 month

Setting up the connection

Follow these steps to setup the connection between Video Cloud and HubSpot.

Establishing the connection between Video Cloud and HubSpot

  1. Open the Campaign module.
  2. In the left navigation, click Data Connections.
  3. Click Add New Connection.
  4. Select HubSpot as the integration.
  5. (Optional) Enter a Connection Name.
    campaign setup
  6. Click Connect.
  7. Select Standard (REST API) and then click Save.
    Campaign setup
  8. Click Connect to HubSpot.
    connect to hubspot
  9. You will be prompted to sign in to HubSpot. Enter your Email Address and Password. Click Log In.
    HubSpot login
  10. If the login is successful, you will prompted to select an account. Click Choose Account.
    hubspot access

The Video Cloud connection to HubSpot is now set up and ready to use.

Configuring the integration

Once the Video Cloud to HubSpot connection has been made, you can configure the integration. Click HubSpot Account Info to display the connected HubSpot account info.

connected options
  1. By default, the Connection Status will be Enabled. The Connection Status determines if Video Cloud video engagement data is sent to HubSpot.
    • Enabled - Data is collected and will be sent to HubSpot
    • Disabled - No data is collected (integration is disabled)
  2. By default, Track Data for Unknown Viewers will be set to Disabled. Enabling this option will track data for unknown users. Data will be retained based upon the selected data retention policy. If data retention is set to No retention, this field is not displayed.
  3. Select a data retention policy. The data retention policy determines how long the viewing data and lead form data (if using a Campaign lead form) will be retained in your Video Cloud account. Retaining data in Video Cloud allows you to recover from interrupted synchronizations. Also, Campaign will continue to retry events that fail to sync (usually because the viewer isn't a known contact at the time they viewed a video) until the event ages past the data retention period. You should adjust the retention settings according to your privacy policy - it is not required to retain any user data in Video Cloud. Data will be deleted after the data retention period.
    data retention options

To remove the integration with HubSpot, click Disconnect. The Campaign module supports multiple connections to marketing platforms. Click Add New Connection to configure additional integrations.

Verifying the integration

When the integration is configured, test the integration to confirm that video view data is being sent to HubSpot. For information on verifying the integration, see the HubSpot REST API Integration Testing Guide.

Creating a Campaign-enabled player

Video engagement data will only be sent to HubSpot when you are using a Campaign-enabled video player. For information on creating a Campaign-enabled Brightcove Player, see Creating a Campaign-enabled Player.

Passing a tracking ID

The Campaign module supports the ability to pass a tracking ID value to HubSpot. The tracking ID might be used to track a campaign ID for example. The tracking ID can be appended to the URL that displays the Campaign-enabled player or added to the player embed code.

  • Example: Appended to URL
  • Example: Added to player embed code
    <video data-video-id="6033402539001" 
    <script src="//"></script>

Campaign will then pass the value along to HubSpot as another field that is synced.

Identifying viewers

For viewer tracking to occur, the viewer can be tracked in one of two ways:

  • URL parameter - The user's email address can be passed in a bcemail URL parameter on the page that is displaying the video. For more information and an example, see How the Campaign Module Identifies Viewers.
  • HubSpot cookie - When the player loads, Campaign looks to see if the user has been cookied by HubSpot already. If so, Campaign will ask HubSpot if it knows who the user is via the cookie value. If HubSpot returns a contact, Campaign will associate all the viewing data with that user.

One possible scenario is to create video landing pages with a URL that’s been uniquely generated for tracking purposes. The Campaign module will then use the URL parameter to look up the user server-side and sync viewing data.

In order for the player/plugin to read the URL parameters, the Advanced Embed (in-page) publishing code should be used. The Standard Embed (iframe) publishing code will not work as the plugin will be running inside of an iframe and therefore is unable to access the parent page URL which has the parameter.

Note on unknown viewers

When a player loads, Campaign will immediately try to look the viewer up via the cookie based GUID. If they come up as unknown, that response is cached for at least a week. Even if the viewer fills out a form, any reloads of the page are still going to return an unknown viewer status because of the Campaign caching layer.