Enabling verbose logging allows you to view Campaign related information in the browser console. This is helpful when trying to debug Campaign issues. Verbose logging can be enabled by adding bcverbose=1
to the URL of the page with the Campaign-enabled player or by configuring the Campaign plugin with the "verbose": true
option:
Log messages can be viewed in the console.
Below are some common issues and questions we have seen with lead forms.
The Munchkin integration doesn't have an API that we can use to ask if the user is known or not. Since we don't know if they’re a known user, we always display the lead form. The Marketo REST integration does offer APIs so we can determine known vs. unknown users. Switching to a Marketo REST integration is recommended and can avoid this issue.
We have to wait until the page that’s redirected to has fully loaded before dismissing the lead form. One solution is to redirect to a page that is lightweight (doesn’t have many images or JavaScript), or the blank page we set up (located at https://map.brightcove.com/lead/complete
) specifically to address this problem.
Make sure to change the text color of the HTML. The confirmation HTML is probably visible, you just can’t see it because the default text color is black.
Make sure the lead form in HubSpot is configured to redirect to http://map.brightcove.com/lead/complete
. If you want to display a confirmation message, configure this within Campaign and not HubSpot.
If your lead form is not displaying, first ensure all the criteria for showing a lead form have been met. Note that criteria that depend on multiple videos being watched will not work across page refreshes. They are meant for use cases where the next video is automatically queued in the same player.
/**/ typeof jsonpCallback_2935650618 === 'function' && jsonpCallback_2935650618({"status":0});
/**/ typeof jsonpCallback_45936049288 === 'function' && jsonpCallback_45936049288({"status":1,"eloqua":{"contactId":"5","internalId":"CTCPB000000000005"}});
Below are some common sync issues we have seen.
This happens when the custom Marketo activity associated with the integration has been deleted. When a Marketo REST integration is created, we fetch the activity, store its ID, and use that ID to sync events. The solution (assuming a new Brightcove Video View activity has been created) is to disconnect and re-create the integration to pick up the ID of the new activity.
When the integration is correctly set up with a MAP, viewing data from a Campaign-enabled player should populate the All Recent Activity page and view events corresponding to a known lead in the respective MAP should eventually sync to the tool.
First, ensure view data is being displayed on the All Recent Activity page:
If view events are listed but are not in the MAP, the user may have authorized Campaign with their MAP as a user that doesn’t have sufficient permissions to import view data into the MAP via the API or the integration is not correctly configured. The Campaign homepage lists the status of recent view event sync operations. Feedback should be available there to indicate why view events are not syncing to the MAP.
If view events are showing up in Campaign, check to see if the Status column is synced. This indicates that Campaign was able to successfully deliver the data into your MAP. If you see a status of unknown_contact, this means the user was not known and your MAP cannot receive it. Most MAPs only accept third-party data for known users. The solution is to use a custom lead form created in your MAP to ensure you are indeed a known user.
If view events are not listed, Campaign may have not been setup with a Campaign-enabled player. Using a browser with developer tools enabled, visit a page that contains the problematic video and ensure that certain HTTP calls are made by the Campaign plugin.
When the player loads, the plugin should make a call to the Campaign config endpoint to obtain parameters that determine the behavior of the plugin based on the integration:
If this call is missing from the network traffic, it means the player has not been assigned an integration. For information on how to do this, see Creating a Campaign-enabled Player.
This call is made using JSONP. If the JSONP response is an empty object, then it is possible the embed code is incorrect and specifies the wrong account ID. An empty object will be returned from this endpoint if the config request fails to include both account and player URL parameters or if the specified account could not be retrieved from the Campaign-specific database (most likely the wrong account was specified in the URL/embed code and it was not found in the database).
/**/ typeof jsonpCallback_78754666587 === 'function' && jsonpCallback_78754666587({});
If the object has an ID parameter, but is missing an integration parameter, the user has not set up an integration with their marketing automation tool and view events will not be recorded.
You will also have data sync issues if the Standard Embed (iframe) code was used when publishing the Campaign-enabled player. Use the Advanced Embed (in-page) code when publishing your player. Standard Embed (iframe) publishing code will not work as the Campaign plugin will be running inside of an iframe and therefore will be unable to access the parent page cookies or URL parameters.
Check the requirements for Eloqua. If you are using the IP whitelist security feature, Campaign won’t be able to communicate with Eloqua unless you whitelist the specified IP addresses to allow Campaign - Eloqua traffic. Contact Brightcove Support for more information.
There are a few things to check: