Data privacy and user consent

As a web performance analytics service, mPulse optionally collects website performance data using cookies, then sends and stores this data to remote servers by default. To do so, mPulse sets first-party cookies in the user's browser.

You can provide your website visitors the option to opt in or opt out both from collecting cookies and sending data to mPulse using the Consent Inline Plugin that can integrate with any Cookie Consent library that is already deployed to your website. This feature also helps you comply with different data privacy laws and regulations.

The cookie consent functionality is available for mPulse users with edge or origin injection. For edge injection, you need to set a PMUSER_ variable in Property Manager. For origin injection, you will need to deploy some additional JavaScript code for the plugin manually on your website. In both scenarios, all changes will activate only after calling a JavaScript function for the opt-in or opt-out procedure.

Consent Inline Plugin

The Consent Inline Plugin has two modes of operation:

  • Opt-out of mPulse: Boomerang sends beacons to mPulse unless the visitor chooses to opt-out from Cookie Consent
  • Opt-in to mPulse: Boomerang will not send beacons to mPulse until the visitor chooses to opt-in

See the table below to check what Boomerang sends to mPulse with the opt-out option:

Before opt-outAfter opt-out
Boomerang loadedYesYes
Beacons sent to mPulseYesNo
RT cookie (first-party)YesNo
BW cookie (first-party)YesNo
BOOMR_CONSENT cookie existsNoYes (value opted-out)
Additional beacon parametersNoNo

The following data applies for the opt-in option:

Before opt-inAfter opt-in
Boomerang loadedYesYes
Beacons sent to mPulseNoYes
RT cookie (first-party)YesYes
BW cookie (first-party)YesNo
BOOMR_CONSENT cookieNoYes (value opted-in)
Additional beacon parametersNocip.in, cip.v

Opt out of mPulse

You will need to configure your site’s Cookie Consent platform to integrate with the mPulse Consent Inline Plugin to allow your visitors to opt out of sending data to mPulse.

Edge injection

If you use mPulse with edge injection, you need to set the PMUSER_MPULSE_CONSENT variable in Property Manager to configure the Consent Inline Plugin for your website. Once you set the property configuration, call the plugin’s JavaScript function if cookie consent is declined to stop sending Boomerang beacons:

  1. Go to Property Manager, and choose the property you want to configure from the list.


  1. In the Property Variables tab, click Add variables and set the required Consent Inline Plugin variable:

    • In Variable Name, enter MPULSE_CONSENT.

    • Set the Initial Value to true.

    • Enter a Description, for example, Enable Consent Inline Plugin.

    • Set the Security Settings to Hidden.

  2. Click Save.

  3. Back on the list of properties, open the three-dot Action menu next to your property. Click Activate.

    The changes in your property configuration are now active. You can close Property Manager and call the JavaScript function to Activate the opt-out option required for Boomerang to stop sending data beacons.

Origin injection

If you use mPulse with origin injection, you need to deploy the Consent Inline Plugin JavaScript code manually on your website. Once you do this, call the plugin’s JavaScript function on the website to activate the opt-out option:

  1. Inject the JavaScript plugin configuration snippet into the website source code:
<script>
window.BOOMR_CONSENT_CONFIG = {
  enabled: true
};
</script>
  1. Inject the plugin code snippet:
