计数器初始化

提示

使用 JavaScript API 需要了解 HTML 和 JavaScript。 如果您不了解这些语言,请联系您的网站开发人员或站长。

前往 https://mc.yandex.ru/metrika/tag.js 并下载计数器工作所需的 JavaScript 库。

启用该库的代码可在计数器编辑页面上找到。 该库可以异步(推荐)或同步加载,但其功能保持不变。

要创建和管理计数器,请使用 ym 方法。 它是在下载代码中创建的:

(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 需要计数器 ID 和正在调用的函数的名称。 该方法还可以传递被调用函数的参数。 例如,要初始化一个计数器,您需要传递计数器 ID、init 函数的名称和参数数组:

ym(XXXXXX, "init", {clickmap: true, webvisor: true});

如果您不想将参数传递给函数,初始化如下所示:

ym(XXXXXX, "init", {});

包含主要初始化参数的代码部分是在 Settings 页面上生成的。 初始化参数的完整列表如表所示。

可以通过 ym 方法调用的函数说明参见方法参考

计数器初始化参数

名称

默认值

类型

描述

accurateTrackBounce

true

布尔 | 数字

准确的跳出率 参数可以接受这些值:

  • true —— 启用准确的跳出率,并在 15000 毫秒(15 秒)后统计非跳出事件。
  • false —— 不启用准确的跳出率。
  • <N>(整数)—— 启用准确的跳出率。 非跳出事件在 <N> ms 之后确定。

childIframe

false

布尔值

是否在子窗口中记录 iframe 内容,不带计数器。

clickmap

true

布尔值

是否针对 click map 收集数据

defer

false

布尔值

是否禁止在计数器初始化期间自动发送数据。

ecommerce

false

布尔 | 字符串 | 数组

E-commerce 数据收集。

  • true —— 启用 e-commerce 数据收集。 相当于 dataLayer 值(如果选项在 Yandex Metrica 中启用)。 数据通过全局命名空间中 (window.dataLayer) 名为 dataLayer 的 JavaScript 数组传输。
  • false —— 禁用 E-commerce 数据收集。
  • <objectName>(字符串)—— 启用 e-commerce 数据收集。 数据通过全局命名空间中 (window.<objectName>) 名为 <objectName> 的 JavaScript 数组传输
  • <array>(数组)—— 启用 e-commerce 数据收集。 数据通过 JavaScript <array> 传输

params

对象 | 数组

计数器初始化期间传输的会话参数。

要在任何其他时间传输会话参数,请使用 params 方法。

userParams

Object

初始化计数器时传输的网站用户参数。

要在任何其他时间传输用户参数,请使用 userParams 方法。

trackHash

false

布尔值

跟踪浏览器地址栏中的散列值变化

trackLinks

true

布尔值

跟踪出站链接的点击量。

trustedDomains

数组

表示用于记录子 iframe 的内容的受信任域。包含父窗口的域地址

type

0

数字

计数器类型。 1 代表 YAN

webvisor

false

布尔值

是否使用 Session Replay

triggerEvent

false

布尔值

是否检查计数器是否准备好。

sendTitle

true

布尔值

标题记录。 如果标题包含私有数据,则该参数应在初始化期间设置为 falsesendTitle: false

检查计数器初始化

您可以使用特殊的 JavaScript 事件来查明计数器是否已准备好运行。 但是,您必须在代码片段中添加设置为 truetriggerEvent 参数:

ym(XXXXXX, "init", {triggerEvent: true});

对于 jQuery,您可以在计数器初始化之前使用以下代码示例

jQuery(document).on('yacounterXXXXXXinited', function () {
    console.log('tag yaCounterXXXXXX ready');
});

使用计数器管理系统启用计数器

您还可以使用计数器管理系统(也称为计数器调度程序或计数器容器)启用 Yandex Metrica 计数器。 这些系统允许您将所有必要的 HTML/JavaScript 代码存储在外部服务器上,并使用小代码片段将其连接到网页。 这意味着您可以更改连接的代码,而无需更改网页的代码。

标签管理系统通常支持两种类型的计数器集成代码:JavaScript 和 image。 Yandex Metrica 支持这两种类型的计数器。 要使用计数器管理系统集成它们,请使用 Settings 页面(在 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();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(XXXXXX, "init", {<initialization parameters>});
</script>
<img src="https://mc.yandex.ru/watch/XXXXXX" style="position:absolute; left:-9999px;" alt="" />

其中 XXXXXX 是 Yandex Metrica 计数器号码。

收集的数据可能会根据计数器代码的类型而有所不同。 要了解更多信息,请参阅 Yandex Metrica 计数器收集的数据

在每个计数器中,您可以一次连接多个计数器,这与 在网站上安装多个计数器 部分中描述的内容类似。

与我们聊天

发送电子邮件

请注意:我们的支持团队永远不会主动给您打电话。 请勿按照自称为 Yandex Metrica 支持团队来电者的指示操作。