Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在同一网站中使用多个Google Analytics帐户_Javascript_Html_Google Analytics_Analytics - Fatal编程技术网

Javascript 在同一网站中使用多个Google Analytics帐户

Javascript 在同一网站中使用多个Google Analytics帐户,javascript,html,google-analytics,analytics,Javascript,Html,Google Analytics,Analytics,我的团队正在开发一套需要谷歌分析的工具和页面,以便我们进行分析。我们的团队有一个分析账户,我们在那里收集我们已经使用了很长一段时间的数据 最近,我们不得不将我们的网站与另一个团队网站下的另一个存储库相结合。因此,我们的分析已停止向我们的分析账户发送数据。而是将数据发送到另一个团队的帐户。他们使用的框架将某些代码注入网站上的所有页面 我们希望将我们的事件数据发送到我们的帐户,并找出如何正确地将我们的分析对象与他们的分离。下面的代码是我们想要更改的示例,以便允许与2个不同的帐户进行通信。非常感谢您的

我的团队正在开发一套需要谷歌分析的工具和页面,以便我们进行分析。我们的团队有一个分析账户,我们在那里收集我们已经使用了很长一段时间的数据

最近,我们不得不将我们的网站与另一个团队网站下的另一个存储库相结合。因此,我们的分析已停止向我们的分析账户发送数据。而是将数据发送到另一个团队的帐户。他们使用的框架将某些代码注入网站上的所有页面

我们希望将我们的事件数据发送到我们的帐户,并找出如何正确地将我们的分析对象与他们的分离。下面的代码是我们想要更改的示例,以便允许与2个不同的帐户进行通信。非常感谢您的帮助

    (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','ga');

 ga('create', 'UA-XXXXXXXX-2', 'auto');

(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','ga');

ga('create', 'UA-YYYYYYYY-2', {'name':'b'});


ga('send', 'event', 'TheirAnalytics', 'TheirEvent');
ga('send', 'event', 'MyAnalytics', 'MyEvent');
更改最后一个
(窗口、文档、“脚本”、“www.google-analytics.com/analytics.js”、“ga”)
(窗口、文档、“脚本”、“www.google-analytics.com/analytics.js”、“ga2”)

并使用
ga2('send','event','MyAnalytics','MyEvent')

更改最后一个
(窗口、文档、“脚本”、“www.google-analytics.com/analytics.js”、“ga”)
(窗口、文档、“脚本”、“www.google-analytics.com/analytics.js”、“ga2”)


并使用
ga2('send','event','MyAnalytics','MyEvent')

此页上现有的两个答案不正确,实际上不起作用。您肯定不需要下载两次
analytics.js
脚本,而且您肯定不想创建两个函数

您要做的是创建两个,至少给其中一个命名,然后使用这两个名称发送数据

下面是一个例子:

<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','ga');

// Creates the first tracker for one of your accounts,
// and uses the default name.
ga('create', 'UA-XXXXX-1', 'auto');

// Creates the second tracker for the other account,
// and give it the name "secondary"
ga('create', 'UA-XXXXX-2', 'auto', 'secondary');

// Sends events from both trackers,
// i.e. one event hit will be sent to each account.
ga('send', 'event', 'MyAnalytics', 'MyEvent');
ga('secondary.send', 'event', 'TheirAnalytics', 'TheirEvent');

</script>

(函数(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]| |函数(){
(i[r].q=i[r].q | |[]).push(参数)},i[r].l=1*新日期();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(窗口,文档,“脚本”,“www.google-analytics.com/analytics.js”,“ga”);
//为您的一个帐户创建第一个跟踪器,
//并使用默认名称。
ga(“创建”、“UA-XXXXX-1”、“自动”);
//为其他帐户创建第二个跟踪器,
//并将其命名为“secondary”
ga(“创建”、“UA-XXXXX-2”、“自动”、“辅助”);
//从两个跟踪器发送事件,
//即,将向每个帐户发送一个事件命中率。
ga(“发送”、“事件”、“MyAnalytics”、“MyEvent”);
ga('secondary.send','event','TheirAnalytics','therevent');

请查看和上的文档以了解更多详细信息。

本页上现有的两个答案不正确,实际上不起作用。您肯定不需要下载两次
analytics.js
脚本,而且您肯定不想创建两个函数

您要做的是创建两个,至少给其中一个命名,然后使用这两个名称发送数据

下面是一个例子:

<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','ga');

// Creates the first tracker for one of your accounts,
// and uses the default name.
ga('create', 'UA-XXXXX-1', 'auto');

// Creates the second tracker for the other account,
// and give it the name "secondary"
ga('create', 'UA-XXXXX-2', 'auto', 'secondary');

// Sends events from both trackers,
// i.e. one event hit will be sent to each account.
ga('send', 'event', 'MyAnalytics', 'MyEvent');
ga('secondary.send', 'event', 'TheirAnalytics', 'TheirEvent');

</script>

(函数(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]| |函数(){
(i[r].q=i[r].q | |[]).push(参数)},i[r].l=1*新日期();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(窗口,文档,“脚本”,“www.google-analytics.com/analytics.js”,“ga”);
//为您的一个帐户创建第一个跟踪器,
//并使用默认名称。
ga(“创建”、“UA-XXXXX-1”、“自动”);
//为其他帐户创建第二个跟踪器,
//并将其命名为“secondary”
ga(“创建”、“UA-XXXXX-2”、“自动”、“辅助”);
//从两个跟踪器发送事件,
//即,将向每个帐户发送一个事件命中率。
ga(“发送”、“事件”、“MyAnalytics”、“MyEvent”);
ga('secondary.send','event','TheirAnalytics','therevent');

请查看和上的文档以了解更多详细信息。

对于已使用的命名跟踪器,这是正确的答案。为了使此答案更容易理解:不能使用相同的名称创建两个跟踪器对象(在OP的情况下为默认名称),因为第二个跟踪器将简单地覆盖第一个跟踪器。这就是需要至少命名一个跟踪器的基本原理,以便后者不会覆盖前者(或多或少类似于变量分配,如果将新值分配给变量,它将覆盖现有值。新值需要不同的变量)。这是正确的答案,为了让这个答案更容易理解:一个人不能创建两个同名的跟踪器对象(在OP的情况下是默认名称),因为第二个跟踪器只会覆盖第一个跟踪器。这就是需要至少命名一个跟踪器的基本原理,以便后者不会覆盖前者(或多或少类似于变量分配,如果将新值分配给变量,它将覆盖现有值。新值需要不同的变量)。