如何在Google Analytics(分析)中从Yandex.Metrica复制目标

如果您通过Google跟踪代码管理器(GTM)在Yandex.Metrica中设置了大量目标,并且迫切需要将这些目标作为事件转移到Google Analytics(分析),该怎么办? 当然,您可以重新配置每个代码以将事件并行发送到GA和Metric,但是如果Metric中有很多目标,这将需要一些时间。

如果目标不是由您而是由站点代码本身中的开发人员设置的,则可能出现相反的情况。 而且,作为公司的分析师,您需要配置将相同的事件发送到GA,而且手边只有GTM。 在这种情况下,即使目标数量很少,也会出现困难。 GTM中的事件触发器将需要尽可能地自定义,以使Metric中的目标和GA中的事件遵循相同的逻辑,并且在不同的分析系统中不会存在重大差异。

在这两种情况下,都需要花费一个多小时来手动调整所有内容。 但是您可以找到一个更实用的选择。 有一个功能可让您拦截将目标发送到Metric,同时将推送发送到dataLayer。 因此,您无需回顾或了解如何将目标发送到Yandex.Metrica,而是仅使用所需的功能。 该功能的工作版本将取决于您安装的Yandex.Metrica计数器的版本。

如何区分新的公制计数器和旧的


要确定某个功能的工作版本,您需要了解您的站点上安装了哪个版本的计数器。

如果您的计数器是在2018年12月10日安装的较早的版本,但以后没有更新,则您的版本为旧版本

<script type="text/javascript" > (function(d, w, c) { (w[c] = w[c] || []).push(function() { try { w.yaCounterXXXXXXXX = new Ya.Metrika({ id: XXXXXXXX, clickmap: true, trackLinks: true, accurateTrackBounce: true, webvisor: true }); } catch (e) {} }); var n = d.getElementsByTagName("script")[0], s = d.createElement("script"), f = function() { n.parentNode.insertBefore(s, n); }; s.type = "text/javascript"; s.async = true; s.src = "https://mc.yandex.ru/metrika/watch.js"; if (w.opera == "[object Opera]") { d.addEventListener("DOMContentLoaded", f, false); } else { f(); })(document, window, "yandex_metrika_callbacks"); </script> 

其中:

XXXXXXXX是您的柜台号码。
代码中的w.yaCounterXXXXXXXX清楚表明这是计数器的旧版本。
在旧计数器中发送目标的示例:

 <script> yaCounterXXXXXXXX.reachGoal('TARGET_NAME'); </script> 

其中:

XXXXXXXX-您的柜台号码;
TARGET_NAME是目标的标识符。

计数器的新版本于2018年12月10日出现。

看起来像这样:

 <script type="text/javascript" > (function(m, e, t, r, i, k, a) { m[i] = m[i] || function() { (m[i].a = m[i].a || []).push(arguments) }; m[i].l = 1 * new Date(); k = e.createElement(t), a = e.getElementsByTagName(t)[0], k.async = 1, k.src = r, a.parentNode.insertBefore(k, a) })(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym"); ym(XXXXXXXX, "init", { clickmap: true, trackLinks: true, accurateTrackBounce: true, webvisor: true }); </script> 

其中:

XXXXXXXX是您的柜台号码。
ym(代码中的XXXXXXXX清楚地表明这是计数器的新版本。
在新计数器中发送目标的示例:

 <script> ym(XXXXXX, 'reachGoal', 'TARGET_NAME'); </script> 

其中:

XXXXXXXX-您的柜台号码;
TARGET_NAME是目标的标识符。

旧版本的Yandex.Metrica的功能


如果您安装了旧版本的Yandex.Metrica计数器(请参见上文),那么拦截发送目标的功能将如下所示:

 <script> function mainTagFunction(reachGoal) { yaCounterXXXXXXXX.reachGoal = function() { var param = arguments[0]; reachGoal.apply(this, arguments); //     dataLayer.push({ 'event': 'metrika', 'event_param': param }); }; } var yCounter = 0; function ySearch() { if (window.yaCounterXXXXXXXX) mainTagFunction(yaCounterXXXXXXXX.reachGoal); else { if (yCounter < 100) { setTimeout(ySearch, 100); yCounter++; } else console.log(' .  '); } } ySearch(); </script> 

其中:

XXXXXXXX-您的柜台号码;

每次使用reachGoal方法调用yaCounterXXXXXXXXX函数时,都会触发该代码。 该函数在dataLayer中进行推送,当推送时,事件名称(metrika)和参数被传输,目标的标识符在参数中传递。

新版本的Yandex.Metrica的功能


如果您安装了新版本的Yandex.Metrica计数器,则拦截发送目标的功能如下:

 <script> function func (){ //   var yCounter = 0; //   . function ySearch(){ if (window.ym){ window.zm = window.ym; mainTagFunction(); }else if (yCounter < 100){ setTimeout(ySearch, 100); yCounter++; }else console.log(' .  '); } //  function mainTagFunction(){ window.ym = function(){ window.zm.a.push(arguments); if (arguments[1] === 'reachGoal') dataLayer.push({ 'event': 'metrika', 'event_param': arguments[2] }); }; } //  ySearch(); }; setTimeout(func, 1000); </script> 

每次调用ym()函数时,该函数都起作用,如果调用了goinggoal方法,则它将推送发送到dataLayer。 事件的名称(metrika)和参数传递到dataLayer,目标的标识符传递到参数event_param。

配置通过GTM向GA发送事件


为了配置GTM以GA中的指标为目标发送事件,您必须:

1.创建一个“ 查看页面-DOM模型就绪 ”触发器,您还可以指定要在GA中从Metric复制目标的页面



2.创建一个“ 自定义HTML ”标签,然后将所需的功能代码插入其中。 先前创建的触发器安装在此标签上。



3.使用事件名称metrika创建一个“ 自定义事件 ”触发器。



4.创建一个名为“ 数据级别变量 ”的变量 ,其名称如示例所示:



5.使用之前创建的触发器和变量创建标签“ Google Analytics-Universal Analytics ”。



其中:

UA-XXXXXXXX-XX-您的Google Analytics(分析)柜台号码

6.发布GTM容器。



通过这些设置,Google Analytics(分析)将接收事件类别为Metrika的事件,这些事件的操作将是Yandex.Metrica的目标标识符。



验证设置


要检查将事件发送到GA的设置的正确性,您必须在浏览器的控制台中输入以下代码:

a)对于新的公制计数器

 ym(XXXXXX, 'reachGoal', 'TARGET_NAME') 

其中:

XXXXXXXX-您在Yandex.Metrica中的计数器编号。

b)对于旧的公制计数器

 yaCounterXXXXXXXX.reachGoal('TARGET_NAME'); 

其中:

XXXXXXXX-您在Yandex.Metrica中的计数器编号。

每个浏览器中的控制台都以自己的方式打开,例如,对于Chrome,该控制台使用组合键Ctrl + Shift + j打开:



按下Enter键后,您的活动不仅应转到Metric,而且还应转到GA。

要验证这一点,请在“ 实时 ”部分中打开“事件”报告:



如果一切配置正确,那么您将看到一行包含Metrika和TARGET_NAME的值。

恭喜,您已将目标从Metric转移到Google Analytics(分析)!

为门户Cossa准备了材料。

Source: https://habr.com/ru/post/zh-CN458328/


All Articles