function requestHaTs(cookieName, triggerId) {
  var inBucket;

  var cookies = decodeURIComponent(document.cookie).split(';');

  for (let i = 0; i < cookies.length; i++) {
    var c = cookies[i];

    while (c.charAt(0) == ' ') c = c.substring(1);

    if (c.indexOf(cookieName + '=') == 0)
      inBucket = c.substring((cookieName + '=').length, c.length);
  }

  if (typeof inBucket === 'undefined') {
    inBucket = String(Math.random() < 0.03);
    document.cookie =
      cookieName + '=' + inBucket + '; path=/; max-age=2592000;';
  }

  if (inBucket === 'true') {
    var shouldPrompt = Math.random() < 0.1;
    if (shouldPrompt) {
      document.cookie = cookieName + '=false ; path=/; max-age=2592000;';

      var tag = document.createElement('script');
      tag.src =
        'https://www.gstatic.com/feedback/js/help/prod/service/lazy.min.js';
      tag.type = 'text/javascript';
      document.head.appendChild(tag);

      tag.onload = function () {
        var helpApi = window.help.service.Lazy.create(0, {
          apiKey: 'AIzaSyDfBPfajByU2G6RAjUf5sjkMSSLNTj7MMc',
          locale: 'en-US',
        });

        helpApi.requestSurvey({
          triggerId: triggerId,
          callback: function (requestSurveyCallbackParam) {
            if (!requestSurveyCallbackParam.surveyData) {
              return;
            }
            helpApi.presentSurvey({
              surveyData: requestSurveyCallbackParam.surveyData,
              colorScheme: 1, // light
              customZIndex: 10000,
            });
          },
        });
      };
    }
  }
}

(function () {
  // HaTS - go.dev
  requestHaTs('HaTS_BKT', 'RLVVv5Lf10njVvnD1rP0QUpmtosS');

  // All download links on the go.dev homepage may trigger a survey.
  [
    document.querySelector('.js-downloadBtn'),
    document.querySelector('.js-downloadWin'),
    document.querySelector('.js-downloadMac'),
    document.querySelector('.js-downloadLinux'),
  ].forEach(function (el) {
    if (el) {
      el.addEventListener('click', () => {
        // HaTS - Core Go distribution
        requestHaTs('HaTS_BKT_DIST', 'dz6fkRxyz0njVvnD1rP0QxCXzhSX');
      });
    }
  });
})();

function requestHaTs(cookieName, triggerId, bucketSample, promptSample) {
  var inBucket;

  var cookies = decodeURIComponent(document.cookie).split(';');

  for (let i = 0; i < cookies.length; i++) {
    var c = cookies[i];

    while (c.charAt(0) == ' ') c = c.substring(1);

    if (c.indexOf(cookieName + '=') == 0)
      inBucket = c.substring((cookieName + '=').length, c.length);
  }

  if (typeof inBucket === 'undefined') {
    inBucket = String(Math.random() < bucketSample);
    document.cookie =
      cookieName + '=' + inBucket + '; path=/; max-age=2592000;';
  }

  if (inBucket === 'true') {
    var shouldPrompt = Math.random() < promptSample;
    if (shouldPrompt) {
      document.cookie = cookieName + '=false ; path=/; max-age=2592000;';

      var tag = document.createElement('script');
      tag.src =
        'https://www.gstatic.com/feedback/js/help/prod/service/lazy.min.js';
      tag.type = 'text/javascript';
      document.head.appendChild(tag);

      tag.onload = function () {
        var helpApi = window.help.service.Lazy.create(0, {
          apiKey: 'AIzaSyDfBPfajByU2G6RAjUf5sjkMSSLNTj7MMc',
          locale: 'en-US',
        });

        helpApi.requestSurvey({
          triggerId: triggerId,
          callback: function (requestSurveyCallbackParam) {
            if (!requestSurveyCallbackParam.surveyData) {
              return;
            }
            helpApi.presentSurvey({
              surveyData: requestSurveyCallbackParam.surveyData,
              colorScheme: 1, // light
              customZIndex: 10000,
            });
          },
        });
      };
    }
  }
}

(function () {
  // HaTS - go.dev
  requestHaTs('HaTS_BKT', 'RLVVv5Lf10njVvnD1rP0QUpmtosS', 0.03, 0.1);

  // All download links on the go.dev homepage may trigger a survey.
  [
    document.querySelector('.js-downloadBtn'),
    document.querySelector('.js-downloadWin'),
    document.querySelector('.js-downloadMac'),
    document.querySelector('.js-downloadLinux'),
  ].forEach(function (el) {
    if (el) {
      el.addEventListener('click', () => {
        // HaTS - Core Go distribution
        requestHaTs('HaTS_BKT_DIST', 'dz6fkRxyz0njVvnD1rP0QxCXzhSX', 0.1, 1);
      });
    }
  });
})();

adjust sample rates for HaTS trigger