浏览器如何读取全局站点标记JavaScript(gtag.js)

浏览器如何读取全局站点标记JavaScript(gtag.js),javascript,Javascript,希望你做得好?也许你能帮我 要在网站上启用Google Analytics,您需要实现gtag.js代码段: <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=<GA_TRACKING_ID>"></script> <script> window.da

希望你做得好?也许你能帮我

要在网站上启用Google Analytics,您需要实现gtag.js代码段:

<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=<GA_TRACKING_ID>"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', '<GA_TRACKING_ID>');
</script>

window.dataLayer=window.dataLayer | |[];
函数gtag(){dataLayer.push(参数);}
gtag('js',新日期());
gtag('配置','');
文档还告诉我“将代码段放在每页的顶部以启动函数gtag(),这一点很重要。只要命令出现在代码段下方,就可以在页面的任何地方调用gtag命令”

因此,我好奇的头脑实现了以下代码片段,看看会发生什么:

<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', '<GA_TRACKING_ID>');
  gtag('event', 'click', {
    'event_label': 'Home',
    'event_category': 'Main Menu'
  });
</script>

<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=<GA_TRACKING_ID>"></script>

window.dataLayer=window.dataLayer | |[];
函数gtag(){dataLayer.push(参数);}
gtag('js',新日期());
gtag('配置','');
gtag('事件','点击'{
“事件标签”:“主页”,
“事件类别”:“主菜单”
});
我原以为不会启用跟踪功能,但我看到了Google Analytics的流量

我确实想理解为什么在启动之前调用gtag()时GA工作得很好。你能给我解释一下吗

干杯,
Raoul

您正在定义自己的
函数gtag(){…}
,它实际上只是
数据层的别名。push
。稍后加载的实际Google Tag Manager脚本实际上会查看
窗口。dataLayer
数组,其中存储了它应该执行的所有跟踪操作。

您正在定义自己的
函数gtag(){…}
,它实际上只是
dataLayer.push的别名。稍后加载的实际Google Tag Manager脚本实际上会查看
窗口。dataLayer
数组,其中存储了它应该执行的所有跟踪操作。

这一行定义了
gtag
函数,而不是外部脚本:
function gtag(){dataLayer.push(arguments);}
。虽然由于JS的“提升”,但这实际上并不重要(只要它在全球范围内)。所以我不太确定Google的目的是什么(或者确切地说外部脚本的作用是什么),“我在启动之前调用gtag()”——你不…!?跟踪脚本监视window.dataLayer数组,并在发生各种浏览器事件时将数据发送到analytics服务器。此行定义的是
gtag
函数,而不是外部脚本:
function gtag(){dataLayer.push(arguments);}
。虽然由于JS的“提升”,但这实际上并不重要(只要它在全球范围内)。所以我不太确定Google的目的是什么(或者确切地说外部脚本的作用是什么),“我在启动之前调用gtag()”——你不…!?跟踪脚本监视window.dataLayer阵列,并在发生各种浏览器事件时将数据发送到分析服务器。