在使用 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 事件目标时设置的目标标识符。