در برخی موارد شما می خواهید analytics.js را به صفحه خود اضافه کنید، اما متغیر ga
در حال حاضر برای چیز دیگری استفاده می شود. برای مقابله با این موضوع، analytics.js مکانیزمی برای تغییر نام شی جهانی ga
فراهم می کند.
تغییر نام شی سراسری
تگ Google Analytics به شما این امکان را می دهد که با تغییر پارامتر نهایی ارسال شده به تابع minified نام شی 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
جی کوئری برای بارگیری 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>
برچسب جایگزین همگام
برخلاف تگ استاندارد گوگل آنالیتیکس، تگ async جایگزین پشتیبانی پیشفرض برای تغییر نام شی سراسری ga
ارائه نمیکند.
با این حال، با استفاده از تکنیکی که در بالا توضیح داده شد، میتوانید نام شی سراسری ga
را تغییر دهید و همچنان از تمام مزایای پیشبارگذاری برچسب async جایگزین برخوردار شوید.
نسخه اصلاح شده زیر از تگ async جایگزین، متغیر 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 -->