שינוי השם של אובייקט ga

במקרים מסוימים תרצו להוסיף את analytics.js לדף, אבל המשתנה ga כבר נמצא בשימוש בשביל משהו אחר. כדי להתמודד עם המצב הזה, analytics.js מספק מנגנון לשינוי השם של האובייקט ga הגלובלי.

שינוי שם האובייקט הגלובלי

התג של Google Analytics מאפשר לשנות את השם של האובייקט הגלובלי ga על ידי שינוי הפרמטר הסופי שמועבר לפונקציה המינימלית. בנוסף, יהיה עליך לעדכן את כל ההפעלות של תור הפקודות מ-ga() לשם שתבחרו.

לדוגמה, אם רוצים לשנות את השם של האובייקט ga ל-analytics, אפשר לשנות את התג באופן הבא:

<!-- 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 -->

שינוי ידני של השם של האובייקט הגלובלי

ניתן לשנות את השם של האובייקט הגלובלי מפני ש-analytics.js, כשהוא נטען, מחפש מחרוזת ששמורה במשתנה גלובלי שנקרא GoogleAnalyticsObject. אם הוא מוצא את המשתנה, הוא משתמש בשם המחרוזת בתור השם החדש של תור הפקודות הגלובלי.

לדוגמה, אם אתם משתמשים בשיטת $.getScript של jQuery כדי לטעון את analytics.js, אתם יכולים לשנות את השם של האובייקט הגלובלי באמצעות הקוד הבא:

<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>

התג האסינכרוני החלופי

בניגוד לתג הרגיל של Google Analytics, התג האסינכרוני החלופי לא תומך כברירת מחדל בשינוי השם של האובייקט הגלובלי ga.

עם זאת, באמצעות השיטה שמתוארת למעלה, אפשר לשנות את השם של האובייקט ga הגלובלי ועדיין ליהנות מכל היתרונות של טעינה מראש של התג האסינכרוני החלופי.

הגרסה המתוקנת הבאה של התג האסינכרוני החלופי מגדירה את המשתנה GoogleAnalyticsObject ל-analytics וגם משנה את השם של כל המופעים של ga ל-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 -->