2015-12-21 61 views
2

我試圖捕獲<select>值,將它們推送到數據層並使用Google跟蹤代碼管理器將其推送到Google Analytics帳戶。下面是從包含動態選擇的屬性我想湊值碼:Google跟蹤代碼管理器 - 捕獲選擇值

<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」類時纔會觸發該標籤。

標籤將類別和動作一起傳遞,但標籤顯示爲'(未設置)'。必須有更有效的方法來捕捉這些值並將它們傳遞出去!

+0

嘗試在dataLayer推送之前對「selectedValue」的值進行評估。 – nyuen

+0

@nyuen我剛剛更新了上面的代碼,以顯示我也只想捕獲動態選擇的值。對於之前不使用此示例,我表示歉意,因爲它會將選擇菜單中的所有值而不是僅選擇一個。感謝您的所有幫助! – rokenbk97

回答

1

DOM Ready和valueSelected都是事件鍵值,因此無法在一次觸發中同時使用此規則觸發自定義HTML標記。

嘗試在DOM Ready和Google Analytics標記上觸發事件等於valueSelected的自定義HTML標記。

相關問題