что копируют на нашем сайте

Отслеживание копирования текста на сайте

 

Сегодня я хочу поделиться с вами своим новым скриптом, с помощью которого можно отслеживать событие копирования текста на вашем сайте, а также определить, какая именно информация была скопирована. С помощью такой настройки вы добавите еще один метод к набору инструментов для анализа контентных (и не только) ресурсов. Данную настройку достаточно просто выполнить, на реализацию не понадобится много времени. Кроме того, основное удобство в том, что не нужно привлекать никакие дополнительные инструменты, отслеживаемые данные будут доступны в привычном интерфейсе Google Analytics.

Описание скрипта

Опишу принцип работы скрипта.

С помощью метода addEventListener() регистрируем обработчик события копирования. В теле самого обработчика определяем выделенный в данный момент текст на странице и сохраняем его в переменную selected_text, удалив для читабельности переносы строк. Далее я осуществляю обработку выделенного фрагмента: если в тексте более 50 символов, берем лишь первые и последние 20 символов с помощью функции substring; в противном случае оставляем текст неизменным. В массив dataLayer передаем значение переменной selected_text и событие copy.

Код

<script>
document.addEventListener('copy', function (e) {
    selected_text = window.getSelection().toString().replace("\n", ' ');
    l = selected_text.length;
    if (l > 50) {
         selected_text = selected_text.substring(0, 20) + ' ... ' +                                selected_text.substring(l-20, l);
    }
    dataLayer.push({'selected_text':selected_text,'event':'copy'});
});
</script>

Настройки в Google Tag Manager

  1. Создаем новый тег в GTM типа “Пользовательский тег HTML” и копируем в текстовое поле приведенный выше код.
    пользовательский тег

  2. Создаем триггер типа “Просмотр страницы — Модель DOM готова”. Он будет выступать правилом активации для пользовательского тега.
    создаем триггер

  3. Создадим пользовательскую переменную типа “переменная уровня данных” с именем “selected_text”.
    пользовательская переменная

    Значение этой переменной мы сможем передавать в Google Analytics, например, при отправке события копирования.

  4. Добавим новый тег “Universal Analytics”. В параметрах события указываем переменную “selected_text”. Мне удобно анализировать такие данные в разрезе страниц, поэтому в атрибуте “Категория” я добавляю “Page Path”. Для того, чтобы легко отфильтровать данные только по событиям копирования, в начало параметров “Категория” и “Действия” я добавила “copy — ”. Вы же можете передавать те данные, которые удобно вам.
    Universal Analytics

    Обращаю ваше внимание на опцию “Не взаимодействие”. Если вы хотите, чтобы отправка события влияла на ваш показатель отказов, то необходимо установить значение “false” для этого параметра. В противном случае – устанавливайте значение “true”.

  5. В качестве условия активации этого тега добавляем новый триггер типа “Пользовательское событие”. В поле “Имя события” прописываем событие “copy”.
    имя события

    Для того, чтобы убедиться в корректности наших настроек, воспользуемся отладчиком GTM.

    отладчик GTM

    Для случая, когда копируемый текст более 50 символов, также все передается корректно.

    ctrlc_gtm7

Данные в отчетах Google Analytics

Включив в отчет по событиям данные, содержащие “copy -”, можно отфильтровать только события копирования. А выбрав в качестве дополнительного параметра категорию события, легко установить соответствие между скопированным текстом и конкретной страницей, с которой он был взят.

данные в отчетах Google Analytics

Выполнив всего несколько простых действий, описанных выше, вы сможете отследить, какую информацию копируют с вашего сайта. Надеюсь, моя статья будет полезной для вас! Еще об аналитике контентных ресурсов.