Metrica

Faydalı bağlantılar

İstatistikler toplama uyarısı

Yandex.Metrica ziyaretçiyi ziyareti hakkında verilerin toplanacağı hakkında uyarmaya ve sayaç kodunun site sayfalarına yüklenmesini ertelemeye olanak verir.

Veri aktarımının ziyaretçi tarafından onaylanması halinde sayaç kodu olağan şekilde yüklenir. Ziyaretçi onayı gelmedikçe sayaç kodu site sayfalarına yüklenmez. Ziyaretçinin yaptığı seçim gerektiğinde sitenin (alan adının) tüm sayfalarını ziyaretler için geçerli sayılabilir.

Bu bildirim ve sayaç kodu yüklemenin ertelenmesi işlevlerini çalıştırmak için webmasterınıza başvurun.

Örnek
...
<head>
    <meta charset="UTF-8">
    <title>Sayfa başlığı</title>
    <!--Bu örnekte reset.css tarzı kullanılır. Kendi kararınıza göre seçim yapabilirsiniz.-->
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css">
    <!--Çerez dosyalarıyla çalışmak için örnekte js-cookie kitaplığı kullanılıyor. Seçiminize kendiniz karar verebilirsiniz-->
    <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 içeriği
    <div class="cookie-notification cookie-notification_hidden_yes">
        <div class="cookie-notification__header">Мы используем cookies</div>
        <div class="cookie-notification__body">Site ziyaretleri hakkında bilgi toplamak üzere çerezler kullanıyoruz. Siteyi ziyaret ederek bunu kabul etmiş sayılırsınız</div>
        <div class="cookie-notification__buttons">
            <button class="cookie-notification__button" id="yes">Kabul ediyorum</button>
        </div>
    </div>
    <script type="text/javascript">
        var messageElement = document.querySelector('.cookie-notification');

        // Çerezler yoksa kapak görseli gösterilir
        if (!Cookies.get('agreement')) {
            showMessage();
        } else {
            initCounter();
        }
        // Sayaç kodunu hemen yükleyelim
        (function (d, w) {
            var n = d.getElementsByTagName("script")[0],
                s = d.createElement("script"),
                f = function () { n.parentNode.insertBefore(s, n); };
            s.type = "text/javascript";
            s.async = true;
            s.src = "https://mc.yandex.ru/metrika/watch.js";

            if (w.opera == "[object Opera]") {
                d.addEventListener("DOMContentLoaded", f, false);
            } else { f(); }
        })(document, window);

        // İşlev, DOM öğesine sınıf ekler. jQuery kitaplığı veya başka bir çerçeve (framework) kullanabilirsiniz
        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, "");
        }

        // Bu işlev DOM öğesinden sınıf kaldırır. jQuery kitaplığı veya başka bir çerçeve (framework) kullanabilirsiniz
        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, '');
        }

        // Uyarıyı gizleyen işlev
        function hideMessage () {
            addClass(messageElement, 'cookie-notification_hidden_yes');
        }

        // Uyarıyı görüntüleyen işlev
        function showMessage () {
            removeClass(messageElement, 'cookie-notification_hidden_yes');
        }

        function saveAnswer () {
            // Uyarıyı gizliyoruz
            hideMessage();

            // Çerezler ekliyoruz
            Cookies.set('agreement', '1');
        }

        function initCounter () {
            (function (w, c) {
                function _createCounter () {
                    try {
                        w.yaCounterXXXXXX = new Ya.Metrika({
                            id:XXXXXX,
                            clickmap:true,
                            trackLinks:true,
                            accurateTrackBounce:true,
                            webvisor:true
                        });
                    } catch (e) {}
                }

                // Sayaç kodu yüklenmiş ise sayacı hemen başlatıyoruz
                if (w.Ya && Ya.Metrika) {
                    _createCounter();
                } else {
                    // Aksi takdirde standart çözüm uygulanır
                    (w[c] = w[c] || []).push(function () {
                        _createCounter();
                    });
                }

                saveAnswer();
            })(window, "yandex_metrika_callbacks");
        }

        // "Kabul ediyorum" butonunun tıklanması
        document.querySelector('#yes').addEventListener('click', function () {
            initCounter();
        });
    </script>
</body>
...

Burada:

  • XXXXXX: Sayacınızın numarasıdır.