Skrypt śledzący kopiowanie treści strony w Google Analytics

Chcesz się dowiedzieć czy i ile treści ze strony internetowej jest kopiowanych przez jej czytelników. Dzięki połączeniu jQuery i zdarzeń Google Analytics, możliwe jest śledzenie każdej osoby, która kopiuje treści ze strony internetowej. Dowiesz się skąd kopiowała, co dokładnie i ile tego było.

Powyższego skryptu używam na tej stronie od dłuższego czasu. Niestety źródło z którego go pobrałem zniknęło, więc postanowiłem go tu ponownie umieścić. Autorem skryptu jest Eivind Savio (jego domena niestety wygasła). Skrypt przygotowany przez tego autora był dla wersji klasycznej kodu Google Analytics. Ja tylko dokonałem pewnych modyfikacji przy definiowaniu obiektów jQuery oraz uaktualniłem go do wersji Universal Analytics.

Skrypt korzysta także z pracy przygotowanej przez Motyar, która pozawala zaznaczać/podświetlać tekst z wykorzystaniem jQuery.

Jako ciekawostkę podam, że czytelnicy w grudniu 2014 roku skopiowali z mojej strony dokładnie 692 116 znaków. W styczniu jest już ponad milion znaków i dalej licznik rośnie. Dopóki nie zobaczyłem tego jak często i ile treści jest kopiowanych, nie zdawałem sobie z tego sprawy. Do skryptu udostępniony jest także zaawansowany raport w Google Analytcs, który pokazuje co, ile i skąd zostało skopiowane.

Raport kopiowanie treści w grudniu 2014 roku
Raport kopiowanie treści w grudniu 2014 roku
Kopiowanie treści dla wybranego adresu URL
Kopiowanie treści dla wybranego adresu URL

Raport skopiowanej treści dla Google Analytics

Poniższy raport pokaże:

  • Kategoria zdarzenia: Schowek,
  • Akcja zdarzenia: copy, cut lub paste,
  • Etykieta zdarzenie: Tekst skopiowany/wycięty/wklejony
  • Wartość zdarzenia: Ile znaków zostało skopiowanych/wyciętych/wklejonych.

Jeśli wybierzesz strony z raportu w sekcji Zdarzenie, możesz przeglądać, jak akcje kopiowania/wycinania/wklejania wyglądały na poszczególnych stronach.

Link do szablonu zaawansowanego raportu skopiowanej treści.

Skrypt, który śledzi kopiowanie treści z wykorzystaniem JQuery zdarzeń Google Analytics

Jeśli chcecie zmienić ilość znaków wrzucanych do Google Analytics, należy zmienić wartość zmiennej maxLength. Proszę uważać ze skryptem, na stronach, które wymagają podania poufnych danych, bowiem wtedy mogą one wpaść do Google Analytics, a zgodnie z ich regulaminem usługi, takich danych zbierać nie można.

Oprócz zaspokojenia ciekawości, co zostało skopiowane przez czytelników strony, czy widzicie jakieś inne obszary gidzie można zastosować ten rodzaj śledzenia. Ochrona praw autorskich? SEO?

< script type = "text/javascript" >
    // Skrypt śledzący kopiowanie/wycinanie/wklejanie w Google Analytics stworzony przez Eivind Savio w stycnziu 2013
    // Skrypt od Motyar
    function getSelected() {
        if (window.getSelection) {
            return window.getSelection();
        } else if (document.getSelection) {
            return document.getSelection();
        } else {
            var selection = document.selection && document.selection.createRange();
            if (selection.text) {
                return selection.text;
            }
            return false;
        }
        return false;
    }
    // Koniec skryptu od Motyar
jQuery(document).ready(function() {
    jQuery('body').on('copy cut paste', function(ccp) { // Śledź kopiowanie/wycinanie/wklejanie z jQuery.
        var selection = getSelected();
        var maxLength = 150; // Do 150 znaków z treści będzie śledzone, zmień wartość jeśli chcesz śledić mniej treści
        if (selection && (selection = new String(selection).replace(
            /^\s+|\s+$/g, ''))) {
            var textLength = selection.length; // Ile znaków było kopiowanych/wycinanych/wklejonych
            if (selection.length > maxLength) {
                selection = selection.substr(0, maxLength) +
                    "..."
            } // Jeśli treść jest dłuższa niż maxLength, wtedy dodaje ... na koniec treści
            else {
                selection = selection; // Jesli treść jest krótsza niż  maxLength, wtedy śledzi treść w całości.
            }
            ga('send', 'event', 'Schowek', ccp.type + ' URL: ' +
                document.location.pathname, selection,
                textLength);
            // Śledzi kopiowanie/wycinanie/wklejanie jako zdarzenia w Google Analytics
        }
    });
}); < /script>

Zapisz się do newslettera wypełniając pola poniżej. Będziesz na bieżąco ze wszystkimi wydarzeniami związanymi z Silesia SEM i informacjami o marketingu internetowym w sieci. Nie spamujemy.

Zostanie wysłany do Ciebie e-mail potwierdzający: przeczytaj zawarte w nim instrukcje, aby potwierdzić subskrypcję.

Twój email:

 Zapoznałem się z polityką prywatności.
The following two tabs change content below.

Artur Strzelecki

Niezależny specjalista SEM, który upowszechnia wiedzę o marketingu w wyszukiwarkach internetowych. W wolnych chwilach doradza jak odnaleźć własną ścieżkę w Google.

15 komentarzy do “Skrypt śledzący kopiowanie treści strony w Google Analytics

  1. Czy kod wystarczy wkleić tylko w sekcję head strony?
    Czy trzeba dodatkowo coś konfigurować w GA?

  2. Kod należy wkleić na samym końcu strony, najlepiej przed zakończeniem HTML.

  3. To nie jest oparte o cele, ale jeśli taki cel chcesz utworzyć, to możesz. Skrypt, poza wklejeniem do strony nie potrzebuje więcej ustawień.

  4. Jeśli chodzi o ochronę praw i tego typu kwestie, to bez możliwości śledzenia dalszych losów skopiowanego tekstu, ciężko byłoby coś osiągnąć, aczkolwiek dla zaspokajania własnej ciekawości skrypt bardzo przydatny i ciekawy.
    Mnie interesuje inna rzecz – pewnie nie da się go w jakiś łatwy sposób zmodyfikować aby wykorzystać go do śledzenia kopiowania obrazów ze strony?

  5. Super, dziękuję. Wkleiłam i od razu znalazłam pierwsze „pożyczenie” 😉 Mam pytanie tylko co do Wartości zdarzenia, czy to GA oblicza automatycznie, czy trzeba to jakoś ustalić?

  6. Mam tylko problem, bo kod wywaliło mi na stronie i goście go widzą. Coś zrobiłam nie tak? uszynszyla. pl

  7. a jak to się ma do Google Tag Managera? można dodać jako niestandardowy tag html?

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *