Add compass tracker to your Husbpot site

In case you have your site and your blog on Hubspot, follow the next steps to start measuring your data using Compass:

Go to Settings > Tools > Website > Pages > Templates > HTML > Site header

Add this code into the Site Header HTML text area replacing /accountId/ with your Marfeel AccountId:

<script type="text/javascript">
function e(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],c=document.createElement("script");c.src=e,t?c.type="module":(c.async=!0,c.type="text/javascript",c.setAttribute("nomodule",""));var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(c,n)}function t(t,c,n){var a,o,r;null!==(a=t.marfeel)&&void 0!==a||(t.marfeel={}),null!==(o=(r=t.marfeel).cmd)&&void 0!==o||(r.cmd=[]),t.marfeel.config=n,t.marfeel.config.accountId=c;var i="https://sdk.mrf.io/statics";e("".concat(i,"/marfeel-sdk.js?id=").concat(c),!0),e("".concat(i,"/marfeel-sdk.es5.js?id=").concat(c),!1)}!function(e,c){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};t(e,c,n)}(window, /*accountId*/,{} /*config*/);
</script>

Important: Review that the option “Default settings for all domains” is selected, and verify that subdomains don’t have a “custom” script. If a subdomain contains a script, that script is going to overwrite the “Default script” with the Marfeel tracking code.

How to track Hubspot forms conversions

To track conversions from forms it’s necessary to add a piece of code after the compass tracking.

To add this code you need to update the tag created before and ad it this piece of code before close tag

window.addEventListener('message', function(event) {
   if(event.data.type === 'hsFormCallback' && event.data.eventName === 'onFormSubmit') {
       window.marfeel.cmd.push(['compass', function(compass) {
	      compass.trackConversion('HS form submit');
          compass.trackConversion('HS id: ' + event.data.id);
       }]);
   }
});

The code should appear like this.

<script type="text/javascript">
function e(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],c=document.createElement("script");c.src=e,t?c.type="module":(c.async=!0,c.type="text/javascript",c.setAttribute("nomodule",""));var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(c,n)}function t(t,c,n){var a,o,r;null!==(a=t.marfeel)&&void 0!==a||(t.marfeel={}),null!==(o=(r=t.marfeel).cmd)&&void 0!==o||(r.cmd=[]),t.marfeel.config=n,t.marfeel.config.accountId=c;var i="https://sdk.mrf.io/statics";e("".concat(i,"/marfeel-sdk.js?id=").concat(c),!0),e("".concat(i,"/marfeel-sdk.es5.js?id=").concat(c),!1)}!function(e,c){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};t(e,c,n)}(window, /*accountId*/,{} /*config*/);
  
  window.addEventListener('message', function(event) {
   if(event.data.type === 'hsFormCallback' && event.data.eventName === 'onFormSubmit') {
       window.marfeel.cmd.push(['compass', function(compass) {
	      compass.trackConversion('HS form submit');
          compass.trackConversion('HS id: ' + event.data.id);
       }]);
   }
});
</script>