2017-06-02 33 views

回答

0

您可以創建一個自定義JavaScript變量來檢查是否存在具有.box類的元素。

喜歡的東西:

if(document.getElementsByClassName("box")){ 
    return true; 
} else { 
    return false; 
} 

然後,您可以在您的觸發器使用(例如,您的自定義變量>等於>真)。

+0

元素加載每個頁面加載如果用戶沒有登錄和類.box的只出現誰沒有登錄用戶。所以我想如果我可以跟蹤DOM中包含.box類的頁面視圖就足夠了。用戶不必執行操作,因此不需要點擊事件。 – antalis

+0

這應該是一條評論。它當然不是答案。 –

+0

你是對的。我編輯了我的答案。 – Als

0

您可以使用一個自定義HTML標記和自定義事件觸發器來跟蹤展示次數。你需要一個事件偵聽器附加到檢查的功能,如果該元素是在網頁上可見:

<script> 
 
    var hasDeals = document.getElementsByClassName('box').length; 
 
    var element = document.getElementsByClassName('box')[0]; 
 
    var elVisible = false; 
 
    var eventPushed = false; 
 
     
 
    if(hasDeals>0) { 
 
    \t document.addEventListener("scroll", function() {{isScrolledIntoView(element);}}); 
 
    } 
 
     
 
    function isScrolledIntoView(el) { 
 
    \t if(!elVisible) { 
 
      var elemTop = el.getBoundingClientRect().top; 
 
      var elemBottom = el.getBoundingClientRect().bottom; 
 
      var isVisible = (elemTop >= 0) && (elemBottom <= window.innerHeight); 
 
      elVisible = isVisible; 
 
      return isVisible; 
 
     } else if(!eventPushed) { 
 
      dataLayer.push({'event': 'dealVisible'}); 
 
      eventPushed = true; 
 
     } 
 
    } 
 
</script>

從那裏,你只需要創建觸發器,並把它作爲你希望。 您可以找到有關這個腳本是如何工作的,以及如何在此處進行修改的其他方案的詳細解釋:Tracking Elements Impression with Google Tag Manager