.

ダウンロードされてない

久しぶりに GoogleAnalytics を見てみました
最近公開した拡張機能の Customiser はけっこういい出来だと思うし、ダウンロードしてくれた人いるかな・・・と見てみたら

しかもこの一年以上、拡張機能のダウンロードクリック数が 0 件です
悲しい

もうちょっとあってもいいかなって思うんだけどブログサボり過ぎかなぁ
・・・いや、でも、完全に 0 件なんてそんなことはないはず!
間違って押したりとりあえずダウンロードだけしてみたり、そんな人はきっといるはずです!!(謎の自信

もっと昔からのグラフを表示してみました

gaclickgraph

2017 年に入る頃から全くなくなってますね
さすがにこれはなにかおかしいとしか思えません

試しに自分でクリックしてみると・・・
ダウンロードはできました

でも、コンソールにこんなエラーが

Uncaught ReferenceError: _gaq is not defined

クリック数を数えるためにダウンロードの a タグに

onclick="_gaq.push(['_trackPageview', '/Click/DL/nvp'])"

みたいな JavaScript を設定していました
この _gaq というのが存在しないみたい・・・

ダウンロードが 0 件なのか GoogleAnalytics の関数が実行できてなかったから、みたいです
なのできっとダウンロードしてくれてる人はいたはず

でもなんで _gaq がないんだろう・・・
Google Analytics を使ってるのですが自分でスクリプトを貼り付けたわけではないです
ライブドアブログの機能で勝手にやってくれるので自分のユーザ ID を管理画面で設定しただけです
知らないうちに使い方が変わったのかもしれません

ユニバーサルアナリティクス

ググってみると今はユニバーサルアナリティクスという新しいツールになってるみたいです
_gaq の代わりに ga になって、使い方もちょっと変わってました

詳しい使い方は公式のドキュメントに書いてあります
https://developers.google.com/analytics/devguides/collection/analyticsjs/pages


今回のだと
_gaq.push(['_trackPageview', '/Click/DL/nvp'])

ga('send', 'pageview', '/Click/DL/nvp')

と置き換えれば大丈夫みたい

でも・・・過去記事のを全部編集するのって大変です
直接 _gaq.push ってするんじゃなくて自分で作った JavaScript の関数を実行するようにしてたらなぁ
その関数の中の _gaq.push を ga に置き換えるだけで全部新しい方法に置き換えられたのに

しかたないので、とりあえずこうやって対処しました

window.gaClick = function(url){
ga("send", "pageview", url)
}

window._gaq = { push: function(array){ if(array[0] === "_trackPageview"){ gaClick(array[1]) } } }

古い書き方した場合に新しい書き方の関数を呼び出しています
直接使うときは

gaClick("/Click/DL/cmsr")

のように書けます
これでクリックしてみると無事カウントされました