Contoh Privacy & Messaging JavaScript API

Tampilkan pesan ke sampel acak traffic Anda

<script>
  // Make sure that the googlefc property exists on the window.
  window.googlefc = window.googlefc || {};
  // To guarantee functionality, this must go before the tag on the page.
  googlefc.controlledMessagingFunction = (message) => {
    // Show the message to 10% of traffic.
    var percentageToShowTo = 10;

    // Pick a random number between 0 and 100.
    var rand = Math.random() * 100;

    if (rand <= percentageToShowTo) {
      message.proceed(true);
    } else {
      message.proceed(false);
    }
  };
</script>

Jangan tampilkan pesan kepada subscriber

(Asumsikan bahwa Anda memiliki fungsi dengan informasi tentang apakah pengguna adalah pelanggan)

<script>
  // Make sure that the googlefc property exists on the window.
  window.googlefc = window.googlefc || {};
  // To guarantee functionality, this must go before the tag on the page.
  googlefc.controlledMessagingFunction = (message) => {
    // checkSubscriptionStatus() is an example of a function that may exist
    // in your codebase that resolves a promise with true or false depending on
    // whether the user on the page is a subscriber.
    checkSubscriptionStatus().then(
      function (isSubscriber) {
        // Do not show the message if a user is a subscriber.
        if (isSubscriber) {
          message.proceed(false);
        } else {
          message.proceed(true);
        }
      }
    );
  }
</script>

Menampilkan pesan di mana saja kecuali di halaman beranda

<script>
  // Make sure that the googlefc property exists on the window.
  window.googlefc = window.googlefc || {};
  // To guarantee functionality, this must go before the tag on the page.
  googlefc.controlledMessagingFunction = (message) => {
    var pathname = location.pathname;

    // This assumes other pages on your site are differentiated with a different
    // path. `location.href` can also be used if more information is needed to
    // differentiate between the home page and other pages on the site.
    if (pathname.length > 1) {
      message.proceed(true);
    } else {
      message.proceed(false);
    }
  };
</script>

Hanya tampilkan pesan setelah jumlah kunjungan halaman tertentu

(Asumsikan bahwa Anda memiliki cookie sendiri atau mekanisme lain untuk melacak jumlah kunjungan halaman)

<script>
  // Make sure that the googlefc property exists on the window.
  window.googlefc = window.googlefc || {};
  // To guarantee functionality, this must go before the tag on the page.
  googlefc.controlledMessagingFunction = (message) => {
    // How many pageviews before the message is shown.
    var freePageviewsLimit = 3;

    // Check how many pages the user has seen.
    var pagesViewed = getPagesViewed();

    // Show the message if the user has seen more pages than the free limit.
    if (pagesViewed >= freePageviewsLimit) {
      message.proceed(true);
    } else {
      message.proceed(false);
    }
  };
</script>

Melacak peristiwa yang terkait dengan iklan yang diizinkan dan pengguna yang memblokir iklan di Google Analytics dengan News Tagging Guide (NTG)

Ganti UA-xxxxxxxxx-x dengan ID pelacakan akun yang benar.

Informasi lebih lanjut mengenai News Tagging Guide dapat ditemukan di sini.

<!-- Google Analytics -->
<script>
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
ga('create', 'UA-xxxxxxxxx-x', 'auto');
ga('send', 'pageview');
</script>
<script async src='https://www.google-analytics.com/analytics.js'></script>
<!-- End Google Analytics -->

<script>
  // Make sure that the googlefc property exists on the window.
  window.googlefc = window.googlefc || {};
  googlefc.callbackQueue = googlefc.callbackQueue || [];
  googlefc.callbackQueue.push({
    'AD_BLOCK_DATA_READY': function() {
      switch (googlefc.getAdBlockerStatus()) {
        case googlefc.AdBlockerStatusEnum.EXTENSION_LEVEL_AD_BLOCKER:
        case googlefc.AdBlockerStatusEnum.NETWORK_LEVEL_AD_BLOCKER:
          ga('send', 'event', {
            eventCategory: 'NTG adblock',
            eventAction: 'detected',
            eventLabel: '<page url>',
            nonInteraction: true
          });
          break;
      }
      switch (googlefc.getAllowAdsStatus()) {
        case googlefc.AllowAdsStatusEnum.ADS_ALLOWED:
          ga('send', 'event', {
            eventCategory: 'NTG adblock',
            eventAction: 'allow-ads',
            eventLabel: '<page url>',
            nonInteraction: true
          });
          break;
      }
   }});
</script>

Melacak peristiwa di Google Analytics untuk menentukan penggunaan pemblokiran iklan oleh pengguna

Dapat digunakan untuk menentukan persentase pengguna yang menggunakan pemblokir iklan tingkat jaringan, pemblokir iklan tingkat ekstensi, atau tanpa pemblokir iklan.

Ganti UA-xxxxxxxxx-x dengan ID pelacakan akun yang benar.

Baca Dokumen Google Analytics untuk mengetahui informasi selengkapnya tentang analisis.

<!-- Google Analytics -->
<script>
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
ga('create', 'UA-xxxxxxxxx-x', 'auto');
ga('send', 'pageview');
</script>
<script async src='https://www.google-analytics.com/analytics.js'></script>
<!-- End Google Analytics -->

<script>
  // Make sure that the googlefc property exists on the window.
  window.googlefc = window.googlefc || {};
  googlefc.callbackQueue = googlefc.callbackQueue || [];
  googlefc.callbackQueue.push({
    'AD_BLOCK_DATA_READY': function() {
      var analyticsData = {
          hitType: 'event',
          eventCategory: 'Funding Choices',
          eventAction: 'Ad Blocking Type'
        };
      switch (googlefc.getAdBlockerStatus()) {
        case googlefc.AdBlockerStatusEnum.EXTENSION_LEVEL_AD_BLOCKER:
          analyticsData.eventLabel = 'EXTENSION_LEVEL_AD_BLOCKER';
          ga('send', analyticsData);
          break;
        case googlefc.AdBlockerStatusEnum.NETWORK_LEVEL_AD_BLOCKER:
          analyticsData.eventLabel = 'NETWORK_LEVEL_AD_BLOCKER';
          ga('send', analyticsData);
          break;
        case googlefc.AdBlockerStatusEnum.NO_AD_BLOCKER:
          analyticsData.eventLabel = 'NO_AD_BLOCKER';
          ga('send', analyticsData);
          break;
      }
   }});
</script>