1

dataLayerから値を取得し、変更してdataLayerにプッシュすることは可能ですか?Googleタグマネージャを使用してdataLayerを操作する

私はこのカスタムHTMLを使用しましたが、NaN(Not a Number)、考えを返しますか?

<script type="text/javascript"> 
 
(function() { 
 
    amsdataLayer.push({ 
 
    'roomcount' : 6*('roomcount').float() 
 
    }); 
 
    
 
})(); 
 
</script>

+0

roomcountは現在dataLayerにあり、値は '1'です。値を読み込み、6を掛けてそれをdataLayerに戻そうとしました。 –

+0

ここにちょうど6を使用すると、現在の値1が上書きされ、ルーム数は6になります。 –

答えて

0

roomcountは(精度のために:それはdataLayerであり、あなたがGTM変数経由でアクセスする場合)dataLayerに現在ある場合は、あなたがそれにアクセスするために二重の中括弧を使用する必要がありますすなわち、{{roomcount}}。現在のところ、リテラル文字列 "roomcount"にコールを適用していますが、これは数値になりません(実際にはJSの数値にはfloat()メソッドがありますか?現在は別の構文を持つparseFloatしか考えられません) 。

また、GTMにdataLayerの変更を認識させるには、(ネイティブまたはカスタムの)イベントが必要です。

+0

親愛なる皆さん、ありがとうございます! これは機能しました。 <スクリプトタイプ= "テキスト/ javascriptの"> (関数(){ するvar hodor =({{DL_roomcount}}) hodor = 6 * hodor amsdataLayer.push({ 'roomcount':hodor }) ; })(); ありがとうございました! –

+0

floatの必要はありません。parseFloatは文字列をjavascriptで浮動小数点に変換する正しい方法です。 –

関連する問題