2017-06-19 68 views
0

,我使用作爲實施使用GTM DOM變量產品模式的自定義HTML標籤的產品架構代碼..如何使用DOM元素變量在GTM中添加AggregateRatingin?

<script> 
var jsonData = { 
    "@context": "http://schema.org", 
    "@type": "Product", 
    "name": {{productName}}, 
    "image": {{productImg}}, 
    "url": {{Page URL}}, 
    "aggregateRating": { 
    "@type": "AggregateRating", 
"ratingValue": {{avgRating}}, 
    "reviewCount": {{ratingsCount}}, 
    } 
    } 

    var script = document.createElement('script'); 
    script.type = 'application/ld+json'; 
    script.text = JSON.stringify(jsonData); 
    $("head").append(script); 
</script> 

如何配置的DOM元素變量在AggregateRating變量(avgRating,ratingsCount) GTM。

這裏是標記

<div class="woocommerce-product-rating"> 
     <div class="star-rating"> 
      <span style="width:100%"> 
       <strong class="rating">5.00</strong> out of <span>5</span>    based on <span class="rating">1</span> customer rating   </span> 
     </div> 
     <a href="#reviews" class="woocommerce-review-link" rel="nofollow">(<span class="count">1</span> customer review)</a> </div> 
+0

能否請您HTML標記添加到您的問題,因爲我們需要了解在哪裏可以找到它在你的標記 –

+0

加入上面的HTML標記( avgrating,avgreviews).. –

+0

我也嘗試通過ID也類...但整個評論文章顯示...但我想這些變量的平均整數值。我如何提取這些的確切的平均整數值.. –

回答

0

您需要創建GTM兩個變量

1)進入Variables->User-Defined Variables->New->Custom Javascript

2)名稱ProductAvgRating和JS代碼創建變量:

function() { 
    try { 
    return parseFloat(document.querySelector('.woocommerce-product-rating strong.rating').innerText); 
    } 
    catch(e) {return 0;} 
} 

2)創建名稱爲的變量和JS代碼:

function() { 
    try { 
    return parseInt(document.querySelector('.woocommerce-product-rating span.rating').innerText); 
    } 
    catch(e) {return 0;} 
} 

,然後改變你的HTML標記那樣:

<script> 
var jsonData = { 
    "@context": "http://schema.org", 
    "@type": "Product", 
    "name": {{productName}}, 
    "image": {{productImg}}, 
    "url": {{Page URL}}, 
    "aggregateRating": { 
    "@type": "AggregateRating", 
"ratingValue": {{ProductAvgRating}}, 
    "reviewCount": {{ProductRatingsCount}}, 
    } 
    } 

    var script = document.createElement('script'); 
    script.type = 'application/ld+json'; 
    script.text = JSON.stringify(jsonData); 
    $("head").append(script); 
</script> 

附:你沒問productNameproductImg變量,我想你已經擁有了它

+0

非常感謝你的回覆。希望它能起作用。是的,對於productName和productImg使用DOM變量CSS元素。在調試時,它顯示確切的值。這就是爲什麼我不提。 –

+0

如果我的解決方案爲您工作,請接受我的回答 –

+0

它正在工作。非常感謝你的回覆。幫助我很多。我剛來這地方。我的聲譽還不好。所以我無法upvote .. –

相關問題