Chrome拡張 Googleアナリティクス オプトアウトをちょこっと改造

サーバー移転日記はひとまず中断して忘れる前に備忘録を。

アクセス解析に大変便利なGoogleアナリティクス

「解析するほどアクセス数ないだろ!」という声は聞き流し、自分がアクセスした分は解析から除外したいなーと思い立つ。

WordPressであればUltimate Google Analyticsなどを入れておけばある程度回避してくれるのだけど、ログインしていない状態だとおそらくダメだろう。普通のホームページなどでは勿論使えないし。

そこで登場するのがGoogleアナリティクスに情報を送信しない為のアドオンです。

Google アナリティクス オプトアウト アドオン

ただ、これを入れると全てのアナリティクスへの送信が抑制される模様。

「お前の情報は俺のモノ。俺の情報は俺のモノ。」

自分はデータを収集しておきながら他人にはやらんというジャイアニズムがいささか心を痛める。
こういうご時世なのでプライバシーポリシーの問題とか色々あるんでしょうけど・・・

さて、これを使って自サイトの時だけ除外できないか検討。

基本的にChrome使いなのでインストールしてエクステンションの中身を見てみることに。
Windowsの場合プロファイルを意図的に変更していなければ以下に拡張機能のファイルがあるはず。

  • (XPの場合) %USERPROFILE%\Local Settings\Application Data\Google\Chrome\User Data\Default\Extensions\
  • (Vista/7の場合) %UserProfile%\AppData\Local\Google\Chrome\User Data\Default\Extensions\

「fllaojicojecljbmefodhfapmkghcbnh」がオプトアウトのIDなので同じ名前のフォルダに移動。
(他の環境でも同じIDだと思う・・・・たぶん)

「0.9.0_0」というフォルダ(おそらくバージョン依存)を適当な場所へコピー。

その中のgaoptout.jsを覗いてみると、簡単な難読化はされてるものの文字数は少ない。
やってることはscriptタグを生成して流し込んでるだけみたいだしスクリプトも自体も意外に簡単。

window["_gaUserPrefs"] = { ioo : function() { return true; } }

続いてマニフェストファイルを見てみる。

   "content_scripts": [ {
      "all_frames": true,
      "js": [ "gaoptout.js" ],
      "matches": [ "http://*/*", "https://*/*" ],
      "run_at": "document_start"
   } ],

(content_scripts部を抜粋)

ん?つーことは、、、

   "content_scripts": [ {
      "all_frames": true,
      "js": [ "gaoptout.js" ],
      "matches": [ "http://*.独自ドメイン/*", "https://*.独自ドメイン/*" ],
      "run_at": "document_start"
   } ],

でいいんじゃね?と思ってみたり。
(ウチの場合は独自SSLに対応していないのでhttps://の行はあっても無駄だけどー)

ためしに手を加えてみる。

まず元のエクステンションと区別する為に「key」「update_url」の部分をマニフェストから削除。
[manifest.json]

{
   "content_scripts": [ {
      "all_frames": true,
      "js": [ "gaoptout.js" ],
      "matches": [ "http://*.hoge.com/*", "https://*.hoge.com/*" ],
      "run_at": "document_start"
   } ],
   "default_locale": "en",
   "description": "__MSG_gaoptout_description__",
   "icons": {
      "128": "icon-128.png",
      "16": "icon-16.png",
      "32": "icon-32.png",
      "48": "icon-48.png"
   },
   "name": "__MSG_gaoptout_name__",
   "version": "0.9.0"
}

(便宜上、独自ドメイン=hoge.comとします)

さらに見やすいようにローカライズ部を変更して「(by Google) 」の標記を「改」にしてみた。(Unicodeエスケープシーケンスなのでわかりずらい・・・)
[_locales\ja\messages.json\messages.json]

{
   "gaoptout_description": {
      "message": "Google Analytics \u306E JavaScript \uFF08ga.js\uFF09 \u3068\u9023\u643A\u3057\u3066 Google Analytics \u306B\u60C5\u5831\u304C\u9001\u4FE1\u3055\u308C\u306A\u3044\u3088\u3046\u306B\u3057\u307E\u3059\u3002"
   },
   "gaoptout_name": {
      "message": "Google Analytics \u30AA\u30D7\u30C8\u30A2\u30A6\u30C8 \u30A2\u30C9\u30AA\u30F3 \u6539"
   }
}

そして、再パッケージ化。

1.Chromeの拡張機能画面でデペロッパーモードをチェック⇒「拡張機能のパッケージ化」をクリック。

2.「拡張機能のルートディレクトリ」にコピーしたフォルダを指定して、秘密鍵ファイルは空のまま「拡張機能のパッケージ化」をクリック。

3.作成されたcrxファイルをChromeの拡張機能の画面へドラッグ&ドロップ。
4.新しい拡張機能の確認がでたら「追加」を選択。

完了。

早速テストしてみると・・・・

[通常の場合]

[hoge.comの場合]

ふむ。目論見通りw
とりあえずこれで様子をみてみよっと。

ただ、WindowsPC+Chromeでのみしか使えないので汎用性は低い。
モバイルデバイスとかでも除外したいならやはりcookieを使うべきかな。

長い記事のわりに内容薄くてスミマセンw

2014/08/25 追記

今更ですがChromeの仕様変更によりストア以外からインストールされた拡張機能は使えなくなりました。。

パッケージ化しないで使用するか、Dev版かCanary版を使う必要があります。
(Professional エディションの Windows を使っていれば、ローカルグループポリシーエディタを使う裏技がありますが)

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク

コメント

  1. Chrome拡張 Googleアナリティクス オプトアウトをちょこっと改造 : ちゅどん道中記 より:

    […] #12394;い状態だとおそらくダメだろう。普通… >>Chrome拡張 Googleアナリティクス オプトアウトをちょこっと改造 Author: […]