Оповещения о переходах с пиратских сайтов в Telegram

03 февраля, 2025

Личный кейс по оперативному мониторингу и отслеживанию переходов пользователей с пиратских сайтов в Telegram с использованием Google Tag Manager.

Начало

Это третья статья в моем блоге, посвященная аналитике пиратов. С другими публикациями вы можете ознакомиться ниже:

Что на этот раз? Я уже неоднократно делился своим мнением относительно "пиратов" и пиратского контента, и много раз ловил их с поличным, как организаторов складчин, так и тех, кто записывался в качестве участников. Не все случаи были освещены публично. Благо с развитием технологий, разведке по открытым источникам (OSINT), теневому Интернету (Даркнету) и слитым базам данных в сеть можно всего за пару кликов установить личность злоумышленника. Деанонимизация верхнего порядка, с персональными данными и фотографиями. А далее - составление актов о правовой защите интеллектуальной собственности, Московский городской суд, Роскомнадзор и удаление пиратских ссылок.

Чем больше уделяют внимание мне, тем больше я уделяю внимания этому вопросу. Разумеется, многие из организаторов складчин находятся за пределами России, поэтому на них не распространяются законы Российской Федерации. Тоже самое касается и пиратских сайтов - стоит только одному порталу выложить ссылку на продукт, как она тут же распространяется по всем доступным ресурсам Интернета. Отрубишь одну голову, две другие займут ее место (с). Да и защита интеллектуальной собственности в нашей стране находится в зачаточном состоянии, поэтому какой-либо помощи ждать не приходится. Что там говорить - не только в стране, это общемировая проблема.

Да, существуют различные способы защиты авторского контента от нелегального копирования и распространения в Интернете, как в техническом плане (водяные знаки на видео, дробление его на отдельные фрагменты по примеру Vimeo, невозможность копирования или скачивания, и т.д. и т.п.), так и в правовом. Например, самостоятельное написание владельцам платформ с пиратским контентом. Некоторые из них удаляют ссылки после соответствующего запроса, а некоторые игнорируют просьбы. Тот же Яндекс игнорирует жалобы на рекламу и контент пиратских ресурсов, аргументируя это тем, что компания не влияет на органическую выдачу и не удаляет сайты из поиска, и что нужно лично писать владельцу площадки. Google в этом плане более гибок и отзывчив. Но все это дает краткосрочный эффект или не дает его вовсе. Этим и пользуются владельцы пиратских платформ.

Еще на рынке есть компании, которые занимаются оперативным удалением пиратского контента. По их заявлениям, они выполняют регулярный мониторинг подобных сайтов, выявляют нарушителей, отправляют претензии администраторам сайтов, хостинг-провайдеру и доменному регистратору, осуществляют контроль удаления нарушений, а также взаимодействуют с ФАС, прокуратурой и прочими надзорными органами. Но и здесь нельзя быть полностью уверенным в честности таких контор, поскольку есть мнения, что они сами могут создавать темы на пиратских сайтах, а потом уже оповещать об этом авторов контента. Чтобы продвигать свои услуги, сами создают проблему и потом ее решают.

Судиться? Не могу сказать, что моя деятельность сильно страдает от их действий, но и пройти мимо я тоже не могу. Не такие обороты и не такие репутационные потери, которые бывают у крупных онлайн-школ, когда их продукт сливают в сеть. Скорее, здесь больше теряет злоумышленник (=организатор), потому что у него появляется уникальная возможность "увековечить" себя на моем сайте и попасть в черный список работодателей интернет-маркетинга.

Для каждого найдется место в моем блоге

Как вы думаете, если станет известно, что человек занимается незаконным распространением чужой интеллектуальной собственности и нарушает закон, многие digital-агентства захотят сотрудничать с ним, доверять ему внутренние дела компании, базу знаний, документы? Конечно нет.

Для меня - это очередной инфоповод, возможность получить широкую огласку в определенных слоях общества, а также выпустить новый материал в блоге. Если бы я переживал за распространение, то вряд ли так бы открыто это обсуждал в своем блоге. Наоборот, имело смысл бороться с этим без всякой огласки, не создавать эффект Барбары Стрейзанд.

