在网站上安装多个计数器

有时您可能需要一次在一个页面上放置多个计数器。 同样,您可以将图像嵌入代码(在禁用 JavaScript 时使用)放置在单个 noscript 元素中。

如果您要安装多个计数器,只需将用户行为回放工具连接到代码中指定的一个计数器即可。

要初始化计数器,请使用 ssr 参数。

<!-- Yandex Metrica tag -->
<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();
        for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }}
        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?id=XXXXXXXX', 'ym');

ym(XXXXXXXX, 'init', {ssr:true, webvisor:true, clickmap:true, accurateTrackBounce:true, trackLinks:true});

    (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();
        for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }}
        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?id=YYYYYYYY', 'ym');

ym(YYYYYYYY, 'init', {ssr:true, clickmap:true, accurateTrackBounce:true, trackLinks:true});

</script>
<noscript>
  <div>
    <img src="https://mc.yandex.ru/watch/XXXXXXXX" style="..." alt="" />
  </div>
  <div>
    <img src="https://mc.yandex.ru/watch/YYYYYYYY" style="..." alt="" />
  </div>
</noscript>
<!-- /Yandex.Metrika counter -->

这里的 XXXXXXXXYYYYYYYY 是 Yandex Metrica 计数器的 ID。

不带 ssr 参数的代码片段。
<!-- Yandex Metrica tag -->
<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();
   for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }}
   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});
ym(YYYYYYYY, "init", {clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor: true});

</script>
<noscript>
  <div>
    <img src="https://mc.yandex.ru/watch/XXXXXXXX" style="..." alt="" />
    <img src="https://mc.yandex.ru/watch/YYYYYYYY" style="..." alt="" />
  </div>
</noscript>
<!-- /Yandex.Metrika counter -->

这里的 XXXXXXXXYYYYYYYY 是 Yandex Metrica 计数器的 ID。

将具有不同代码版本的计数器进行组合

如果一个页面上安装了多个计数器,并且其中一个计数器在 ssr: true 参数设置下加载,则某些设置组合可能会导致 Session Replay 问题。

假设在同一页面上设置了两个计数器:

  • 计数器 XXXXXXXXssr: true 参数设置下安装。 Session Replay 已在此计数器的设置中禁用。
  • 计数器 YYYYYYYY 以标准方式安装,并使用延迟加载,例如使用 setTimeout 函数。 Session Replay 已在此计数器的设置中启用。

在这种情况下,由于特定的代码加载过程,Session Replay 在这两个计数器上均不会运行:

  1. 第一个计数器的代码在服务器上生成(由 ssr: true 参数确定)。 这里,Yandex Metrica 界面中的设置决定是否加载 Session Replay。
  2. Session Replay 已在 Yandex Metrica 设置中禁用,因此加载的计数器文件 tag.js 不包含 Session Replay 模块。
  3. 第二个计数器在第一个计数器之后加载。 如果其初始化代码缺少 ssr: true 参数,它会加载为第一个计数器生成的 tag.js 文件。
  4. 因此,tag.js 不包含 Session Replay 代码,并且 Session Replay 无法运行。

为确保 Session Replay 在计数器 YYYYYYYY 上正常运行,请执行以下操作:

  1. XXXXXXXX 计数器设置中启用 Session Replay。
  2. 向计数器 XXXXXXXX 的初始化代码添加 webvisor: false 参数。

在这种情况下,tag.js 将包含 Session Replay 代码,但 webvisor: false 参数将阻止 Session Replay 在第一个计数器上运行。

示例代码:计数器 XXXXXXXX

ym(XXXXXXXX, "init", {
    ssr: true,
    webvisor: false,
    // 其他参数
});

与我们聊天

发送电子邮件

如果您无法独立检查计数器,请遵循以下建议。

发生这种情况的原因可能如下:

  • 计数器安装不正确。 例如 CMS 修改了计数器代码。 重新安装计数器或联系您的 CMS 的支持服务。
  • 损坏的脚本导致 Yandex Metrica 计数器无法在网站上运行。 您可以在浏览器控制台中检查这一点。
这些建议没有帮助

这意味着信息正在传输到 Yandex Metrica。 但是,由于以下任一原因,数据可能不会显示在报表中:

  • 数据被发送到具有不同编号的计数器。
  • 计数器设置中的 Filters 选项卡指定了过于严格的筛选条件。 删除不需要的筛选条件。
  • 计数器设置中的 Filters 选项卡已启用 Don't count my sessions 筛选条件。 这意味着计数器不会统计您自己的会话。 尝试使用您的浏览器在“隐身”模式下访问该网站。
这些建议没有帮助

联系我们