日本語URLはGoogle Analyticsでエラーを引き起こす場合がある
今日は、URLの作り方によっては、Google Analyticsでエラーが発生してしまう可能性がある事例について、お伝えします。
端的に結論から言うと、日本語URLを使っていると、Google Analyticsでうまくアクセスを記録できない状況が発生する場合があります。
しかも、このエラーはバックグラウンドで発生するため、訪問者もサイト管理者も、エラーが発生していることに気づくことは滅多にありません。
ここでいう「日本語URL」とは、次のようなものを指します。
http://example.com/blog/Web担当者の知っておくべき10のテクニック.html
ドメイン名の話ではなく、パス(ディレクトリやファイル名)の部分に日本語を使うものですね。最近のブラウザはうまく見せてくれますが、日本語URLは実際には非常に長い文字列になります。具体的には、UTF-8でエンコードされた日本語URLは、日本語1文字が9バイトになります。
たとえば、次のようにブラウザに表示されるURLは、
http://example.com/はじめに
実際には次のような文字列として扱われています。長くなっていますよね。
http://example.com/%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB
そして、Google Analyticsのトラッキングコードは、アクセスがあった際に、アクセスされたURL、ページのタイトル、参照元のURLなど、さまざまな情報を「GETメソッド」という方法でビーコンサーバーに伝えます。
その際に、トラッキングコードがビーコンサーバーに情報を飛ばすURLの長さが長すぎると、Google Analyticsのサーバーは「414(URIが長すぎます)」というエラーを返すのです。具体的には、ビーコンアクセスのパス部分が2Kバイト(2048文字)を超えると414エラーになるようです。
Google Analyticsのトラッキングコードがビーコンサーバーに飛ばす情報にはさまざまなものがありますが、次の4つが、日本語(または日本語URL)が原因で異常に長くなる場合あります。
パラメータ名 | 内容 | 自分で制御可能か |
---|---|---|
utmdt | アクセスしたページのtitle要素 | 可能 |
utmp | アクセスしたページのURL | 可能 |
utmr | そのアクセスの参照元URL(他サイトからの場合のみ) | 不可能 |
utmcct | そのサイトの初回訪問時の参照元URL(クッキーに保存) | 不可能 |
上記4項目を除くとビーコンアクセスのURLは約350バイト程度の長さになりますので、上記4項目の合計で1700バイトを超えるとエラーになる可能性があります。
もっとわかりやすく言うと、上記4項目の合計で日本語190文字(1項目平均48文字)を超えるとエラーになる可能性があるのです。
しかも、「そのサイトに始めて訪問したときの参照元URL」は、その後のアクセスでもずっと引き継がれるので、影響が大きくなります。
本来ならば、Google AnalyticsのトラッキングJavaScriptがこれらの情報をチェックして、長くなりすぎていたら何らかの処理をするべきなのですが、現状はそうしていないようです(以前にグーグルさんに連絡した記憶があるのですが、修正されていないようです)。
日本語URLを使う場合は、ページのタイトルとほぼ同じ内容をURLに含めていることが多いでしょう。ですから、対策としては、ページのタイトルを48文字以内にするといった考え方もあります。
または、可能ならばURLの全体長を45文字程度に切り詰めるといった処理をシステム的に含めるのも良いでしょう。
そうすれば、自分のサイトで問題が出にくくなりますし、リンク先のサイトに迷惑をかけることも少なくなるでしょう。
ソーシャルもやってます!