Ларчик просто открывался
215 subscribers
2 photos
8 files
6 links
Всякая полезная херня, может и вправду пригодиться. 😜🐞🦗

Чат @redcasket_chat
Download Telegram
60sec+Scroll.js
8.6 KB
60 сек + Scroll

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

Помимо стандартных целей: 60sec, 90sec .... теперь доступны 60sec_70scroll, 90sec_70scroll ...

Величина вертикальной прокрутки, в % до которой должна быть прокручена страница для начала отработки целей задаётся в настройках.
🔥10👍2
email_copy_event.js
3.5 KB
Email Copy Event

Этот скрипт отслеживает копирование e-mail на веб-странице.

Когда пользователь копирует e-mail из текста или ссылки, на странице, скрипт определяет способ копирования (выделение и использование комбинации клавиш Ctrl + C или использование контекстного меню) и вызывает срабатывание цели в Яндекс Метрике, используя идентификатор цели, указанный в настройках. Кроме того, скрипт может настраиваться для разделения цели на три отдельных события, соответствующих разным способам копирования e-mail. Также можно настроить жесткий режим, когда скрипт срабатывает только в том случае, если в буфере обмена находится только e-mail, а не сопутствующий текст.
👍10🔥1
single_hitting_goal.js
1.9 KB
Однократное срабатывание цели

Этот скрипт можно использовать в магазинах, для защиты от любителей делать несколько заказов. Хотя и для любых форм попрёт.

В настройках выставляется период в течении которого все повторные цели не срабатывают. Цель однократно отрабатывает, сей факт записывается в cookies. Повторное срабатывание цели возможно по истечении периода заданного в настройках.
🔥10
good_platforms_v1.2.js
3.9 KB
GOOD PLATFORMS v1.2

Скрипт вызывает срабатывание цели при соответствии UTM Source метки или Referer заранее определённому списку.

Это немного усовершенствованная версия, в отличие от первого варианта, выложенного у Вячеслава Федорова тута. По-мимо реферера в этом варианте проверяется и параметр source в ссылке, через который Директ передаёт в адресной строке источник перехода. Это позволяет отслеживать не только переходы с сайтов, но и из приложений. Видео настройки и использования скрипта можно посмотреть у Бориса Синдянкина тута

UPD: 26.04.23
🔥8👍2
Борьба со "злым заявочником"

Есть 2 способа борьбы со "злыми заявочниками" на ОЗК, зная их clientID.

1. Через Сегмент Метрики и отключение рекламы. Способ хорошо известный, когда создаётся сегмент метрики, добавляются в него все clientID скликеров и потом в рекламной компании делается корректировка -100% на этот сегмент. Реклама скликеру показываться перестаёт. Но, не факт, что скликер не сможет пройти на сайт по какой-нибудь старой рекламной ссылке и не будет долбать заявками или увидит, что его забанили и не сменит браузер (поменяет clientID)

2. Через запрет выполнения Цели. Способ для тех кто умеет вручную прописывать цели и подвязывать их к событиям на сайте (кликам, сабмитам и т.п.). Смысл прост: рекламу мы плохим clientID не отрубаем, а продолжаем показывать, "злой заявочник" её видит, продолждает оставлять заявки, но цель не срабатывает и деньги с баланса у вас не списываются.

Пример реализации 2-го способа в комменте, в прикреплённом текстовике.

Не один из способов, Вас конечно не спасёт от "злого и одновременно хитрого заявочника", но от простого баловства конкурентов поможет.

P.S. А вообще clientID от Яндекса и нормальный Fingerprint (браузерный отпечаток) это как огонь и вода. Вот реализовал бы Яндекс технологию Fingerprint в метрике это бы спасло многих. Но к сожалению основная задача Яши — продажа рекламы, а не борьба со скликерами.
🔥13
good_keywords_v1.2.js
3.6 KB
GOOD KEYWORDS v1.2

