Перехват метода reachGoal
Как продублировать цели из Яндекс.Метрики в Google Analytics.
Видимо функция отрабатывает раньше положенного. Добавил таймер. <script> function func (){ //счетчик попыток запуска var yCounter = 0; //функция поиска счетчика Яндекс.Метрики function ySearch(){ if (window.ym){ window.zm = window.ym; mainTagFunction(); }else if (yCounter < 100){ setTimeout(ySearch, 100); yCounter++; }else console.log('Счетчик Яндекс.Метрики не найден'); } //основная функция function mainTagFunction(){ window.ym = function(){ window.zm.a.push(arguments); if (arguments[1] === 'reachGoal') dataLayer.push({ 'event': 'metrika', 'event_param': arguments[2] }); }; } //старт функции ySearch(); }; setTimeout(func, 1000); </script> На моей стороне работает.
Проверил код, да, он блокирует отправку данных в Метрику. Это связано с тем, что у нового счетчика отличается логика работы. На новом счетчике будет работать следующий код: <script> (function(){ //счетчик попыток запуска var yCounter = 0; //функция поиска счетчика Яндекс.Метрики function ySearch(){ if (window.ym){ window.zm = window.ym; mainTagFunction(); }else if (yCounter < 100){ setTimeout(ySearch, 100); yCounter++; }else console.log('Счетчик Яндекс.Метрики не найден'); } //основная функция function mainTagFunction(){ window.ym = function(){ window.zm.a.push(arguments); if (arguments[1] === 'reachGoal') dataLayer.push({ 'event': 'metrika', 'event_param': arguments[2] }); }; } //старт функции ySearch(); })(); </script>
можете, пожалуйста, сделать скриншот тега, который дублирует событие в GA?
У меня есть подозрение, что код счетчика у вас установлен неправильный. Должно быть Window а не Wondow http://prntscr.com/oftudz Возможно проблема в этом. И сделайте, пожалуйста, на всякий случай скрин кода внутри тега.
Видимо функция отрабатывает раньше положенного. Добавил таймер. <script> function func (){ //счетчик попыток запуска var yCounter = 0; //функция поиска счетчика Яндекс.Метрики function ySearch(){ if (window.ym){ window.zm = window.ym; mainTagFunction(); }else if (yCounter < 100){ setTimeout(ySearch, 100); yCounter++; }else console.log('Счетчик Яндекс.Метрики не найден'); } //основная функция function mainTagFunction(){ window.ym = function(){ window.zm.a.push(arguments); if (arguments[1] === 'reachGoal') dataLayer.push({ 'event': 'metrika', 'event_param': arguments[2] }); }; } //старт функции ySearch(); }; setTimeout(func, 1000); </script> На моей стороне работает.
Проверил код, да, он блокирует отправку данных в Метрику. Это связано с тем, что у нового счетчика отличается логика работы. На новом счетчике будет работать следующий код: <script> (function(){ //счетчик попыток запуска var yCounter = 0; //функция поиска счетчика Яндекс.Метрики function ySearch(){ if (window.ym){ window.zm = window.ym; mainTagFunction(); }else if (yCounter < 100){ setTimeout(ySearch, 100); yCounter++; }else console.log('Счетчик Яндекс.Метрики не найден'); } //основная функция function mainTagFunction(){ window.ym = function(){ window.zm.a.push(arguments); if (arguments[1] === 'reachGoal') dataLayer.push({ 'event': 'metrika', 'event_param': arguments[2] }); }; } //старт функции ySearch(); })(); </script>
можете, пожалуйста, сделать скриншот тега, который дублирует событие в GA?
У меня есть подозрение, что код счетчика у вас установлен неправильный. Должно быть Window а не Wondow http://prntscr.com/oftudz Возможно проблема в этом. И сделайте, пожалуйста, на всякий случай скрин кода внутри тега.
У вас новый или старый счетчик Метрики? В консоли высвечивается через 10 секунд "Счетчик Яндекс.Метрики не найден"? При проверке настроек, что отображается в консоли? Желательно со ссылкой на скриншоты.
Здравствуйте! С подобным не сталкивался. В ЯМ перестают поступать данные? Есть ли ошибки в консоли?
Перехват метода reachGoal
Отлично)) Вам спасибо за бдительность)