2015-11-19 2 views
0

Я хочу сделать некоторую обработку в переменной уровня данных, прежде чем я хочу использовать ее в теге. например, у меня есть ряд социальных значков с фреймворком. Теперь я хочу создать переменную, которая дает мне клик.Google Tag Manager пользовательский javascript для получения переменной уровня данных

Как получить часть уровня данных elementClasses значение?

В режиме предварительного просмотра можно увидеть, что, когда я нажимаю на кнопке, Data Layer values after this message окно выглядит следующим образом:

{ 
    gtm: { 
    ... 
    ... 
    elementClasses: 'fa fa-twitter', 
    ... 
    } 
} 

я принципиально хочу сделать GTM переменную типа Custom JavaScript, что делает этот

function(){ 
    return elementClassesString.match(/fa-.*/); 
} 

Любые советы?

EDIT ::

В консоли я могу получить последнюю запись в слое данных, введя dataLayer[dataLayer.length-1] таким образом я полагал, что это будет делать трюк:

function(){ 
    latest = dataLayer[dataLayer.length-1]["gtm.elementClasses"]; 
    if(latest === ""){ 
    social = "not-set" 
    }else{ 
    social = latest.match(/fa-.*/)[0]; 
    social = social.substring(3,social.length); 
    } 
    return social; 
} 

Но я получаю только undefined в GTM просмотра , Почему это?

ответ

1

Чтобы получить gtm.ElementClasses, когда он толкнул (т.е. в gtm.click или событий gtm.linkClick ".) Вы можете создать переменную Auto-событие, как это:

enter image description here

Эта переменная возвращает класс элемента, который щелкнут. Затем вы можете использовать эту переменную в других настраиваемых переменных JS.

+1

Для кликов и кликов по ссылкам «щелчок классов» является встроенной переменной, вы можете просто включить ее в разделе переменных gui (так что даже не нужно было бы создавать новую переменную). –

+0

Спасибо, @EikePierstorff, за h elpful напоминание! – nyuen

Смежные вопросы