我正在尝试捕获 <select>
值,将其推送到数据层并使用Google跟踪代码管理器将其推送到Google Analytics帐户 . 这里's the code I' m试图从 which contains a dynamic selected attribute 刮取值:
<select class="dropdown__select" size="1" id="dyeMethod" name="dyeMethod" onchange="javascript:UpdateSearchResults('FilterSearchForm')">
<option value="ALL">ALL</option>
<option value="395" >
Piece Dyed</option>
<option value="402" selected="selected">
Solution Dyed</option>
<option value="406" >
Solution Dyed / Yarn Dyed</option>
</select>
</div>
</div>
首先,我创建了一个自定义HTML标记来获取被禁止的值并将它们推送到数据层(下面的标记代码):
document.addEventListener('change', function(e) {
if (e.target.className === 'dropdown__select') {
var selected = e.target.options ? e.target.options[e.target.value] : undefined;
window.dataLayer.push({
'event' : 'valueSelected',
'selectedValue' : selected ? (selected.value) : ''
});
}
};
此标记在DOM Ready上触发,并且当“valueSelected”被推送到数据层时 . 然后我创建了一个数据层变量('selectedValue')并将其指定为GA标记上的事件标签,仅在选择'dropdown__select'类时触发 .
标签传递类别和操作,但标签显示为“(未设置)” . 必须有一种更有效的方法来捕获这些值并传递它们!
1 回答
DOM Ready和valueSelected都是事件键的值,因此无法在一个触发器中使用此规则触发自定义HTML标记 .
尝试在事件等于valueSelected的DOM Ready和Google Analytics标记上触发自定义HTML标记 .