27 3月, 2009
Twitter+GoogleAnalyticsブックマークレットをつくってみた
Posted by: Hideya Kato In: JavaScript|Webサービス|ツール
ブックマークレットからTinyURL!すると自動的にtwitterからの流入ををGoogle Analyticsで計測されるようにしたいっていう話です。 Twitterに新着記事のお知らせから流入しているのかみてみたいところなんですが、現在使っているGoogle Analyticsで何も設定していないとリファラでしか特定できなくて、Firefoxのプラグインからとかいろいろ測定できないんですよね。 ちなみにGoogle Analyticsでするためには ?utm_source=twitter&utm_medium=twitter をURLの後につけて流せばきちんと測定できます。 (こちらで作れます。) ただ、毎回それをつけるのも面倒なので、毎回使うTinyURL!のブックマークレットを押したときに自動的にそのパラメータをつけてくれないか、ということでブックマークレットをいじってみます。 javascript:void( location.href='http://tinyurl.com/create.php?url='+encodeURIComponent(location.href) ) とりあえずTinyURL!ブックマークレットの中身。 javascript:void( location.href='http://tinyurl.com/create.php?url='+encodeURIComponent(location.href+'?utm_source=twitter&utm_medium=twitter') ) 単純にパラメータを追加 押してみる おお!動きますね。 でもこれだとどんなURLにでもつけてしまうのでめんどくさい。 ということで、 javascript:( function(){ lo=location.href; if(lo.indexOf('lifexweb.com')>-1){ para='?utm_source=twitter&utm_medium=twitter'; }else{ para=''; } void(location.href='http://tinyurl.com/create.php?url='+encodeURIComponent(location.href+para)); } )(); 「lifexweb.com」というドメインの場合のみパラメータをつけるように改良。 これでほかのページではパラメータをつけずに変換可能。 あとは既にほかのパラメータがついているといけないので、 javascript:( function(){ lo=location.href; if(lo.indexOf('lifexweb.com')>-1){ if(lo.indexOf('?')>-1){ para='&utm_source=twitter&utm_medium=twitter'; }else{ para='?utm_source=twitter&utm_medium=twitter'; } }else{ para=''; } void(location.href='http://tinyurl.com/create.php?url='+encodeURIComponent(location.href+para)); } )(); とすると 既にパラメータがついていても大丈夫。 利用されたい方がいらっしゃればバグだらけかもしれないですがおいておきます。ドメインのところはそれぞれ修正をお願いします。 TinyURL!+GA



