Mengganti nama objek ga

Terkadang, Anda ingin menambahkan analytics.js ke halaman, tetapi variabel ga sudah digunakan untuk hal lain. Untuk mengatasi hal ini, analytics.js menyediakan mekanisme untuk mengganti nama objek ga global.

Mengganti nama objek global

Tag Google Analytics memungkinkan Anda mengganti nama objek ga global dengan mengubah parameter akhir yang diteruskan ke fungsi yang diminifikasi. Anda juga harus memperbarui semua panggilan antrean perintah dari ga() menjadi nama apa pun yang Anda pilih.

Misalnya, jika ingin mengganti nama objek ga menjadi analytics, Anda dapat mengubah tag sebagai berikut:

<!-- Google Analytics -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','analytics');

analytics('create', 'UA-XXXXX-Y', 'auto');
analytics('send', 'pageview');
</script>
<!-- End Google Analytics -->

Mengganti nama objek global secara manual

Mengganti nama objek global dapat dilakukan karena analytics.js, saat dimuat, akan mencari string yang disimpan di variabel global yang disebut GoogleAnalyticsObject. Jika variabel tersebut ditemukan, analytics.js akan menggunakan nama string sebagai nama baru untuk antrean perintah global.

Misalnya, jika Anda menggunakan metode $.getScript jQuery untuk memuat analytics.js, nama objek global dapat diganti dengan kode berikut:

<script>
// Instructs analytics.js to use the name `analytics`.
window.GoogleAnalyticsObject = 'analytics';

// Use jQuery to load analytics.js.
$.getScript('//www.google-analytics.com/analytics.js', function() {

  // Creates a tracker and sends a pageview using the renamed command queue.
  analytics('create', 'UA-12345-1', 'auto');
  analytics('send', 'pageview');
});
</script>

Tag asinkron alternatif

Tidak seperti tag Google Analytics standar, tag asinkron alternatif tidak menawarkan dukungan default untuk penggantian nama objek ga global.

Namun, menggunakan teknik yang dijelaskan di atas, Anda dapat mengganti nama objek ga global dan tetap mendapatkan semua manfaat pramuat dari tag asinkron alternatif.

Versi tag asinkron alternatif yang dimodifikasi berikut menetapkan variabel GoogleAnalyticsObject ke analytics dan juga mengganti nama semua instance ga menjadi analytics:

<!-- Google Analytics -->
<script>

// Instructs analytics.js to use the name `analytics`.
window.GoogleAnalyticsObject = 'analytics';

// Creates an initial analytics() function.
// The queued commands will be executed once analytics.js loads.
window.analytics = window.analytics || function() {
  (analytics.q = analytics.q || []).push(arguments)
};

// Sets the time (as an integer) this tag was executed.
// Used for timing hits.
analytics.l = +new Date;

// Creates a default analytics object with automatic cookie domain configuration.
analytics('create', 'UA-12345-1', 'auto');

// Sends a pageview hit from the analytics object just created.
analytics('send', 'pageview');
</script>

<!-- Sets the `async` attribute to load the script asynchronously. -->
<script async src='//www.google-analytics.com/analytics.js'></script>
<!-- End Google Analytics -->