Скрипт вызывает срабатывание цели если через utm_term передался ключ, присутствующий в списке ключевых слов, заложенных в скрипте. Сам параметр utm_term перед сверкой со списком чистится на предмет наличия символов +- и тех которые заложите в настройках.

Установка, по аналогии с GOOD_PLATFORMS. Если ставим через GTM не забываем обернуть тело скрипта в теги "<script>тут тело скрипта</script>"

UPD: 26.04.2023
👍7
browser_os_goals_v1.2.js
7.1 KB
OS Browser & Platform Goal v1.2

Скрипт вызывает срабатывание цели если у посетителя нужная Вам операционная система или Браузер.

Хочешь платить только за тех кто с iOS, делай цель с идентификатором iOS😉

P.S. Наиболее удобно использовать все скрипты в канале в соcтавных целях, например 60sec + iOS, good_platforms + iOS

UPD: 26.04.23
👍8🔥5
Когда лаги не дают покоя

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

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

Почему такое происходит?

Вариантов масса, но самый распространённый один - когда вы вставляете скрипты и по коду HTML страницы они оказываются выше чем код метрики. Например GTM инициализируется вставкой кода между <head></head> и вначале <body>, а код метрики у вас вставлен позже, или вообще некоторые его добавляют в подвал сайта перед закрывающим </body>.

Происходит следующее: вначале грузятся скрипты через GTM а потом параллельно начинает инициализацию метрика, и кто успел тот и прав. Загрузилась быстрее метрика - цели из скриптов отработали. А были быстрее скрипты, метрика получила фигу.

Как можно решить проблему:

1.) Запускать все скрипты с задержкой, например в 3-5 сек, после загрузки страницы сайта.

document.addEventListener('DOMContentLoaded', function() {
setTimeout(function() {
/***/
/* тут тело скрипта */
/***/
}, 3000); /* Задержка запуска 3 секунды */
}, false);

2.) Использовать тригерный параметр самой метрики triggerEvent: true

..//..
ym(XXXXXXXX, "init", {
clickmap:true,
trackLinks:true,
accurateTrackBounce:true,
webvisor:true,
triggerEvent: true
});
..//..

Т.е. в код инициализации метрики добавляется тригерный параметр, который активирует событие с признаком готовности счетчика.

document.addEventListener('yacounterXXXXXXXXinited',function(){
/***/
/* тут тело скрипта */
/***/
});

В скриптах выложенных на канале я использую 1-ый метод с задержкой, но если у Вас он лагает, думаю не составит сложности переключится на 2-ой.
👍10
user_ip_for_metrika_v1.0.js
1.3 KB
Скрипт передаёт IP адрес в метрику
👍3
Как передавать IP адрес посетителя в метрику?

В метрику можно передавать любые пользовательские параметры, например IP адрес.

Есть 3 (с половинкой) способа:

1.) С изменением кода метрики и добавлением PHP вставки с передачей IP адреса, определяемого вашим сервером (сработает если дружите с разработчиком сайта):

..//..//..
ym(XXXXXXXX, "init", {
clickmap:true,
trackLinks:true,
params:{ip: "<? echo $_SERVER['REMOTE_ADDR']; ?>"},
accurateTrackBounce:true,
webvisor:true
});
..//..

2.) С изменением кода метрики и определением IP адреса с помощью внешнего API, например, через l2.io

До кода метрики на сайт внедряется скрипт, который определяет IP и затем через параметр {ip: userip} передаётся в метрику:

<!-- получаем ip адрес -->
<script type="text/javascript">var userip;</script>
<script type="text/javascript" src="https://www.l2.io/ip.js?var=userip"></script>

<!-- подключаем метрику -->
..//..//..
ym(XXXXXXXX, "init", {
clickmap:true,
trackLinks:true,
params:{ip: userip},
accurateTrackBounce:true,
webvisor:true
});
..//..//..

