Opting-Out of Tracking

This page details how Bazaarvoice clients can support an end-user's request to opt-out of tracking them through a client's domain.

Introduction

Websites and businesses subject to privacy regulations must provide end-users a means to indicate they do not want to share any of their personal data across your domain. This can be accomplished using the doNotTrack()
function.

📘

This solution is specific to a Bazaarvoice client's domain. The ability to opt-out of tracking across all BV networks is also possible. Read more about it here.

doNotTrack()

  BV.pixel.doNotTrack();

When invoked, the doNotTrack() function sets a cookie, named "NoCookie", telling the BV loader to no longer pass what may be considered personal data.

Usage

You should execute the doNotTrack() function when an end-user indicates they do not wish to be tracked or to share their personal data. The pseudo-code below demonstrates how to use the the doNotTrack() function:

Example of logic where you might have a "BV opt-out" button

  <script src="https://apps.bazaarvoice.com/deployments/.../bv.js"></script>  //reference to the BV Loader script
  <script>
  // Usage of the "BV" global *must* be wrapped inside bvCallback to ensure
  // it is present when called.
  window.bvCallback = function () {

    // Add an event handler to be called when the end-user
    // indicates they do not want to be tracked
    yourUserOptOut.onClick = function () {

      // Invoke the "doNotTrack" function, which will stop BV from tracking
      // this user across your domain.
      BV.pixel.doNotTrack();
    }
  </script>

📘

The BV Loader must be available in order to invoke the doNotTrack() function.

In the above example, the BV global variable is only accessible after the BV loader has loaded.

If the same user were to visit the site on another browser, the doNotTrack() cookie would not be set. The solution uses cookies which are scoped to the browser and domain.

Sample implementation

The block below is a working sample of the doNotTrack() function. Clicking the button below will invoke the doNotTrack() function and set the "NoCookie" cookie.

If you do not wish to share your data, click the button:

Click to remove the "NoCookie" cookie.

How to verify

This section describes two methods to verify that the doNotTrack() function has been implemented successfully.

Bazaarvoice cookie

Once the doNotTrack() function has been invoked, you should be able to see the "NoCookie" cookie in the browser's developer tools. The following image displays the cookie as seen in the Chrome browser developer tools.

Do Not Track Cookie

Additionally, when the doNotTrack() function is correctly invoked, the BVBRANDID and BVBRANDSID cookies are removed. Additional analytic calls are sent to the Bazaarvoice anonymous endpoint.

Bazaarvoice Analytics Inspector

The BV Analytics Inspector Extension provides a view into the values that are communicated back to Bazaarvoice. Download and install the extension.

Once the doNotTrack() function is invoked, you will notice that the BVId and BVSId are absent when analytic events are fired.

This image of the BV Analytics Inspector extension shows the data captured without invoking the doNotTrack() function:

Before do not track

Invoking the doNotTrack() function sets the "NoCookie" cookie. This image of the BV Analytics Inspector extension shows the data captured when the "NoCookie" cookie is present:

After Do not track

In the image above, BVBRANDID etc is no longer being communicated to Bazaarvoice.