![](/img/trans.png)
[英]ga() function Google Analytics implemented as a tag in Google Tag Manager
[英]Google Tag Manager includes both legacy Analytics (GA) and Universal Analytics (UA) scripts
我正在為我們的在線商店提供更好的性能和加載時間,我們在其上使用Google跟蹤代碼管理器。 但是,包含Google代碼管理器的腳本默認情況下也會加載Google Analytics(舊版ga.js
)和Universal Google Analytics( analytics.js
)。 我不需要它們,但如果有必要,我只需要通用Google Analytics。
那么為什么谷歌標簽管理器包括兩個腳本?
作為編碼簡歷,這是標記管理器包含:
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXX');</script>
-
在網絡選項卡上,它顯示包含,在它之后,它會自動加載兩個腳本:
-
如果我分析Google gtm.js
代碼管理器腳本( gtm.js
),我會看到以下內容:
else if (!a) {
var N = c["60"] ? ".google-analytics.com/u/ga_debug.js" : ".google-analytics.com/ga.js";
a = !0;
u(x("https://ssl", "http://www", N, r), O, c["66"])
}
還有這個:
if (!a) {
var M = b["60"] ? "u/analytics_debug.js" : "analytics.js";
b[""] && !b["60"] && (M = "internal/" + M);
a = !0;
bb(x("https:", "http:", "//www.google-analytics.com/" + M, d && d.forceSSL), function() {
var a = $a();
a && a.loaded ||
b["66"]();
}, b["66"])
}
-
所以谷歌標簽管理器包括兩個腳本。 我可以假設通用谷歌分析,但遺留的ga.js
腳本為什么?
我可以避免包含兩者或僅包含舊版ga.js
腳本嗎?
謝謝。
我開始獲得賞金,因為我需要解釋為什么會發生這種情況,以及是否有可能避免這種行為。
據我測試,我最好的假設是,如果你的容器需要它,它只會加載ga.js
我能夠找到的唯一案例是當您使用“ Google Analytics經典 ”標記(哪個是最舊的版本)而不是“ Universal Analytics ”標記時。
我也嘗試過創建和使用dataLayer變量v1但是它似乎不需要ga.js
如果您能找到更多案例,請分享它們,因為這實際上非常有趣,即使GTM對網站性能幾乎沒有影響,也應該考慮到這一點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.