Этот же 2-ой вариант можно сделать напрямую в GTM, через Пользовательский тег HTML с тригером на All Pages, например так:

<!-- получаем ip адрес -->
<script type="text/javascript">var userip;</script>
<script type="text/javascript" src="https://www.l2.io/ip.js?var=userip"></script>
<!-- передаём параметр в подгруженную метрику -->
<script>
setTimeout(function() {
if (!sessionStorage.userip) {
ym(XXXXXXXX, 'userParams', {
IP: userip
});
sessionStorage.userip = userip;
}
console.log("IP:" + userip);
}, 3000);
</script>

3.) Без изменения кода метрики, с помощью подключения JS скрипта через GTM или напрямую через код сайта:

Основан на API сайта ipify.org

Третий вариант наиболее простой если вы используете GTM и например сайт у вас на Тильде или нет доступа к исходникам, или разработчик сайта тот ещё засранец и забил на ваши просьбы. Способ для тех кто хочет просто вставить код через GTM с минимальными движениями и забыть.

Настройка скрипта минимальна: вставляем номер счётчика, оборачиваем тело скрипта в теги <script></script> и добавляем в GTM через Пользовательский тег HTML с тригером на All Pages.

Сам скрипт прикреплён в предыдущем посте.

P.S. В вебвизоре метрики не забываем добавить колонку с Параметрами посетителя.
👍16
Yandex Wordstat Regions

Как известно с октября 2022 на сайте Wordstat пропал выбор регионов.

Многие тогда начали рвать волосы на причинном месте, но оказалось не всё так страшно и Яндекс просто скрыл регионы.

Вроде как единственная поделка позволяющая боле мене пользоваться Wordstat была придумана вот этим пареньком https://alaev.info через это расширение, которое подгружает на страницу Wordstat дополнительную панельку. Вполне кстати сносно и можно юзать. За ссыль спасибо @ngl1989. Но раньше всё же было удобнее, поэтому я решил немного покопаться и разобраться можно ли вернуть всё как было.

И оказалось, что можно.

Набросал сегодня простое расширение для Chrome и подобных, так что ставьте и юзайте.

Установка простая:
1) Распаковываем zip архив в любую папку
2) Идём в Дополнительные инструменты->Расширения
3) Жмём по кнопке "Загрузить распакованное расширение"
4) Указываем путь, до разархивированного архива и жмём "Выбрать папку"

https://disk.yandex.ru/d/rCVTLOzkR162Lg
🔥13👍82
Кому нужно было расширение Yandex Wordstat Regions для Firefox ловите:

https://addons.mozilla.org/ru/firefox/addon/yandex-wordstat-regions/

Для Оперы и Яндекс.Браузера тоже скоро будет доступно в Магазине расширений.

Очень уж долго местные модераторы проверяют код.
🔥8👍2🥰1
UA_Parser_for_Metrika_v1.2.js
26.1 KB
Скрипт детектит любую операционную систему и браузер вместе с версиями.
🔥3
UA Parser for YaMetrika 1.2 - детектим версию любой OS и браузера

В последней прожарке был вопрос по определению версий операционной системы и браузера и использованию их как целей.

Для реализации подобного лучше использовать специализированные скрипты detect.js или ua-parser.js Последнее решение обновляется почаще и детектит практически все современные браузеры, операционные системы, CPU, девайсы и т.д. Я задействовал UA Parser в новом скрипте. Скрипт позволяет установить цель на любую операционные систему, любой браузер с учетом (и без) их версии, а также передаёт данные детекта в пользовательские параметры метрики.

В общем решение специально для тех кто решил заморочиться и платить только за iOS 13 или Chrome 109 & etc

UPD: 26.04.2023
👍10
Прошло чуть больше месяца и наконец отмодерировали расширение в магазине Opera. Теперь доступно к установке как через Opera так и через Яндекс.Браузер.

https://addons.opera.com/ru/extensions/details/yandex-wordstat-regions/
👍13🔥3