Переменная диспетчера тегов Google для установленного переключателя всегда не определена - PullRequest
1 голос
/ 29 мая 2020

Я создал целевую страницу с одной формой (используется дважды), где пользователь вводит свой адрес электронной почты и выбирает значение из трех переключателей. Я пытаюсь через Диспетчер тегов 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 и пробовал так много альтернатив, но безрезультатно. Кажется, я чего-то упускаю, но действительно не могу понять, что. Есть идеи?

...