プラグイン機能について紹介

Googleアナリティクスのプラグイン機能について知っている人はほとんどいないと思います。実際、「Googleアナリティクス プラグイン」で検索しても、日本語の記事で出てくるのはCMSツールの代表例であるWordPressのプラグインくらいで、Googleアナリティクスそのもののプラグインの記事はまず出てきません。

とはいえ、Googleの開発者向け公式ヘルプにおいてもPlugins - Web Tracking (analytics.js)という形で、プラグイン機能の概要と実装方法の詳細が記載されています。

プラグインを実装することで、今までに実装したGoogleアナリティクスの拡張トラッキングコードを、ライブラリという形で公開することが可能になります。例えば、外部リンクへのクリックや電話番号リンクをイベントとして取得したり、スクロール深度の計測などをライブラリ化して必要になったときに簡単に呼び出せるようになります。

Power Analyticsで何ができるの?

Power Analyticsはその名の通り、Googleアナリティクスをパワーアップさせるためのプラグインとして開発しました。現在のPowe Analyticsの機能は下記の4つ。

  • カスタムディメンションの値設定
    • クライアントID - セッションID
    • タイムスタンプ
    • IPアドレス
    • ユーザーエージェント
  • スパムフィルター
  • 参照元書き換え
  • メディア書き換え

さらにそれぞれの機能を利用するか利用しないか、プラグインの利用時にオプション設定で決めることができるようになっています。また、今流行りのリファラースパムについても、スパムフィルターという形でプラグインに組み込んでいます。それぞれの機能の詳細を順番に説明していきます。

カスタムディメンションの値設定

ユーザーエジェントやタイムスタンプなど汎用的に利用可能なカスタムディメンションを簡単に設定することができます。さらに、実装には一手間工夫が必要となるようなクライアントIDや、JavaScriptコードだけでは実現できないIPアドレスもこのプラグイン1つで簡単に実装できてしまいます。

現在対応している機能は、下記の5つになります。Googleアナリティクスの管理画面で指定のスコープでカスタムディメンションを作成してご利用ください。

No 設定できる値 スコープ
1 クライアントID ユーザー
2 セッションID(クライアントID + ランダム文字列) セッション
3 タイムスタンプ ヒット
4 IPアドレス セッション
5 ユーザーエージェント セッション

スパムフィルター

リファラースパムを手間いらずでフィルタリングするための機能を提供します。この機能は、スパムではないと考えられるトラフィックに対してカスタムディメンションに指定した値をセットすることで実現し、以前の記事である <完全版>リファラースパムをたった1つのフィルタで撃退する方法 の考え方を採用しています。プラグイン利用時に、正常トラフィックに対してカスタムディメンションに設定する文字列を指定できますので、その文字列をビューフィルタにて一致フィルタを作成してください。

また、以前の記事では実際にサイトにアクセスを発生させるタイプのリファラースパムは個別に対応が必要でしたが、このプラグインではそのようなリファラースパムに対しても対処できるようにしています。実際にサイトにアクセスするタイプはブラックリストとして管理しており、現在は下記の参照元からのトラフィックが対象となっています(実際にサイトにアクセスしてくるタイプのリファラースパムは現時点では、ほとんどありません)。

  • 100dollars-seo.com
  • semaltmedia.com
  • videos-for-your-business.com
  • buttons-for-website.com
  • success-seo.com
  • video--production.com(2015/08/18 07:45 追加)

これは、新しいリファラースパムが発生したら、都度リストを更新していく予定です。

参照元書き換え

参照元情報を書き換えることができます。書き換える対象は現時点ではごく少数で、一覧にすると下記の内容になります。短縮されてしまっているtwitter経由のリファラーと、モバイルや広告などの流入方法に合わせて参照元情報が変わってしまうFacebookが対象になっています。また、この機能は閲覧しているページのURLのクエリ部分にカスタムキャンペーン(utm_sourceで判断)が設定されている場合は上書きは行いません。

また、8月18日より始まっているYahoo検索のSSL化にも暫定的に対応を行っています。

No 書き換える前の参照元 書き換えた後の参照元
1 t.co twitter.com
2 m.facebook.com facebook.com
3 l.facebook.com facebook.com
4 lm.facebook.com facebook.com
5 search.yahoo.co.jp yahoo

メディア書き換え

メディア情報を書き換えることができます。書き換える対象は、

  • Webメール経由のトラフィックに対して、メディア「email」を設定
  • ソーシャルメディア経由のトラフィックに対して、メディア「social」を設定
  • RSSリーダー経由のトラフィックに対して、メディア「rss」を設定
  • 暫定的に Yahoo検索からの流入にメディア「organic」を設定

