Сейчас в сети: 487
Вопросы настройки тегов, правила и макросы, администрирование GTM
Подсказки
star_border
Ответить

Несколько ajax форм на лендинге. Настроить цели отправки формы в GTM.

Студент ✭

Здравствуйте. Помогите, пожалуйста. На лендинге много форм, которые обрабатывает один js-код. У форм одинаковые id, class и прочее. Разница только в самом названии. Тексту названия присвоена переменная value. Как я только не пихаю в GTM настройки триггера по тексту формы или элементу формы равно "название", в Метрике цели не отображаются. Помогите, пожалуйста. 

Подробности, какие нужны, все предоставлю.

 

 

1 Ответ экспертаverified_user

Утвержденные решения
Лучший ответ.
Решение
Утвердил автор темы Алена Л
Май

Несколько ajax форм на лендинге. Настроить цели отправки формы в GTM.

Ведущий участник

по вашей реализации в value всегда будет последнее значение.

В файле http://www.seo.web-sphera.ru/js/common.js после строки var error = false; напишите:
var formname = $(this).find("#headform").val();
Перед строкой alert("Заявка успешно отправлена!");
dataLayer.push({'event': 'formSent', 'value': formname});



Просмотреть решение в исходном сообщении


Все ответы

Несколько ajax форм на лендинге. Настроить цели отправки формы в GTM.

Ведущий участник

Добрый день

Лучшая из всех подробностей - ссылка на страницу

Несколько ajax форм на лендинге. Настроить цели отправки формы в GTM.

Студент ✭

Это ссылка на страницу:
http://www.seo.web-sphera.ru/

 

Это как настроен js-скрипт
http://prntscr.com/f4gycq

 

Когда настроила первые три цели, все работало (кроме корректного времени). Потом подгрузила аналогично оставшиеся цели, стало работать так: какую форму ни отправляй, пишет, что выполнено условие последней формы. И все цели считает в последнюю форму.

 

Вот так выглядит debug после тестовой отправки вообще другой формы. Последнюю форму с value="Форма контакты" я удалила из GTM. Теперь меня перебрасывает на ставшую теперь последней форму с value="Узнать больше". 
http://prntscr.com/f4h0t5

Лучший ответ.
Решение
Утвердил автор темы Алена Л
Май

Несколько ajax форм на лендинге. Настроить цели отправки формы в GTM.

Ведущий участник

по вашей реализации в value всегда будет последнее значение.

В файле http://www.seo.web-sphera.ru/js/common.js после строки var error = false; напишите:
var formname = $(this).find("#headform").val();
Перед строкой alert("Заявка успешно отправлена!");
dataLayer.push({'event': 'formSent', 'value': formname});



Несколько ajax форм на лендинге. Настроить цели отправки формы в GTM.

Студент ✭

Андрей, все поставила, как Вы сказали, но не заработало. Debug вообще не видит сработавшего тега. Скажите, может, в Tag manager что не так? 

1. Создаю переменную уровня данных. Называю ее "formname".

http://prntscr.com/f63u5e

2. Cоздаю триггеры пользовательское событие с именем formSent под количество форм. В каждом триггере прописываю условие formname равно [текст на форме, который выводится в коде для value].

http://prntscr.com/f63vtw

3. Создаю тег Пользовательский html c вот таким скриптом и идентификатором Яндекс.Метрики.

http://prntscr.com/f63wod

 

 

Несколько ajax форм на лендинге. Настроить цели отправки формы в GTM.

Ведущий участник

При отправке формы проверьте, возникает ли событие formSent

Несколько ajax форм на лендинге. Настроить цели отправки формы в GTM.

Студент ✭

Нет. Я и говорю, что событие не засчитывается. Вот ссылка на просмотр

https://www.googletagmanager.com/set_cookie?uiv2&id=GTM-T399QHB&gtm_auth=j2V7CTem8MhZJF5QUvwoSQ&gtm_...

 

В js-коде так: 

http://prntscr.com/f66hgh

http://prntscr.com/f66i1x

 

Несколько ajax форм на лендинге. Настроить цели отправки формы в GTM.

Ведущий участник

formname в js коде должно быть без кавычек 

Несколько ajax форм на лендинге. Настроить цели отправки формы в GTM.

Студент ✭

Так было без кавычек, не работало. Потом попробовали с кавычками. Сейчас снова их сняли. Не работает. Никак не видит свершившееся событие.

Несколько ajax форм на лендинге. Настроить цели отправки формы в GTM.

Ведущий участник

будем последовательно Веселый
сейчас данные попадают в GTM

Дальше: переменная уровня данных неправильно задана. Укажите "value" в имени переменной уровня данных