GTM (Google タグ マネージャー) で次のタグを作成しました。
(function(window) {
if (typeof(dataLayer[dataLayer.length-1].count) !== "undefined"){
dataLayer.push({'count':dataLayer[dataLayer.length-1].count+1});
} else {
dataLayer.push({'count':1});
}
})(window);
最初に、dataLayer にプッシュされた「count」がない場合、if ステートメントは false を返し、{ "count" : 1} がプッシュされます。その後、カウントの値は、プッシュごとにインクリメントする必要があります。私の目的は、特定のボタンのクリック数を数えることです。
ただし、「if」ステートメントは検証されないようです。したがって、ボタンをクリックするたびに、「0」-s が dataLayer にプッシュされます。これが最善の解決策ではないことはわかっていますが、それでもうまくいかない理由がわかりません。ところで、ブラウザコンソールでこのコードを実行すると機能します。