60sec+Scroll.js
8.6 KB
60 сек + Scroll
Мой вариант нашумевшего скрипта 60 сек, который использую повсеместно на сайтах. Отличается от исходного внедрением фишки позволяющей отслеживать факт прокрутки страницы до определенной величины.
Помимо стандартных целей: 60sec, 90sec .... теперь доступны 60sec_70scroll, 90sec_70scroll ...
Величина вертикальной прокрутки, в % до которой должна быть прокручена страница для начала отработки целей задаётся в настройках.
Мой вариант нашумевшего скрипта 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, а не сопутствующий текст.
Этот скрипт отслеживает копирование e-mail на веб-странице.
Когда пользователь копирует e-mail из текста или ссылки, на странице, скрипт определяет способ копирования (выделение и использование комбинации клавиш Ctrl + C или использование контекстного меню) и вызывает срабатывание цели в Яндекс Метрике, используя идентификатор цели, указанный в настройках. Кроме того, скрипт может настраиваться для разделения цели на три отдельных события, соответствующих разным способам копирования e-mail. Также можно настроить жесткий режим, когда скрипт срабатывает только в том случае, если в буфере обмена находится только e-mail, а не сопутствующий текст.
👍10🔥1
single_hitting_goal.js
1.9 KB
Однократное срабатывание цели
Этот скрипт можно использовать в магазинах, для защиты от любителей делать несколько заказов. Хотя и для любых форм попрёт.
В настройках выставляется период в течении которого все повторные цели не срабатывают. Цель однократно отрабатывает, сей факт записывается в cookies. Повторное срабатывание цели возможно по истечении периода заданного в настройках.
Этот скрипт можно использовать в магазинах, для защиты от любителей делать несколько заказов. Хотя и для любых форм попрёт.
В настройках выставляется период в течении которого все повторные цели не срабатывают. Цель однократно отрабатывает, сей факт записывается в cookies. Повторное срабатывание цели возможно по истечении периода заданного в настройках.
🔥10
good_platforms_v1.2.js
3.9 KB
GOOD PLATFORMS v1.2
Скрипт вызывает срабатывание цели при соответствии UTM Source метки или Referer заранее определённому списку.
Это немного усовершенствованная версия, в отличие от первого варианта, выложенного у Вячеслава Федорова тута. По-мимо реферера в этом варианте проверяется и параметр source в ссылке, через который Директ передаёт в адресной строке источник перехода. Это позволяет отслеживать не только переходы с сайтов, но и из приложений. Видео настройки и использования скрипта можно посмотреть у Бориса Синдянкина тута
UPD: 26.04.23
Скрипт вызывает срабатывание цели при соответствии UTM Source метки или Referer заранее определённому списку.
Это немного усовершенствованная версия, в отличие от первого варианта, выложенного у Вячеслава Федорова тута. По-мимо реферера в этом варианте проверяется и параметр source в ссылке, через который Директ передаёт в адресной строке источник перехода. Это позволяет отслеживать не только переходы с сайтов, но и из приложений. Видео настройки и использования скрипта можно посмотреть у Бориса Синдянкина тута
UPD: 26.04.23
🔥8👍2
Борьба со "злым заявочником"
Есть 2 способа борьбы со "злыми заявочниками" на ОЗК, зная их clientID.
1. Через Сегмент Метрики и отключение рекламы. Способ хорошо известный, когда создаётся сегмент метрики, добавляются в него все clientID скликеров и потом в рекламной компании делается корректировка -100% на этот сегмент. Реклама скликеру показываться перестаёт. Но, не факт, что скликер не сможет пройти на сайт по какой-нибудь старой рекламной ссылке и не будет долбать заявками или увидит, что его забанили и не сменит браузер (поменяет clientID)
2. Через запрет выполнения Цели. Способ для тех кто умеет вручную прописывать цели и подвязывать их к событиям на сайте (кликам, сабмитам и т.п.). Смысл прост: рекламу мы плохим clientID не отрубаем, а продолжаем показывать, "злой заявочник" её видит, продолждает оставлять заявки, но цель не срабатывает и деньги с баланса у вас не списываются.
Пример реализации 2-го способа в комменте, в прикреплённом текстовике.
Не один из способов, Вас конечно не спасёт от "злого и одновременно хитрого заявочника", но от простого баловства конкурентов поможет.
P.S. А вообще clientID от Яндекса и нормальный Fingerprint (браузерный отпечаток) это как огонь и вода. Вот реализовал бы Яндекс технологию Fingerprint в метрике это бы спасло многих. Но к сожалению основная задача Яши — продажа рекламы, а не борьба со скликерами.
Есть 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
Скрипт вызывает срабатывание цели если через 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
Скрипт вызывает срабатывание цели если у посетителя нужная Вам операционная система или Браузер.
Хочешь платить только за тех кто с 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 сек, после загрузки страницы сайта.
Да, везде бывают лаги и гребаные глюки. Это касается и скриптов в этом канале и любых других взаимодействующих с метрикой и любой аналитикой. Например, бывают такие случаи когда скрипты написанные для отправки событий не срабатывают, по причине не успевания за метрикой.
Простыми словами - метрика ещё не прогрузилась, а скрипт уже запустился и отработал. В этом случае цели не срабатывают.
Почему такое происходит?
Вариантов масса, но самый распространённый один - когда вы вставляете скрипты и по коду 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
Как передавать IP адрес посетителя в метрику?
В метрику можно передавать любые пользовательские параметры, например IP адрес.
Есть 3 (с половинкой) способа:
1.) С изменением кода метрики и добавлением PHP вставки с передачей IP адреса, определяемого вашим сервером (сработает если дружите с разработчиком сайта):
До кода метрики на сайт внедряется скрипт, который определяет IP и затем через параметр {ip: userip} передаётся в метрику:
Основан на API сайта ipify.org
Третий вариант наиболее простой если вы используете GTM и например сайт у вас на Тильде или нет доступа к исходникам, или разработчик сайта тот ещё засранец и забил на ваши просьбы. Способ для тех кто хочет просто вставить код через GTM с минимальными движениями и забыть.
Настройка скрипта минимальна: вставляем номер счётчика, оборачиваем тело скрипта в теги <script></script> и добавляем в GTM через Пользовательский тег HTML с тригером на All Pages.
Сам скрипт прикреплён в предыдущем посте.
P.S. В вебвизоре метрики не забываем добавить колонку с Параметрами посетителя.
В метрику можно передавать любые пользовательские параметры, например IP адрес.
Есть 3 (с половинкой) способа:
1.) С изменением кода метрики и добавлением PHP вставки с передачей IP адреса, определяемого вашим сервером (сработает если дружите с разработчиком сайта):
..//..//..2.) С изменением кода метрики и определением IP адреса с помощью внешнего API, например, через l2.io
ym(XXXXXXXX, "init", {
clickmap:true,
trackLinks:true,
params:{ip: "<? echo $_SERVER['REMOTE_ADDR']; ?>"},
accurateTrackBounce:true,
webvisor:true
});
..//..
До кода метрики на сайт внедряется скрипт, который определяет IP и затем через параметр {ip: userip} передаётся в метрику:
<!-- получаем ip адрес -->Этот же 2-ой вариант можно сделать напрямую в GTM, через Пользовательский тег HTML с тригером на All Pages, например так:
<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
});
..//..//..
<!-- получаем ip адрес -->3.) Без изменения кода метрики, с помощью подключения JS скрипта через GTM или напрямую через код сайта:
<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>
Основан на 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
Как известно с октября 2022 на сайте Wordstat пропал выбор регионов.
Многие тогда начали рвать волосы на причинном месте, но оказалось не всё так страшно и Яндекс просто скрыл регионы.
Вроде как единственная поделка позволяющая боле мене пользоваться Wordstat была придумана вот этим пареньком https://alaev.info через это расширение, которое подгружает на страницу Wordstat дополнительную панельку. Вполне кстати сносно и можно юзать. За ссыль спасибо @ngl1989. Но раньше всё же было удобнее, поэтому я решил немного покопаться и разобраться можно ли вернуть всё как было.
И оказалось, что можно.
Набросал сегодня простое расширение для Chrome и подобных, так что ставьте и юзайте.
Установка простая:
1) Распаковываем zip архив в любую папку
2) Идём в Дополнительные инструменты->Расширения
3) Жмём по кнопке "Загрузить распакованное расширение"
4) Указываем путь, до разархивированного архива и жмём "Выбрать папку"
https://disk.yandex.ru/d/rCVTLOzkR162Lg
🔥13👍8❤2
Кому нужно было расширение Yandex Wordstat Regions для Firefox ловите:
https://addons.mozilla.org/ru/firefox/addon/yandex-wordstat-regions/
Для Оперы и Яндекс.Браузера тоже скоро будет доступно в Магазине расширений.
Очень уж долго местные модераторы проверяют код.
https://addons.mozilla.org/ru/firefox/addon/yandex-wordstat-regions/
Для Оперы и Яндекс.Браузера тоже скоро будет доступно в Магазине расширений.
Очень уж долго местные модераторы проверяют код.
addons.mozilla.org
Yandex Wordstat Regions – Загрузите это расширение для 🦊 Firefox (ru)
Загрузить Yandex Wordstat Regions для Firefox. Расширение, возвращает полное дерево регионов РФ в сервис подбора слов Яндекс (wordstat)
🔥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
В последней прожарке был вопрос по определению версий операционной системы и браузера и использованию их как целей.
Для реализации подобного лучше использовать специализированные скрипты 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/
https://addons.opera.com/ru/extensions/details/yandex-wordstat-regions/
Дополнения Opera
Yandex Wordstat Regions
Расширение, возвращает полное дерево регионов РФ в сервис подбора слов Яндекс (wordstat)
👍13🔥3