关于收集统计的通知

您可以通知您的网站用户将收集统计,并推迟在网站页面上加载 Yandex Metrica 计数器的代码片段

如果用户同意传输信息,则计数器代码将正常加载。 未经用户同意,将不会加载该代码片段。 用户的一次性选择可以应用于网站或域上的所有其他页面。

要启用警报并实现计数器代码的延迟加载,请联系您的网站管理员。

警报示例

您可以使用任何文本向用户通知统计收集的情况。 请注意,以下文本仅为通知中显示文本的示例。 Yandex 不对其是否符合法律要求负责。 在发布文本前,我们建议您咨询律师。

本网站收集会话统计数据和访客数据。

[指向您网站的《使用条款》或《隐私政策》的链接]

代码实现的示例

...
<head>
    <meta charset="UTF-8">
    <title>Page title</title>
    <!--This example uses the reset.css style. You can use your own approach.-->
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css">
    <!--This example uses the js-cookie library to manage cookies. You can use your own approach.-->
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/js-cookie/2.1.2/js.cookie.js"></script>
    <style>
        * {
            box-sizing: border-box;
        }
        body {
            width: 100%;
            height: 100%;
        }
        .cookie-notification {
            position: fixed;
            background-color: rgba(0, 0, 0, .8);
            bottom: 0;
            width: 100%;
            color: white;
            padding: 15px;
        }
        .cookie-notification_hidden_yes {
            display: none;
        }
        .cookie-notification__header {
            margin-bottom: 10px;
            font-size: 23px;
        }
        .cookie-notification__body {
            margin-bottom: 10px;
        }
    </style>
</head>
<body>
    Site content
    <div class="cookie-notification cookie-notification_hidden_yes">
        <div class="cookie-notification__header">Notice about collecting statistics</div>
        <div class="cookie-notification__body">
       <p>This site collects session statistics and user data.</p>
       <p>[Link to the Terms of Use or Privacy policy of your site]</p>
        </div>
        <div class="cookie-notification__buttons">
            <button class="cookie-notification__button" id="yes">I agree</button>
        </div>
    </div>
    <script type="text/javascript">
        var messageElement = document.querySelector('.cookie-notification');
        // If there are no cookies, show a placeholder
        if (!Cookies.get('agreement')) {
            showMessage();
        } else {
            initCounter();
        }
        // Load the code snippet immediately
        (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')
        // This function adds the class to the DOM element. You can use the jQuery library or another framework.
        function addClass (o, c) {
            var re = new RegExp("(^|\\s)" + c + "(\\s|$)", "g");
            if (!o || re.test(o.className)) {
                return;
            }
            o.className = (o.className + " " + c).replace(/\s+/g, " ").replace(/(^ | $)/g, "");
        }
        // This function removes the class from the DOM element. You can use the jQuery library or another framework.
        function removeClass (o, c) {
            var re = new RegExp('(^|\\s)' + c + '(\\s|$)', 'g');
            if (!o) {
                return;
            }
            o.className = o.className.replace(re, '$1').replace(/\s+/g, ' ').replace(/(^ | $)/g, '');
        }
        // Function that hides the notice
        function hideMessage () {
            addClass(messageElement, 'cookie-notification_hidden_yes');
        }
        // Function that shows the notice
        function showMessage () {
            removeClass(messageElement, 'cookie-notification_hidden_yes');
        }
        function saveAnswer () {
            // Hide the notice
            hideMessage();

            // Set cookies
            Cookies.set('agreement', '1');
        }
        function initCounter () {
            ym(XXXXXXXX, 'init', {});
            saveAnswer();
        }
        // Clicked the "I agree" button
        document.querySelector('#yes').addEventListener('click', function () {
            initCounter();
        });
    </script>
</body>
...
...
<head>
    <meta charset="UTF-8">
    <title>Page title</title>
    <!--This example uses the reset.css style. You can use your own approach.-->
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css">
    <!--The example uses the js-cookie library for working with cookies. You can use your own approach-->
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/js-cookie/2.1.2/js.cookie.js"></script>
    <style>
        * {
            box-sizing: border-box;
        }
        body {
            width: 100%;
            height: 100%;
        }
        .cookie-notification {
            position: fixed;
            background-color: rgba(0, 0, 0, .8);
            bottom: 0;
            width: 100%;
            color: white;
            padding: 15px;
        }
        .cookie-notification_hidden_yes {
            display: none;
        }
        .cookie-notification__header {
            margin-bottom: 10px;
            font-size: 23px;
        }
        .cookie-notification__body {
            margin-bottom: 10px;
        }
    </style>
</head>
<body>
    Site Content
    <div class="cookie-notification cookie-notification_hidden_yes">
        <div class="cookie-notification__header">Notice about collecting statistics</div>
        <div class="cookie-notification__body">
       <p>This website collects session statistics and user data.</p>
     <p>[Link to the User Agreement of your website or to the Privacy Policy of your website]</p>
        </div>
        <div class="cookie-notification__buttons">
            <button class="cookie-notification__button" id="yes">I agree</button>
        </div>
    </div>
    <script type="text/javascript">
        var messageElement = document.querySelector('.cookie-notification');
        // If there aren't any cookies, show a placeholder
        if (!Cookies.get('agreement')) {
            showMessage();
        } else {
            initCounter();
        }
        // Load the code snippet immediately
        (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')
        // This function adds the class to the DOM element. You can use the jQuery library or another framework
        function addClass (o, c) {
            var re = new RegExp("(^|\\s)" + c + "(\\s|$)", "g");
            if (!o || re.test(o.className)) {
                return;
            }
            o.className = (o.className + " " + c).replace(/\s+/g, " ").replace(/(^ | $)/g, "");
        }
        // This function removes the class from the DOM element. You can use the jQuery library or another framework.
        function removeClass (o, c) {
            var re = new RegExp('(^|\\s)' + c + '(\\s|$)', 'g');
            if (!o) {
                return;
            }
            o.className = o.className.replace(re, '$1').replace(/\s+/g, ' ').replace(/(^ | $)/g, '');
        }
        // Function that hides the alert.
        function hideMessage () {
            addClass(messageElement, 'cookie-notification_hidden_yes');
        }
        // Function that shows the alert.
        function showMessage () {
            removeClass(messageElement, 'cookie-notification_hidden_yes');
        }
        function saveAnswer () {
            // Hide the alert.
            hideMessage();

            // Set cookies.
            Cookies.set('agreement', '1');
        }
        function initCounter () {
            ym(XXXXXXXX, 'init', {});
            saveAnswer();
        }
        // Clicked the "I agree" button.
        document.querySelector('#yes').addEventListener('click', function () {
            initCounter();
        });
    </script>
</body>
...

其中

  • XXXXXXXX —— 您的计数器编号。

与我们聊天

发送电子邮件

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