Тем более, что большинство слитых курсов размещены бесплатно на моих каналах YouTube и Rutube. И очень часто такие складчины создаются некомпетентными людьми, которые плохо мониторят актуальность материалов, выдавая старый контент за новый. Участники складчин не перепроверяют информацию и покупают то, что уже и так находится у меня в свободном доступе.

Поскольку полностью избавиться от этой проблемы невозможно, мне стало интересно, а что я сам могу сделать такого, что позволило бы мне оперативно находить новые складчины и мониторить переходы с пиратских сайтов. Ведь перед тем, как человек становится участником складчины, он подробно изучает материал автора, в том числе и переходит на оригинальный сайт, с которого ведется продажа онлайн-продукта. Организатор делает то же самое. Некоторые переходят с сайта складчины и осуществляют покупку. Таким образом, они оставляют след перехода с конкретного пиратского сайта (как referral):

Покупка курса после перехода с пиратского сайта

После этого я могу найти транзакцию пользователя по его идентификатору (благодаря настроенной электронной торговле), а затем посмотреть личные данные покупателя в администраторской панели или CRM - его e-mail, телефон, которые он ввел в процессе оформления заказа, страну, IP-адрес, реквизиты банка и многое другое. Я буду знать дату оплаты курса и его активность на платформе GetCourse (там размещены материалы моих онлайн-курсов). С этого момента я начну наблюдать за этим человеком и смотреть насколько осознанно и полноценно он проходит обучение.

Особенность моего обучения состоит в том, что каждый следующий урок открывается после сдачи и проверки домашнего задания предыдущего урока. Таким образом, организатор складчины ни при каких обстоятельствах не сможет получить полный доступ ко всем материалам курса после его оплаты. Ему еще нужно будет пройти курс и даже чему-то научиться.

Да, все же это не гарантия того, что человек не выложит материалы в сеть. Но как я писал выше, оказаться в черном списке и быть раскрытым публично заставляет некоторых одуматься и не совершать подобных ошибок. Бывает такое, что организатор складчины вообще никакого отношения не имеет к интернет-маркетингу, и попасть в black-list - это для него ерунда.

Но тут срабатывает другой фактор - ему придется пройти мой курс от начала и до конца, иначе он не получит все материалы и не сможет поделиться ими со всеми участниками раздачи. Такое уже было - на одной из складчин собралось более 100 человек, но организатор не смог пройти мой курс, и складчина сорвалась. Обязательства не были выполнены, а мой онлайн-курс так и не выложили в открытом доступе.

Некоторые авторы онлайн-курсов борются с таким распространением посредством установления высокой цены за свой продукт. Чем дороже курс, тем дольше будет собираться складчина, тем больше нужно участников и больше денег на выкуп.

Как разоблачить мошенника? Самое простое - это посмотреть отчет В реальном времени в Google Analytics 4:

Переход с пиратского сайта в мой блог

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

Сравнение

Если не в реальном времени, то можно посмотреть статистику в стандартных отчетах и различных Исследованиях, построить путь пользователя и воронку событий.

Другой способ - настроить в Google Analytics 4 подсказки с ежедневным мониторингом изменений показателей. Например, рост числа активных пользователей с определенных источников (пиратских площадок):

Пример подсказки

Но как это поможет в борьбе с пиратами? Полностью искоренить такую сложную проблему не получится. Да и со 100% вероятностью нельзя сказать о том, что человек, даже перешедший с пиратского сайта, после покупки будет распространять материал в Интернете. Вполне вероятно, что он покупает для личного пользования, или просто впервые познакомился с нами и нашей деятельностью на складчине. И мы настолько понравились человеку, что он перешел с пиратского сайта и совершил официальную покупку. И тогда это уже не нарушение, а скрытая реклама (спасибо складчинам за бесплатное продвижение) в нашу пользу!

