在使用 AMP 技术的网站上安装和设置计数器
Yandex Metrica 计数器执行 JavaScript。 如果您在使用加速移动页面 (AMP) 的网站上安装代码片段,该网站的页面将不会通过验证。 这是因为 AMP 技术限制了 JavaScript 和 HTML5 的使用。 要解决此问题,您可以通过特殊方式安装计数器。
备注
但是,这样会导致一些 Yandex Metrica 功能不受支持:E-commerce、Session Replay、“Share”按钮的点击跟踪。
在使用 AMP 技术的网站上启用计数器
注意
使用加速移动页面 (AMP) 技术的网站无法收集内容分析数据。
更改网站页面上的 HTML 代码:
-
跟踪使用 AMP 的网站上的用户活动使用额外的 amp-analytics 组件。 将其添加到网站代码中,
head
元素内:<head> ... <script async custom-element="amp-analytics" src="https://cdn.ampproject.org/v0/amp-analytics-0.1.js"></script> ... </head>
-
更改
body
元素:添加amp-analytics
元素。 为了将会话数据传输到 Yandex Metrica,请将type
属性设置为值metrika
,并使用counterId
变量来设置计数器号码。<body> ... <amp-analytics type="metrika"> <script type="application/json"> { "vars": { "counterId": "XXXXXX" ... } } </script> </amp-analytics> ... </body>
传输数据
注意
当用户打开 AMP 页面时,Yandex Metrica 统计一次浏览 (pageview
)。 这意味着您不需要将此事件传输到 Yandex Metrica。 如果您真的发送了此事件,Yandex Metrica 报表将显示错误的页面浏览次数。
要在计数器初始化时传输数据,请使用:
- 用于发送用户会话参数的 yaParams 变量。
- 用于传输事件(例如目标完成等)触发器的属性。
发送会话参数和用户参数
在会话期间使用 yaParams 变量传输自定义会话参数和用户参数的示例:
...
"vars": {
"counterId": "XXXXXX",
"yaParams": "{\"key\":\"value\",\"__ymu\":{\"user_param_key\":\"user_param_value\"}}"
},
...
您还可以仅传输会话参数,或仅传输用户参数:
...
"vars": {
"counterId": "XXXXXX",
"yaParams": "{\"key\":\"value\"}"
},
...
...
"vars": {
"counterId": "XXXXXX",
"yaParams": "{\"__ymu\":{\"user_param_key\":\"user_param_value\"}}"
},
...
准确的跳出率
要获得准确的跳出率,请使用 timer 触发器属性:
{
...
"triggers": {
"notBounce": {
"on": "timer",
"timerSpec": {
"immediate": false,
"interval": 15,
"maxTimerLength": 14
},
"request": "notBounce"
},
...
}
}
目标完成
要在点击特定页面元素时跟踪目标完成情况,请使用 click 触发器属性。
{
...
"triggers": {
"someGoalReach": {
"on": "click",
"selector": "#Button",
"request": "reachGoal",
"vars": {
"goalId": "superGoalId",
"yaParams": "{\"key\": \"value\"}" // The value of the variable from the event will be used as the parameters of the session when the goal is reached
}
},
...
}
}
字段 |
类型 |
描述 |
|
字符串 |
在 Yandex Metrica 界面中创建 JavaScript 事件目标时设置的目标标识符。 |
页面滚动
您可以使用 scroll 触发器属性来确定向下滚动到页面上的特定点(页面高度百分比)。 您可以将此事件设置为目标。
{
...
"triggers": {
"halfScroll": {
"on": "scroll",
"scrollSpec": {
"verticalBoundaries": [
50
]
},
"request": "reachGoal",
"vars": {
"goalId": "halfScrollGoal"
}
},
"partsScroll": {
"on": "scroll",
"scrollSpec": {
"verticalBoundaries": [
25,
90
]
},
"request": "reachGoal",
"vars": {
"goalId": "partsScrollGoal"
}
},
...
}
}
信息流无限滚动
无限滚动可用于查看相互跟随的文章。 要统计文章到文章的转换和每个文章的浏览次数,请使用 amp-next-page-scroll 触发器。
{
...
"triggers": {
"trackScrollThrough": {
"on": "amp-next-page-scroll",
"request": "pageview"
},
...
}
}
加载单个页面元素
当页面上的元素显示在用户屏幕上时,使用 visible 触发器属性统计。
计数器代码的一般示例
提供代码示例只是为了说明计数器的功能。 复制时,删除注释 (//<...>),将 XXXXXX 替换为您的计数器号码,并根据需要进行其他更改(例如,配置传输用户参数和会话参数)。
<body>
...
<amp-analytics type="metrika">
<script type="application/json">
{
// 传输用户参数和会话参数
"vars": {
"counterId": "XXXXXX",
"yaParams": "{\"key\":\"value\",\"__ymu\":{\"user_param_key\":\"user_param_value\"}}"
},
// 传输触发器
"triggers": {
// 准确的跳出率
"notBounce": {
"on": "timer",
"timerSpec": {
"immediate": false,
"interval": 15,
"maxTimerLength": 14
},
"request": "notBounce"
},
// 页面滚动
"halfScroll": {
"on": "scroll",
"scrollSpec": {
"verticalBoundaries": [
50
]
},
// 将跟踪滚动作为目标
"request": "reachGoal",
"vars": {
"goalId": "halfScrollGoal"
}
},
// 页面滚动
"partsScroll": {
"on": "scroll",
"scrollSpec": {
"verticalBoundaries": [
25,
90
]
},
// 将跟踪滚动作为目标
"request": "reachGoal",
"vars": {
"goalId": "partsScrollGoal"
}
},
// 信息流无限滚动
"trackScrollThrough": {
"on": "amp-next-page-scroll",
"request": "pageview"
}
}
}
</script>
</amp-analytics>
...
</body>
了解详情
当用户导航到某个网站页面时加载该页面。 页面浏览还包括页面刷新、AJAX 站点更新以及使用 hit 方法发送数据。
类型
String
描述
在 Yandex Metrica 界面中创建 JavaScript 事件目标时设置的目标标识符。