1

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 にプッシュされます。これが最善の解決策ではないことはわかっていますが、それでもうまくいかない理由がわかりません。ところで、ブラウザコンソールでこのコードを実行すると機能します。

4

1 に答える 1

0

にアクセスするdataLayer.length-2代わりに使用する必要がありました。これは、各クリック イベントの後に GTM が gtm.click を dataLayer にプッシュすることが原因でした。dataLayer.length-1count

于 2017-05-03T12:51:04.343 に答える