の3パターンになります。Webメール判定、ソーシャルメディア判定、RSSリーダー判定は現在下記のリストを元に行っています。また、この機能は閲覧しているページのURLのクエリ部分にカスタムキャンペーン(utm_mediumで判断)が設定されている場合は上書きは行いません。

No 参照元の条件 書き換えた後のメディア
1 mail.yahoo.co.jp を含む email
2 mail.live.com を含む email
3 mail.google.com を含む email
4 alpha-mail.ne.jp を含む email
5 email.excite.co.jp に等しい email
6 outlook.office365.com に等しい email
7 mail.ocn.ne.jp に等しい email
8 webmail.sso.biglobe.ne.jp に等しい email
9 webmail.so-net.ne.jp に等しい email
10 eowebmail.eonet.jp に等しい email
11 mail.auone-net.jp に等しい email
12 mail.goo.jp に等しい email
13 mail.commufa.jp に等しい email
14 webmail.cyberhome.ne.jp に等しい email
15 t.co に等しい social
16 facebook.com に等しい social
17 www.facebook.com に等しい social
18 m.facebook.com に等しい social
19 l.facebook.com に等しい social
20 lm.facebook.com に等しい social
21 reader.livedoor.com に等しい rss
22 feedly.com に等しい rss
23 feeds.feedburner.com に等しい rss
24 search.yahoo.co.jp に等しい organic

Power Analyticsの使い方

Power Analyticsのプラグインデータは http://power-analytics.appspot.com/plugin.min.js に置いています。Google App Engine上にホストしているので、SSL環境の場合でも httpをhttpsに変更すればアクセス可能なので、商用サイトなどでSSL環境を使っている場合にも安心してお使いいただくことが可能です(このサイトもSSl化していますが、問題なく動作しています。)。

また、ディスプレイ広告向け機能やクロスドメイントラッキングのように、requireコマンドの実行が必要です。Power Analyticsでは、powerupという名前のプラグインをrequireする必要が有ります。これは、

ga('require', 'powerup');

と指定します。その後、カスタムディメンション拡張、スパムフィルター、参照元書き換え、メディア書き換えそれぞれの機能の利用有無に合わせてトラッキングコードを書き足していきます。4つの機能をフルに使う場合のトラッキングコード全体を下記に例示します(既にその他のカスタマイズを行っているサイトにPower Analyticsを設置する際は、既存のカスタマイズコードを削除しないように気をつけて下さい)。

なお、各機能のうち、利用しない機能については行ごと削除してしまって問題ありません。また、カスタムディメンションを利用する機能については、Googleアナリティクスの管理画面のプロパティ設定から事前にカスタムディメンションを作成する必要が有ります。作成した上で、そのカスタムディメンションのインデックス番号を控えておき、こちらのトラッキングコードにも反映させる必要が有ります。

<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
  ga('create', 'トラッキングIDをここに入れる', 'auto');
  ga('require', 'powerup');
  ga('powerup:dimensions', {
    'clientid': 1,
    'sessionid': 2,
    'timestamp': 3,
    'ipaddress': 4,
    'useragent': 5
  });
  ga('powerup:spamFilter', {
    'dimension': { 'index': 6, 'value': 'Referrer Spam Avoidance' }
  });
  ga('powerup:source');
  ga('powerup:medium');
  ga('send', 'pageview');
</script>
<script type="text/javascript" async src="//power-analytics.appspot.com/plugin.min.js"></script>

まとめ

情報がまだほとんどないGoogleアナリティクスのプラグイン機能ですが、プラグイン実装を行うことで、こんなに簡単にカスタマイズコードを利用することができるようになります。同様に実装すれば、外部リンクや電話番号リンクのクリックイベントや、ページのスクロール状況のトラッキング、フォーム入力に関するトラッキングなど、様々な機能を簡単に利用できるようになります。

プラグイン機能の実装に興味を持った方は、Googleの開発者向け公式ヘルプ Plugins - Web Tracking (analytics.js)を参考に実装してみてください。少しレベルの高いJavaScriptの知識が必要になりますが、それだけの価値のある機能と思います。

また、Power Analyticsのバグ報告や機能追加要望、リファラースパムやWebメールなどのリスト追加依頼は、 SEM TechnologyのFacebookページ または、SEM Technologyのお問合せフォーム よりご連絡ください。