Представляете, если сразу такому пользователю, перешедшему с пиратского сайта, показывать устрашающий баннер, при клике на который открывалась бы эта статья, какой был бы WOW-эффект!

Показ баннера пользователю, перешедшему с пиратского сайта

Но для собственного спокойствия и дополнительной осведомленности мы можем настроить мониторинг переходов с пиратских сайтов в Telegram со всеми подробными данными о сеансе пользователя (источник трафика, время перехода, URL-адреса просмотренных страниц, IP-адрес посетителя, был ли визит через VPN и в режиме Инкогнито, данные о покупке, включая личную информацию и все совершенные действия/события), чтобы:

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

Как только я узнаю о новой складчине, то сам становлюсь участником раздачи. Это дает мне возможность:

  • сократить период анализа и круг подозреваемых;
  • целенаправленно наблюдать за активностью пользователей, проявляющих интерес к тому или иному онлайн-курсу после перехода с пиратского сайта;
  • сохранить всю информацию о сессии такого пользователя. Если он обращается в онлайн-чат и задает наводящие вопросы по обучению, оплате, условиях прохождения и т.д. - все это дополнительно фиксировать в log-файле;
  • к такому человеку проявить дополнительное внимание после покупки - задавать больше вопросов после каждого урока, открывать уроки медленнее, если человек торопится и хочет быстро завершить курс, прометить лично такому слушателю материалы онлайн-курса (водяным знаком, зашитым кодом в какой-нибудь файл и т.д.).

Человек думает, что ему открыли точно такой же курс, как и всем, а на самом деле нет. И когда копия онлайн-продукта попадает в сеть, можно со 100% вероятностью сказать кто его распространил.

А если вы используете еще и Яндекс Метрику, то посмотреть визит такого пользователя в Вебвизоре на предмет нехарактерного движения мыши, копирования каких-то абзацев на странице сайта и прочее. Как это было в другой складчине.

И все это я покажу как настраивать далее с использованием диспетчера тегов Google. Пример оповещения "пиратского перехода" в Telegram выглядит так:

Оповещение о переходах с пиратских сайтов в Telegram

Приступаем?

Сразу же хочу отметить, что нижеприведенный способ отслеживания таких переходов не является 100% надежным, поскольку сайты умеют скрывать Referer (URL исходной страницы, с которой был осуществлен переход на текущую страницу). А именно благодаря этому функционалу мы бы отделяли переходы с пиратских сайтов от всех остальных переходов, чтобы затем отправлять такие уведомления в Telegram. Так же можно опционально запрещать/разрешать передавать реферер или делать несколько редиректов для того, чтобы реферер терялся. Некоторые владельцы пиратских площадок знают об этом и успешно пользуются.

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

В самом начале нужно определиться с итоговым результатом, какие конкретно данные вы хотите отслеживать и какие уведомления планируете отправлять в Telegram. Все события пользователя, все просмотренные страницы или только общую информацию один раз за сеанс? Нужен ли будет IP-адрес, время перехода, URL-адрес страницы входа, Client ID, географические данные, технические характеристики (браузер, модель устройства и т.д.)? Обо всех этих отслеживаниях я подробно писал в других материалах моего блога. Здесь я лишь обобщаю весь накопленный опыт и предоставляю окончательное решение.

Итак, в моем примере я буду отслеживать:

  • начало "пиратской сессии";
  • IP-адрес пользователя;
  • файлы cookie Яндекс Метрики (_ym_uid) и Google Analytics 4 (_ga). Это даст мне возможность детальнее проанализировать статистику в счетчиках аналитики, а также просмотреть визит пользователя в Вебвизоре;
  • источник перехода - откуда пользователь перешел, с какого "пиратского сайта";
  • время совершения события;
  • номер сеанса - был ли он первым, вторым, третьим или человек уже многократно посещает мой сайт;
  • страница входа (первая страница в сеансе);
  • использовал ли пользователь режим Инкогнито;
  • User-Agent;
  • географические данные (страна, город);
  • технические данные браузера и тип устройства пользователя.