<script>
!function(o){"use strict";if(void 0!==o.BOOMR_CONSENT_CONFIG&&!0===o.BOOMR_CONSENT_CONFIG.enabled){o.BOOMR=void 0!==o.BOOMR?o.BOOMR:{};var n=o.BOOMR;n.plugins=void 0!==n.plugins?n.plugins:{};if(!n.plugins.ConsentInlinedPlugin){var i={v:"2",OPT_COOKIE:"BOOMR_CONSENT",OPT_IN_COOKIE_VAL:"opted-in",OPT_OUT_COOKIE_VAL:"opted-out",COOKIE_EXP:31536e3,complete:!1,enabled:!0,firedPageReady:!1,deferredOptIn:!1,deferredOptOut:!1,rtCookieFromConfig:!1,bwCookieFromConfig:!1,optOut:function(){if(!n.utils.setCookie(i.OPT_COOKIE,i.OPT_OUT_COOKIE_VAL,i.COOKIE_EXP)){n.error("Can not set Opt Out cookie","ConsentInlinedPlugin");return!1}"function"==typeof n.disable&&n.disable();i.complete=!1;i.removeBoomerangCookies();return!0},optIn:function(){if(!0===i.complete)return!0;if(!n.utils.setCookie(i.OPT_COOKIE,i.OPT_IN_COOKIE_VAL,i.COOKIE_EXP)){n.error("Can not set Opt In value","ConsentInlinedPlugin");return!1}"function"==typeof n.wakeUp&&n.wakeUp();i.complete=!0;n.addVar("cip.in","1",!0);n.addVar("cip.v",i.v,!0);n.sendBeacon();return!0},removeBoomerangCookies:function(){var e=i.rtCookieFromConfig||"RT",o=i.bwCookieFromConfig||"BA";n.utils.removeCookie(e);n.utils.removeCookie(o)},onPageReady:function(){if(!i.firedPageReady){i.firedPageReady=!0;if(i.deferredOptIn){i.optIn();i.deferredOptIn=!1}if(i.deferredOptOut){i.optOut();i.deferredOptOut=!1}}}};o.BOOMR_OPT_OUT=function(){i.firedPageReady?i.optOut():i.deferredOptOut=!0};o.BOOMR_OPT_IN=function(){i.firedPageReady?i.optIn():i.deferredOptIn=!0};n.plugins.ConsentInlinedPlugin={init:function(e){void 0!==e.RT&&void 0!==e.RT.cookie&&(i.rtCookieFromConfig=e.RT.cookie);void 0!==e.BW&&void 0!==e.BW.cookie&&(i.bwCookieFromConfig=e.BW.cookie);n.subscribe("page_ready",i.onPageReady,null,i);n.subscribe("spa_navigation",i.onPageReady,null,i);if(o.BOOMR_CONSENT_CONFIG.optInRequired&&n.utils.getCookie(i.OPT_COOKIE)!==i.OPT_IN_COOKIE_VAL){i.complete=!1;return this}if(n.utils.getCookie(i.OPT_COOKIE)===i.OPT_OUT_COOKIE_VAL){void 0===e.RT&&(e.RT={});e.RT.cookie="";void 0===e.BW&&(e.BW={});e.BW.cookie="";i.complete=!1;return this}i.complete=!0;return this},is_complete:function(){return i.complete},debug:{wasPageReadyFired:function(){return i.firedPageReady},getDeferredOptInFlag:function(){return i.deferredOptIn},getDeferredOptOutFlag:function(){return i.deferredOptOut},getRtCookieFromConfig:function(){return i.rtCookieFromConfig},getBwCookieFromConfig:function(){return i.bwCookieFromConfig},isOptedIn:function(){return!(!o.BOOMR_CONSENT_CONFIG.optInRequired||-1===document.cookie.indexOf(i.OPT_COOKIE+'="'+i.OPT_IN_COOKIE_VAL+'"'))},isOptedOut:function(){return-1!==document.cookie.indexOf(i.OPT_COOKIE+'="'+i.OPT_OUT_COOKIE_VAL+'"')}}}}}}(window);
</script>
  1. Now you’re ready to call the JavaScript function and Activate the opt-out to stop sending data beacons.

After the visitors choose to opt out, the Consent Inline Plugin creates a BOOMR_CONSENT cookie that prevents Boomerang from sending beacons to mPulse, and stores the visitors’ choice for a year. Boomerang removes other cookies listed in Consent Inline Plugin.

📘

Tip

The BOOMR_CONSENT cookie saves the visitor’s choice only on the same device or browser they chose to opt out from.

Example: A visitor signed in from a mobile device, and opted out from mPulse cookies. When signing in to the same website from a desktop computer, the visitor has to opt out using the new device.

Opt in to mPulse

You will need to configure your site’s Cookie Consent platform to integrate with the mPulse Consent Inline Plugin to allow your visitors to opt in to sending data to mPulse.

Edge injection

If you use mPulse with edge injection, you need to set the PMUSER_MPULSE_CONSENT variable in Property Manager to configure the Consent Inline Plugin for your website. Once you set the property configuration, call the plugin’s JavaScript function on the website to activate the opt-in option:

  1. Go to Property Manager, and choose the property you want to configure from the list.

  1. In the Property Variables tab, click Add variables and set the first required Consent Inline Plugin variable:

    • In Variable Name, enter MPULSE_CONSENT.

    • Set the Initial Value to true.

    • Enter a Description, for example, Enable Consent Inline Plugin.

    • Set the Security Settings to Hidden.

  2. Set the second required Consent Inline Plugin variable:

    • In Variable Name, enter MPULSE_CONSENT_OPT_REQ.

    • Set the Initial Value to true.

    • Enter a Description, for example, Enable Consent Inline Plugin.

    • Set the Security Settings to Hidden.

  3. Click Save.

  4. Back on the list of properties, open the three-dot Action menu next to your property. Click Activate.

    The changes in your property configuration are now active. You can close Property Manager and call the JavaScript function to Activate the opt-out option required for Boomerang to stop sending data beacons.

Origin injection

If you use mPulse with origin injection, you need to deploy the Consent Inline Plugin JavaScript code manually on your website. Once you do this, call the plugin’s JavaScript function on the website to activate the opt-in option:

  1. Inject the JavaScript plugin configuration snippet into the website source code:
<script>
window.BOOMR_CONSENT_CONFIG = {
  enabled: true,
  optInRequired: true
};
</script>
  1. Inject the plugin code snippet:
