Analytics
Сейчас в сети: 445
Сейчас в сети: 445
Настройка целей, отслеживание электронной торговли, многоканальные последовательности и тд
Подсказки
star_border
Ответить

Как в GTM выцепить не содержимое тега, а cвойство?

Студент ✭ ✭ ✭

Есть несколько ссылок в виде картинок, клики по которым я хочу отслеживать как события. Упрощенно код HTML такой (несколько разных элементов с одинаковым ID):

 

 

<a href="/img/bo4ka/big09.jpg"><img id="bochka_snizu" src="/img/bo4ka/small09.jpg" title="Овальная - 22 000 руб."/></a>
<a href="/img/bo4ka/big03.jpg"><img id="bochka_snizu" src="/img/bo4ka/small03.jpg" title="Круглая - 23 000 руб."/></a>
<a href="/img/bo4ka/big04.jpg"><img id="bochka_snizu" src="/img/bo4ka/small04.jpg" title="Кедровый ларец - 24 000 руб."/></a>

 

 

Я настроил макрос следующим образом:

01.jpg

 

 

Но возвращается всегда title первой бочки. В указанном скриншоте верный URL - бочки за 24 000 руб, но макрос возвращает title от первой бочки за 22 000 руб.

02.jpg

 

 

Что мне изменить, чтобы задача решалась?

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

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

Re: Как в GTM выцепить не содержимое тега, а cвойство?

Ведущий участник
Вышли из ситуации следующим образом:
Код макроса:

function() {
return document.getElementById('{{element id}}').title;
}



С уважением,
Анатолий

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


Все ответы

Re: Как в GTM выцепить не содержимое тега, а cвойство?

Ведущий участник
Добрый вечер, Антон!

У элементов на странице не может быть один и тот же ID - это нарушает его логику.
Возможно, вместо ID стоит использовать class.
Соответственно, фильтровать по названию класса.



С уважением,
Анатолий

Re: Как в GTM выцепить не содержимое тега, а cвойство?

Студент ✭ ✭ ✭
Анатолий, если тег не пустой, то корректно работает макрос "element text" с одинаковыми id, у меня так настроено на такой фрагмент. Про классы надо будет посмотреть, пока не могу сообразить.

<a id="bochka_sverhu" href="/img/bo4ka/big09.jpg">Кедровая бочка овальная</a>
<a id="bochka_sverhu" href="/img/bo4ka/big03.jpg">Кедровая бочка круглая</a>
<a id="bochka_sverhu" href="/img/bo4ka/big04.jpg">Кедровый ларец</a>

Re: Как в GTM выцепить не содержимое тега, а cвойство?

Ведущий участник
Антон, как свойство элемента, по которому произошел клик, надо вернуть?



С уважением,
Анатолий

Re: Как в GTM выцепить не содержимое тега, а cвойство?

Студент ✭ ✭ ✭
Да

Re: Как в GTM выцепить не содержимое тега, а cвойство?

Ведущий участник
Прошу прощения, опечатался.

Какое свойство Вы хотите вернуть?



С уважением,
Анатолий

Re: Как в GTM выцепить не содержимое тега, а cвойство?

Студент ✭ ✭ ✭
Title

Re: Как в GTM выцепить не содержимое тега, а cвойство?

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

Антон, еще раз хочу обратить Ваше внимание на то, что по ID обратить к элементу нельзя, если на странице присутствует несколько элементов с одинаковым ID. Такое построение структуры документы противоречить спецификации.

 

Я бы на Вашем месте сделал следующим образом:

  1. Всем картинками присвоил уникальные ID. Например, 
    <a href="/img/bo4ka/big09.jpg"><img id="bochka_snizu1" src="/img/bo4ka/small09.jpg" title="Овальная - 22 000 руб."/></a>
    <a href="/img/bo4ka/big03.jpg"><img id="bochka_snizu2" src="/img/bo4ka/small03.jpg" title="Круглая - 23 000 руб."/></a>
    <a href="/img/bo4ka/big04.jpg"><img id="bochka_snizu3" src="/img/bo4ka/small04.jpg" title="Кедровый ларец - 24 000 руб."/></a>
  2. Создал бы макрос с типом "Собственный код JavaScript" и написал бы примерно такой код:

    function() {

    var a = $('#{{element id}}').title;
    return a;
    }
    Название макроса "getTitle"

  3. Создал бы тег с типом "Пользовательский тег HTML" и в нем бы написал примерно такой код:
    <script>
    alert('{{getTitle}}');
    </script>

    Условие срабатывание тега event равно gtm.click

Запустить режим отладки, перейти на страницу с картинками, обновить и кликнуть на картинки.

 

Каков результат?




С уважением,
Анатолий

Re: Как в GTM выцепить не содержимое тега, а cвойство?

Студент ✭ ✭ ✭

Сделал как вы говорите, но не пашет. Надо как-то поправить Собственный код JavaScript. Насчет разных id - я понял, и спорить не буду. Но это немного противоречит тому что я хотел от GTM - не лезть в исходный HTML код. Получается все равно пришлось лезть в HTML.

 

Screenshot_1.png

 

 

Screenshot_2.png

Re: Как в GTM выцепить не содержимое тега, а cвойство?

Студент ✭ ✭ ✭
Надо как-то поправить Собственный Код JS. Я всяко разно пробовал, и с решеткой, и без, и без доллара, и с кавычками, и без...

Вот такой код, нормально возвращает ID. Но нужно свойство Title.
function() {
return {{element id}};
}