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. Kendi kararınıza göre seçim yapabilirsiniz-->
    <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">Burada çerezler kullanılır</div>
        <div class="cookie-notification__body">Burada çerez dosyaları kullanılarak site ziyaretleri hakkında bilgi toplanır. Bu siteyi ziyaret etmekle durumu kabul ettiğinizi beyan 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 kalıp gösterilir
        if (!Cookies.get('agreement')) {
            showMessage();
        } else {
            initCounter();
        }
        // Sayaç kodu hemen yüklenir
        (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);

        // Bu iş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.