ラベル Google Analytics の投稿を表示しています。 すべての投稿を表示
ラベル Google Analytics の投稿を表示しています。 すべての投稿を表示

続・Google Analytics のレポートから内部トラフィックを除外する方法

2008/02/10 | ラベル: , , | 0 コメント | このエントリーを含むはてなブックマークを表示

Blogger にログインした状態でアクセスしたときだけ処理を実行する方法を、Google Analytics の自己アクセス除外設定に応用する。

Google Analytics で自己アクセスを除外する設定は Google Analytics のレポートから内部トラフィックを除外する方法 でできたのだが、ひとつ困ったことがある。

このサイトは Blogger を利用しているのだが、自分だけがアクセスできるページを作成できない。Google Analytics で自己アクセスを除外する設定をかいつまむと、こうだ。

  1. サイトに(自分だけがアクセスする/できる)新しいページを作成
  2. 作成したページに自分のアクセスだと識別する Cookie (便宜上、除外用 Cookieと呼ぶことにする)を設定するコードを埋め込む
  3. 自分が使うパソコン、ブラウザから作成したページにアクセスして、除外用 Cookie を受け取る
  4. 除外用 Cookie を持ったトラフィックを除外するフィルタを作成する

除外用 Cookie を他人が受け取っては意味がないので、自分だけがアクセスできるページが必要ということなのだが、Blogger では公開か下書きかの2通りしかなく、隠しページのようなものを作成することはできない。
ダミーの記事やウィジェットを作成し、公開→アクセス→すぐに削除とすれば Cookie を設定できるが、手順が面倒だし Webアプリ作ったりしてると Cookie を削除することも結構あるのでますます面倒である。

そこで、Blogger にログインした状態でアクセスしたときだけ処理を実行する方法を応用する。これを使えば、Cookie を削除したり別の PC を使った場合でも、Blogger にログインしてアクセスしさえすれば、除外用 Cooke を設定することができる。

ダミーの span 要素とその display 属性をチェックするコードを前の記事のように埋め込む。処理の部分に、除外用 Cookie を発行するコードを書くだけだ。

<script type='text/javascript'>
function hoge() {
var element = document.getElementById('hoge'), value;
if ( window.getComputedStyle ) // Firefox, Opera
value = window.getComputedStyle(element, null).display;
if ( element.currentStyle ) // IE
value = element.currentStyle.display;
if ( value != 'none' )
pageTracker._setVar('test_value'); // 除外用 Cookie の設定
}
</script>

最後に、ページが表示されたら上記のコードを実行するよう、body要素を変更する。

<body onload='javascript:hoge();'>

これで、logger にログインしているときにアクセスすると除外用 Cookie が設定されるようになる。まー正直、ここまでやんなくてもと自分でも思うが。

ただ Blogger にログインしているかどうかで処理を変えたいというのは需要がありそうな気もする。Blogger Developers Network を探したが、ログイン中だけコードを出力するようなタグや機能はなさそうだった。

Google Analytics のレポートから内部トラフィックを除外する方法

2008/02/09 | ラベル: , | 0 コメント | このエントリーを含むはてなブックマークを表示

Google Analytics ではフィルタ機能を使うことで内部アクセスを除外することができる。アクセス元を特定する方法としては3つの手段を提供している。

  1. ドメインからのトラフィックをすべて除外
  2. IP アドレスからのトラフィックをすべて除外
  3. カスタムフィルタ

企業や固定IP、ドメインを持つ場合は1または2で簡単に設定できる。そうではない場合は、ちょっと工夫がいる。

ネット環境が DSL だったり、FTTH 接続でも固定 IP じゃない場合は、自分の IP アドレスが変化するので IP 指定で除外しにくい。プロバイダによっては変化する IP アドレス範囲の特定が難しい場合もある。ドメイン名もしかり。
変化する IP アドレスの範囲が分かっていて、ご近所さん(そのIPアドレス範囲のユーザ)からのトラフィックも除外してしまって OK ならば、2の方法を使うことができる。

きっちり自分のトラフィックのみ除外したい!という人は、3のカスタムフィルタを選び、Cookie を設定することになる。ヘルプセンターに FAQ として設定方法が載っているが、フィルタパターンに何を入力すれば良いか説明がない。

Google ヘルプセンター: レポートから内部トラフィックを除外するにはどうすればよいですか。

結論は、test_value と入力すれば良い。
ヘルプでは以下のコードを埋め込むよう説明されているが、赤字の部分と同じ文字列を入力すればオッケー。

<body onLoad="javascript pageTracker._setVar('test_value');">