在使用 AMP 技术的网站上安装和设置计数器

Yandex Metrica 计数器执行 JavaScript。 如果您在使用加速移动页面 (AMP) 的网站上安装代码片段,该网站的页面将不会通过验证。 这是因为 AMP 技术限制了 JavaScript 和 HTML5 的使用。 要解决此问题,您可以通过特殊方式安装计数器。

备注

但是,这样会导致一些 Yandex Metrica 功能不受支持:E-commerce、Session Replay、“Share”按钮的点击跟踪。

在使用 AMP 技术的网站上启用计数器

注意

使用加速移动页面 (AMP) 技术的网站无法收集内容分析数据。

更改网站页面上的 HTML 代码:

  1. 跟踪使用 AMP 的网站上的用户活动使用额外的 amp-analytics 组件。 将其添加到网站代码中,head 元素内:

    <head>
        ...
            <script async custom-element="amp-analytics" src="https://cdn.ampproject.org/v0/amp-analytics-0.1.js"></script>
        ...
    </head>
    
  2. 更改 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
            }
        },
        ...
    }
}

字段

类型

描述

goalId

字符串

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