Думаю, что этого будет достаточно. Вы же можете создать свою собственную конфигурацию для отправки.

Отслеживание Client ID

Дополнительные материалы по этой теме:

Самый простой способ извлечь уникальные идентификаторы пользователя для нашей системы мониторинга - создать две пользовательские переменные типа Собственный файл cookie. Одна будет иметь название _ym_uid, а другая _ga. Для Яндекс Метрики и Google Analytics 4 соответственно.

Переменные для извлечения Client ID

Сохраните две переменные.

Время совершения события

Дополнительные материалы по этой теме:

Для отслеживания времени совершения нужного нам события проще всего использовать нижеприведенный код и пользовательскую переменную типа Собственный код JavaScript:

В Google Tag Manager это будет выглядеть так:

Время совершения события

Сохраните переменную.

Или еще проще код:

Номер сеанса пользователя

Дополнительные материалы по этой теме:

Номер сеанса легко определить с помощью кода ниже, который вам необходимо добавить в новую переменную типа Собственный код JavaScript:

В Google Tag Manager это будет выглядеть так:

Определение номера сеанса

Сохраните переменную.

Отслеживание User-Agent

Дополнительные материалы по этой теме:

Настройка с помощью GTM еще проще, потому что нужно создать пользовательскую переменную типа Переменная JavaScript и добавить только navigator.userAgent в качестве имени глобальной переменной:

User-Agent пользователя

Сохраните переменную.

Режим Инкогнито

Для определения режима Инкогнито воспользуйтесь этим руководством. В нем подробно описаны все шаги настройки. Краткая настройка:

  • создается тег типа Пользовательский HTML с подключением DetectIncognito.js

Тег "Пользовательский HTML"

В качестве триггера активации можно задать Инициализация (Initialization). Сохраните тег.

  • создаются две пользовательские переменные типа Переменная уровня данных - isPrivate (был ли заход из Инкогнито или нет) и browserName (название браузера).

Переменные уровня данных

Сохраните переменные.

Определение IP-адреса

Дополнительные материалы по этой теме:

Современные браузеры по соображениям безопасности запрещают веб-сайтам напрямую доступ к IP-адресу пользователя. Это сделано для защиты конфиденциальности пользователей. В связи с этим невозможно напрямую отслеживать IP-адрес пользователя только с помощью JavaScript на стороне клиента. Альтернативные решения - использовать сторонние API или отслеживать IP-адрес на стороне сервера. Об этих примерах как раз и описывается в вышеприведенных статьях.

Но вы можете попробовать обратиться за помощью к нейросети (ChatGPT, Gemini, YandexGPT, DeepSeek, Google AI Studio, GigaChat и др.). В этой статье своего блога я как раз просил у Gemini и ChatGPT написать мне код для Google Tag Manager по определению IP-адреса пользователя. Вопрос звучал так: Напиши мне JavaScript код на ECMAScript ниже 2015, который бы позволил отслеживать IP-адрес пользователя на сайте, и чтобы это значение сохранялось в глобальной переменной JavaScript.

DeepSeek мне ответил очень похоже:

Определение IP-адреса от DeepSeek

Поэтому можно воспользоваться текущим решением и добавить в отдельный тег типа Пользовательский HTML нижеприведенный код:

В Google Tag Manager это будет выглядеть так:

Пользовательский HTML тег

В качестве триггера активации задайте Инициализация (Initialization). Сохраните тег.

Значение IP-адреса будет храниться в глобальной переменной userIP. Для его извлечения и передачи в Google Analytics 4 создайте пользовательскую переменную типа Переменная JavaScript с этим именем:

Переменная JavaScript

Сохраните переменную.

Географические данные (страна, город)

Дополнительные материалы по этой теме:

Для определения географических данных пользователя на сайте можно воспользоваться несколькими способами:

  • API геолокации (cовременные браузеры поддерживают API геолокации, который позволяет получить координаты пользователя (широту и долготу);
  • сторонние сервисы (API от ipinfo.io, ipapi.com или других провайдеров, в моем блоге есть статья по сервису ipgeolocation.io);
  • библиотека GeoIP (если вы хотите использовать серверное решение, можно интегрировать библиотеку GeoIP, которая определяет местоположение по IP-адресу. Это может быть более надежным и не требует разрешения от пользователя на доступ к геолокации).

Примечание: определение географических данных всегда является приблизительным, поэтому не ждите от такой настройки точности.

К сожалению, ни я, ни нейросети не знают бесплатных решений, где бы не требовалась регистрация и получение токенов. Все обращения к API являются платными, такие SaaS-решения стоят денег. Поэтому вы можете пропустить этот шаг и не повторять за мной текущее отслеживание, а можете создать аккаунт на ipgeolocation.io, получить ключ API и воспользоваться готовым шаблоном тега Симо Ахавы (Simo Ahava).

В результате вы должны получить тег примерно с такими настройками:

Тег "IP Geolocation API"

В качестве триггера активации задайте Инициализация (Initialization) и конкретизируйте его дополнительным условием. Поскольку мы будем отслеживать только переходы пользователей с пиратских сайтов, мы можем активировать тег когда встроенная переменная Referrer содержит один из представленных вариантов:

Вы можете составить свой список и перечислить домены пиратских сайтов с использованием регулярного выражения и указав лишь часть URL-адреса, а не весь домен или ссылку. И поможет вам в этом ваши Яндекс Метрика или Google Analytics 4. Просто посмотрите статистику за предыдущие периоды. Вероятно, ваш счетчик аналитики уже зарегистрировал различные источники трафика с пиратских сайтов. Возьмите этот список за основу.

Триггер инициализации с условием по Referrer

Сохраните тег.

Создайте две пользовательских переменных типа Переменные уровня данных. Одна - geoData.city (для определения города), а другая - geoData.country_name (для определения страны):

Переменные уровня данных

Если вы будете использовать сервис IP Geolocation, то он также определяет IP-адрес пользователя, поэтому отдельную настройку выше можно не выполнять. Просто создайте еще одну переменную уровня данных с именем переменной уровня данных geoData.ip.

На бесплатном тарифе ipgeolocation.io предоставляет 1000 запросов к API ежедневно (в месяц - 30 000). Этого должно хватить для нашей задачи.

Тип устройства пользователя

Дополнительные материалы по этой теме:

Для определения типа устройства пользователя (desktop, tv, mobile, tablet) можно использовать библиотеку UAParser.js, которая анализирует User-Agent строку браузера. Эта библиотека бесплатна, не требует регистрации или токенов, и работает на чистом JavaScript.

Создайте еще один тег типа Пользовательский HTML и вставьте тут следующий код:

К слову, скрипт выше любезно предоставил все тот же DeepSeek. В Google Tag Manager это будет выглядеть так:

Пользовательский HTML тег

В качестве триггера активации задайте Инициализация (Initialization). Сохраните тег.

После этого создайте пользовательскую переменную типа Переменная JavaScript. Задайте имя глобальной переменной userDeviceType:

Переменная JavaScript

Если вы не хотите использовать стороннюю библиотеку, можно анализировать User-Agent вручную. Однако это менее надежно и требует больше кода:

Однако в таком способе есть ряд недостатков:

  • ручной анализ User-Agent менее точен, чем использование библиотеки UAParser.js;
  • User-Agent строки могут быть изменены или подделаны.
Источник перехода и страница входа

Дополнительные материалы по этой теме:

Если вы хотите отправлять в Telegram источник перехода и первый просмотр страницы начала сессии пользователя, то для этого можно использовать встроенный функционал самого Google Tag Manager, а именно:

  • встроенную переменную Page URL - текущая страница, на которую приземлился пользователь (будет страницей входа);
  • встроенную переменную Referrer - полный URL перехода к текущей странице, то есть путь (ссылка) откуда пришел пользователь на текущую страницу (будет источником перехода).

Именно Referrer пиратского сайта будет передаваться с первым событием просмотра страницы page_view. С этим условием мы создадим окончательный триггер, который будет активировать тег и передавать данные в Telegram. Но об этом чуть позже.

Создание Telegram-бота

Дополнительные материалы по этой теме:

Следующий этап настройки - создание бота Telegram. Для удобства работы и тестирования установите десктопную версию Telegram.

Чтобы создать телеграм-бота, вам необходимо найти самого главного - @botfather (с галочкой):

Главный бот BotFather

Нажмите на кнопку Start или введите /start:

Команда Start

Вы увидите список команд для создания бота или управлениями текущими (уже созданными):

Команды для бота

В списке есть команда /newbot. Данная функция позволяет создать нового бота. Вы можете прописать эту команду вручную в поле отправки сообщения или просто нажать на эту команду в списке:

Команда /newbot

Придумайте имя для бота и нажмите Enter (в моем примере -  mypiratebot):

Название Telegram-бота

На следующем шаге выберете логин (username) для вашего бота. Он должен заканчиваться на bot. Например: TetrisBot или tetris_bot (в моем примере - pirate_push_bot):

Логин (username) Telegram-бота

Если логин занят, вам придет уведомление: Sorry, this username is already taken. Please try something different. Вам нужно будет придумать другой username для своего бота.

Сохраните токен, который бот вам пришлет в ответном сообщении. Он понадобится вам в дальнейшем:

Токен

Затем следует активировать бота. Чтобы это сделать, вам нужно найти его в поиске Telegram и нажать на Start:

Активация Telegram-бота

Теперь необходимо получить chat id. Вставьте в браузер ссылку:

, где XXXXXXXXXXXXXXXXXX – ваш токен.

Первый результат в браузере должен быть примерно такой:

Первый результат в браузере

Как видите, chat id не отобразился. Попробуйте в своем боте написать любое сообщение и отправить его.

Отправьте любое сообщение в чат своего бота

А затем вернитесь назад и повторите действия в браузере. Так вы запустите созданного бота и должны увидеть chat id:

Получение chat id

Сохраните chat id (в моем примере - 49472219). Он понадобится вам в дальнейшем. На этом настройка Telegram-бота завершена.

Добавление кода в редактор скриптов

Перейдите в Google Таблицы по https://docs.google.com/spreadsheets/u/0/ и создайте новую таблицу. Откройте меню Расширения – Apps Script:

Расширения – Apps Script

Добавьте этот код в редактор, удалив предварительно все лишнее:

В переменную botId добавьте свой токен, который вы получили при создании бота. В переменную chatId вставьте chat id, который вы получили когда вставляли в браузер ссылку. Одинарные кавычки с двух сторон должны быть.

botId и chatId

Важное в этом коде - это конструкция после var response =, в которой объявляются все нужные переменные для передачи информации о пользователе - источник перехода, время события, номер сеанса, страница входа, Client ID, IP-адрес и т.д. В зависимости от того, какое количество данных вы будете передавать, то количество полей здесь вы и оставляете.

После этого нажмите на кнопку Начать развертывание – Новое развертывание:

Начать развертывание – Новое развертывание

В открывшемся окне выберите тип Веб-приложение:

Тип - Веб-приложение

В настройках укажите:

  • Запуск от имени - От моего имени
  • У кого есть доступ - Все

Настройки веб-приложения

В завершение нажмите кнопку Начать развертывание. Вас попросят предоставить разрешение для доступа к данным Google. Сделайте это:

Предоставление доступов

Вам откроется новое окно. Поскольку приложение будет еще не проверено, то вы увидите предупреждение о небезопасности его использования. Игнорируйте его и просто перейдите на страницу проекта:

Перейти на страницу проекта

Далее разрешаете доступ к аккаунту Google. На заключительном шаге вы получите ссылку вида https://script.google.com/macros/..., которую нужно скопировать:

Скопируйте ссылку URL

Заключительный тег в Google Tag Manager

Вернитесь в диспетчер тегов Google и создайте новый тег типа Пользовательский HTML. Вставьте в него нижеприведенный код:

, где:

  • вместо значений Источник перехода, Время события, Номер сеанса, Страница входа, Client ID ЯМ, Client ID GA4, IP-адрес пользователя, Браузер, User-Agent, Инкогнито, Страна, Город, Тип устройства вы должны указать ваши переменные, которые вы создавали на предыдущих шагах;
  • для переменной webhookUrl укажите URL вашего веб-приложения (ссылку https://script.google.com/macros/...).

Код HTML для моего примера будет выглядеть примерно так:

Итоговый тег для отправки данных в Telegram

В качестве триггера активации задайте Окно загружено (Window Loaded) и конкретизируйте его дополнительным условием. Поскольку мы будем отправлять данные в Telegram только после перехода пользователей с пиратских сайтов, мы можем активировать тег когда встроенная переменная Referrer содержит один из представленных вариантов:

Вы можете составить свой список и перечислить домены пиратских сайтов с использованием регулярного выражения и указав лишь часть URL-адреса, а не весь домен или ссылку. Точно так же, как это делали ранее (см. выше).

Триггер с условием по Referrer

Итоговый код тега:

Итоговый тег оповещения о переходах с пиратских сайтов в Telegram

Сохраните тег.

Проверка настроек

Для проверки всех выполненных настроек опубликуйте контейнер Google Tag Manager. После этого перейдите на пиратский сайт и оттуда зайдите к себе на сайт, чтобы источником перехода был сайт с доменом из списка, активирующем тег отправки данных в Telegram.

Если вы все сделали правильно и все переменные, которые вы создали ранее, принимают нужные значения, в своем боте Telegram вы увидите финальное уведомление:

Оповещение о переходе с пиратского сайта в Telegram

Итоги

Впечатлены? Безусловно! Самое удивительное заключается в том, что процесс настройки для любого другого оповещения в Telegram (например, для мониторинга 404 ошибок, падении сайта, редиректов и прочее) выполняется по тем же сценариям, и даже проще, потому что не нужно отслеживать столько много параметров.

В рамках только одного руководства мы с вами научились отслеживать:

  • IP-адрес пользователя;
  • файлы cookie Яндекс Метрики (_ym_uid) и Google Analytics 4 (_ga);
  • источник перехода по Referrer - откуда пользователь перешел, с какого "пиратского сайта";
  • время совершения события;
  • номер сеанса;
  • страница входа (страница приземления);
  • использовал ли пользователь режим Инкогнито;
  • User-Agent;
  • географические данные, включая страну и город);
  • технические данные браузера и тип устройства пользователя.

А также:

  • создавать бота в Telegram;
  • получать токен и нужные данные, включая chat id;
  • создавать веб-приложение и развертывать его в редакторе скриптов (Apps Script);
  • формировать и передавать запросы методом doPost.

Теперь у вас есть мощный инструмент по мониторингу и контролю за пиратским трафиком. И все это благодаря нейросетям, JavaScript и Google Tag Manager!

Но в этом решении есть и несколько недостатков. Во-первых, множество различных скриптов и неверная настройка может привести к падению всего сайта, поскольку каждый новый код несет дополнительную нагрузку на хостинг и ваши сервера. Поэтому перед тем, как выполнять все вышеприведенные отслеживания, подумайте несколько раз. Либо же используйте отслеживания на стороне сервера (где это возможно), либо же не используйте что-то из списка вовсе.

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

Ну и, конечно же, ключевой триггер на тег HTML, отправляющий данные в Telegram, активируется по Referrer и списку, содержащему домены пиратских сайтов. А как я уже писал в самом начале руководства, некоторые сайты умеют скрывать реферер. Еще можно опционально запрещать/разрешать передавать реферер или делать несколько редиректов для того, чтобы реферер терялся. Владельцы пиратских площадок знают об этом и успешно пользуются. Поэтому не всегда получается корректно отследить источник перехода с такой площадки.

Пожалуйста, учитывайте все эти нюансы до настройки оповещений!

Получайте бесплатные уроки и фишки

По контекстной, таргетированной рекламе и аналитике