今日は、SEOにも効くGoogle Analytics用の便利なスクリプトを紹介します。少しマニア向けですが、「utm_medium」や「utm_source」などのトラッキングパラメータが付いた長くて汚いURLを、パラメータどおりにちゃんと解析しつつ、ユーザーに対してはキレイなURLで見せられるというものです。
この記事のタイトルは長いですが、これでURLは短くキレイになります。
ダウンロード&使い方
-
Web担特製のカスタムJavaScriptを以下のURLからダウンロードします。
・特製トラッキングコードのダウンロード
→ http://web-tan.forum.impressrd.jp/files/images/nakanohito/bancho_ga_canonicals.js(または、ここをクリックしてこの下にコードを表示)
-
ダウンロードしたJavaScriptをテキストエディタで開き、冒頭の「UA-xxxxxx-x」の部分を、あなたのGoogle Analytics用のウェブ プロパティ IDに書き換えます。
_gaq.push(['_setAccount', 'UA-xxxxxx-x']); -
既存のGoogle Analytics用トラッキングコードをサイトから削除します。
-
ダウンロードしてIDを書き換えたJavaScriptをサーバーにアップロードして、ページの<head>部分で読み込むようにします(</body>直前でも動作しますが、リダイレクトをスムーズにするために<head>部分に入れることをお勧めします)。
<script type="text/javascript" src="アップロードしたJSの場所"></script> -
サイトのURLに「?utm_medium=mail」などのトラッキングパラメータを付けアクセスしてみて、トラッキングパラメータなしのURLにリダイレクトされることを確認します。
-
利用上の注意を確認のうえ、お使いください。
このスクリプトの導入後も、あなたはメルマガや広告には、引き続きutm_mediumやutm_sourceなどのトラッキングパラメータ付きURLを使います。そのURLをクリックしたユーザーは、一瞬だけパラメータ付きのURLにアクセスして、すぐにパラメータなしのURLにリダイレクトされます。これで、ユーザーが目にするURLはトラッキングパラメータのないシンプルなものになり、それでいてパラメータで設定した解析内容はGoogle Analyticsのデータに反映されるようになります。
なぜutm_xxx付きの長いURLはダメなのか
あなたのサイトではGoogle Analyticsのトラッキングパラメータを使っていますか? 広告やメルマガからのリンクに「utm_source」や「utm_medium」などのパラメータを付けることで、そのリンクが何回クリックされたかを調べる仕組みですね。
自分で使っていなくても、FeedBurnerで記事のクリックスルー集計を有効にしていると、フィードからサイトへのリンクにこうしたパラメータが付いている場合があります。
トラッキングパラメータ付きURLを使うと、どれくらいクリックされたをGoogle Analyticsで解析できて便利な反面、URLがとても長くなってしまいます。たとえばこんな感じですね。
http://example.com/?utm_source=webtan&utm_medium=mail&utm_campaign=ww0135
長いURLは、次のような点で問題があります。
- 見た目に悪い
- メールやTwitterでURLを伝えにくい
- 検索エンジンのリンク評価が分散される
- ソーシャルブックマークなどが分散される
長くて使いにくい点は短縮URLを使ってもらえば解決できますが、すべてのユーザーが短縮URLを使い慣れているとは限りません。そもそも長いURLはそれだけで鬱陶しいですよね。
また、流入元を解析するためのトラッキングパラメータが付いたままURLが流通してしまうと、「サイトA用のURLを作ったがサイトBに掲載されてそこからの流入が多かったためにサイトAの効果が高いと誤解する」ようなことも起きてしまうかもしれません。
検索エンジンのリンク評価分散に関しては、実際にはcanonical指定をしたりウェブマスターツールの[サイト設定]>[設定]>[パラメータ処理]で無視するように設定したりすれば問題にはなりません。
しかし、ソーシャルブックマークの分散は防ぎきれないため、損をしてしまいます。たとえばトラッキングパラメータなしのURL(通常のURL)に100ブクマ付き、トラッキングパラメータ付きのURLに50ブクマ付くと、本来ならまとめて150ブクマで人気エントリ入りしていたかもしれないのに、上に上がらないままになってしまうのです(canonical指定は必ずしも効くとは限らないので)。
Web担でもメルマガのリンクにトラッキングパラメータを使っているためブクマが分散していたことがあり、それを解決するために「utm_XXXのトラッキングパラメータ付きの長くて汚いURLを、トラッキングパラメータなしのきれいで短いURLにリダイレクトしつつも、ちゃんとアクセス解析ができる」トラッキングコードを作りました。
動作の解説
スクリプト全体の解説をすると長くなってしまいますので省略しますが、全体としては次の図のように動作します。
<head>で読み込まれたら、まずURLをチェックします。
URLにトラッキングパラメータが付いていたら、現在のURLで同期モードの動作で解析ビーコンを飛ばし、クッキーに「このURLにリダイレクトするよ」と記録したうえで、トラッキングパラメータなしのURLにリダイレクトします。
URLにトラッキングパラメータが付いていなかったら、クッキーをチェックします。リダイレクトされた処理の場合は特にビーコンを動作させず、イベントトラッキングの準備をするだけに留めます。リダイレクトされた処理でなければ(つまり通常のアクセス)、ふつうに解析ビーコンを動作させます。
利用上の注意
Web担ではこのスクリプトをもう半年以上動作させており特に問題はないようですが、Web担編集部ではすべての環境でこのスクリプトが正しく動作することを保証できるわけではありません。
不安ならばテストのうえ導入してください。特にWeb担ではテストできていないEコマース系の機能を使っている場合は、必ずテスト環境でいろいろ試してみてください(そのほかにも安田が気づいていない部分があるかもしれません)。
テストにあたっては、Chrome拡張のGoogle Analytics Tracking Code Debuggerを使うか、FirefoxのFireBugで「接続」パネルを使うといいでしょう。
・Google Analytics Tracking Code Debugger
→ https://chrome.google.com/extensions/detail/jnkmfdileelhofjcijamephohjechhna
このスクリプトを使うと、基本的には非同期モードで動作するようになります。そのため、すでにイベントトラッキングなどを利用している場合は非同期モード用の記述に変更する必要があります。
また、通常のトラッキング以外の処理を入れている場合は、スクリプト中ほどの「ここに追加のトラッキング処理を非同期形式で入れる」の部分に追加処理を記述してください(こちらも非同期モードで記述します)。
この仕組みを考えていたときに何人かのアクセス解析系の人に意見を聞いたのですが、すべて微妙な反応で、おそらくこうしたニーズを持っている人は少ないマニアックなスクリプトなのだろうと思います。
こうしたスクリプトが気になった方は、このスクリプトが狙うところやスクリプトの動作に関して、ご意見やご感想などいただければ幸いです。
- この記事のキーワード