<script>
!function(o){"use strict";if(void 0!==o.BOOMR_CONSENT_CONFIG&&!0===o.BOOMR_CONSENT_CONFIG.enabled){o.BOOMR=void 0!==o.BOOMR?o.BOOMR:{};var n=o.BOOMR;n.plugins=void 0!==n.plugins?n.plugins:{};if(!n.plugins.ConsentInlinedPlugin){var i={v:"2",OPT_COOKIE:"BOOMR_CONSENT",OPT_IN_COOKIE_VAL:"opted-in",OPT_OUT_COOKIE_VAL:"opted-out",COOKIE_EXP:31536e3,complete:!1,enabled:!0,firedPageReady:!1,deferredOptIn:!1,deferredOptOut:!1,rtCookieFromConfig:!1,bwCookieFromConfig:!1,optOut:function(){if(!n.utils.setCookie(i.OPT_COOKIE,i.OPT_OUT_COOKIE_VAL,i.COOKIE_EXP)){n.error("Can not set Opt Out cookie","ConsentInlinedPlugin");return!1}"function"==typeof n.disable&&n.disable();i.complete=!1;i.removeBoomerangCookies();return!0},optIn:function(){if(!0===i.complete)return!0;if(!n.utils.setCookie(i.OPT_COOKIE,i.OPT_IN_COOKIE_VAL,i.COOKIE_EXP)){n.error("Can not set Opt In value","ConsentInlinedPlugin");return!1}"function"==typeof n.wakeUp&&n.wakeUp();i.complete=!0;n.addVar("cip.in","1",!0);n.addVar("cip.v",i.v,!0);n.sendBeacon();return!0},removeBoomerangCookies:function(){var e=i.rtCookieFromConfig||"RT",o=i.bwCookieFromConfig||"BA";n.utils.removeCookie(e);n.utils.removeCookie(o)},onPageReady:function(){if(!i.firedPageReady){i.firedPageReady=!0;if(i.deferredOptIn){i.optIn();i.deferredOptIn=!1}if(i.deferredOptOut){i.optOut();i.deferredOptOut=!1}}}};o.BOOMR_OPT_OUT=function(){i.firedPageReady?i.optOut():i.deferredOptOut=!0};o.BOOMR_OPT_IN=function(){i.firedPageReady?i.optIn():i.deferredOptIn=!0};n.plugins.ConsentInlinedPlugin={init:function(e){void 0!==e.RT&&void 0!==e.RT.cookie&&(i.rtCookieFromConfig=e.RT.cookie);void 0!==e.BW&&void 0!==e.BW.cookie&&(i.bwCookieFromConfig=e.BW.cookie);n.subscribe("page_ready",i.onPageReady,null,i);n.subscribe("spa_navigation",i.onPageReady,null,i);if(o.BOOMR_CONSENT_CONFIG.optInRequired&&n.utils.getCookie(i.OPT_COOKIE)!==i.OPT_IN_COOKIE_VAL){i.complete=!1;return this}if(n.utils.getCookie(i.OPT_COOKIE)===i.OPT_OUT_COOKIE_VAL){void 0===e.RT&&(e.RT={});e.RT.cookie="";void 0===e.BW&&(e.BW={});e.BW.cookie="";i.complete=!1;return this}i.complete=!0;return this},is_complete:function(){return i.complete},debug:{wasPageReadyFired:function(){return i.firedPageReady},getDeferredOptInFlag:function(){return i.deferredOptIn},getDeferredOptOutFlag:function(){return i.deferredOptOut},getRtCookieFromConfig:function(){return i.rtCookieFromConfig},getBwCookieFromConfig:function(){return i.bwCookieFromConfig},isOptedIn:function(){return!(!o.BOOMR_CONSENT_CONFIG.optInRequired||-1===document.cookie.indexOf(i.OPT_COOKIE+'="'+i.OPT_IN_COOKIE_VAL+'"'))},isOptedOut:function(){return-1!==document.cookie.indexOf(i.OPT_COOKIE+'="'+i.OPT_OUT_COOKIE_VAL+'"')}}}}}}(window);
</script>
  1. Now you’re ready to call the JavaScript function and Activate the opt-in to start sending data beacons.

Activate opt-in or opt-out

Both injecting the opt-in and opt-out options on your website require activating cookie consent to send or stop sending beacons containing cookie and performance data:

  1. Before activating cookie consent on your website, build a logic that calls the window.BOOMR_OPT_OUT() function each time a visitor opts out, or window.BOOMR_OPT_IN() if opts in.
  2. Add a check if window.BOOMR_OPT_OUT() or window.BOOMR_OPT_IN() exists to avoid JavaScript errors, in case the Consent Inline Plugin is removed from the property configuration.
  3. Depending on the option (opt-out or opt-in), call the window.BOOMR_OPT_OUT() or window.BOOMR_OPT_IN() JavaScript function to activate the opt-in or opt-out on your website.

All changes will activate only after calling a JavaScript function for the opt-in or opt-out procedure.

Additional resources