Я создал целевую страницу с одной формой (используется дважды), где пользователь вводит свой адрес электронной почты и выбирает значение из трех переключателей. Я пытаюсь через Диспетчер тегов Google вызвать настраиваемое событие, когда после успешной отправки (оба поля обязательны) значение выбранного пользователем переключателя передается на уровень данных.
Для формы я использую плагин Wordpress, MC4WP (https://www.mc4wp.com/), чтобы его можно было интегрировать с моей учетной записью Mailchimp. Это моя разметка формы внутри плагина:
<div class="mailchimp-radio animate-top-container">
<p class="animate-top">
<label>
<input class="radio-box" name="MMERGE6" type="radio" value="iPad Pro 10.5" required >
<span>iPad Pro 10.5</span>
</label>
<label>
<input class="radio-box" name="MMERGE6" type="radio" value="iPad Pro 11" required >
<span>iPad Pro 11</span>
</label>
<label>
<input class="radio-box" name="MMERGE6" type="radio" value="iPad Air" required >
<span>iPad Air</span>
</label>
</p>
</div>
Прямо под разметкой формы я добавил следующее:
<script type="text/javascript">
jQuery('.radio-box').on('click',function(){
jQuery(this).attr('checked', 'checked');
});
mc4wp.forms.on('started', function(form) {
var radioName = "MMERGE6";
var checked = document.querySelector('[name="' + radioName + '"]:checked').value;
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({ 'event' : 'Sign-up', 'name' : form.name + ' ID: ' + form.id, 'checked' : checked});
});
</script>
Проверенная переменная - это та, которая должна возвращать значение переключателя, которое выбрал пользователь, но всегда возвращает undefined. Если я установил один переключатель как предварительно выбранный или жестко закодировал значение, проверенная переменная вернет значение.
При тестировании тег срабатывает успешно, но проверенная переменная возвращает undefined:
{
gtm: {start: 1590774532845, uniqueEventId: 3},
event: 'Sign-up',
name: 'Form #304 ID: 304'
checked: undefined
}
Внутри Диспетчера тегов я создал событие, триггер (настраиваемое событие с именем Signu-up) и переменную checked (как переменную уровня данных с именем checked).
Я рыскал через rnet и пробовал так много альтернатив, но безрезультатно. Кажется, я чего-то упускаю, но действительно не могу понять, что. Есть идеи?