Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the all-in-one-wp-security-and-firewall domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/meaningfree/www/analytics/wp-includes/functions.php on line 6114
【GA】イベントトラッキング(_trackEvent)の引数の文字数制限 – meaningfree.analytics
木. 11月 21st, 2024

Googleアナリティクスのイベント(_trackEvent)の引数の文字数制限について業務上知る必要があったので色々検索してみたが、何も出てこない…。公式ヘルプにも書いてない…。

ということで困ってしまったので自分で調べてみました。

※注 あくまで自分で調べた範囲のことですので、動作やデータ取得の保証はできませんのであしからず。

いきなりですが結論としては、category,action,label合わせて1,000bytesぐらいに収めておくのがいいんじゃないでしょうか、という感じでございます。

ふわふわした結論で申し訳ないですが、そのように思い至った経緯は下記の通りです。マニアックな内容が続きますので、興味がない方は閲覧注意です。

Googleアナリティクス側(ga.js側)での処理はよく分からん

おそらく文字数制限をしているなら、ga.js内の処理でやっているだろうと思ったのですが、こいつがなかなか奥ゆかしい動作をしておりまして、明確な制限値が判別できませんでした。

分かったこととしては、

  • Chromeだと7,728bytesを超えたあたりから、GIFリクエストが飛んだり飛ばなかったりする。(飛ばない確率が高い)
  • IEだと7,728bytesを超えてもGIFリクエストを飛ばすが、7,750bytesを超えると飛んだり飛ばなかったり。
  • 7,800bytesを超えるとIEでもChromeでもGIFリクエストは飛ばない。

この辺りまで調べて、規則性の無さに打ちのめされて力尽きました。
ga.jsには文字数制限がなくて、ブラウザ依存なのかも知れないです。

ですので、色々なケースを試したわけではありませんが、7,700bytesぐらいまでなら問題ないんじゃないかという印象です。

※ちなみに余談ですが、1,572bytesを超えたあたりからリクエストの方法が変わります。

通常のリクエストはhttp://www.google-analytics.com/__utm.gifのリクエストに色々な情報をパラメータとして付与していますが、1,572bytesを超えるとhttp://www.google-analytics.com/p/__utm.gif という別のGIFファイルへのリクエストに変わり、パラメータではなく、HTTPリクエストのボディ部分に色々な情報が書き込まれます。HTTPについてはあまり詳しくないんですが、GETからPOSTに切り替わったっていうことなんでしょうか。

文字数が多いと管理画面側で困る

上記の通り処理的には7,700bytesぐらいまで大丈夫そうなんですが、そんな長い文字列を送ると、管理画面で不都合が出ます。

どのように不都合が出るかというと、管理画面のURLの文字数が長くなってしまうことです。

Googleアナリティクスの管理画面のURLはすべてGETで処理されていて、アドバンスセグメントやらセカンダリディメンションやら使った際も、URLにその情報が加わります。

これはディメンションをドリルダウンしていくときも同じでして、
例えば「コンテンツ > 上位のイベント」のレポートで、カテゴリ「sidebar」→アクション「outBoundLink」→ラベル「Facebook」とドリルダウンした状態(下記画像のような状態)だと、

URLは

https://www.google.com/analytics/(中略)Danalytics.eventCategory%3Asidebar%2Canalytics.eventAction%3AoutBoundLink%2Canalytics.eventLabel%3AFacebook/

こんな感じになります。赤文字のところにカテゴリ・アクション・ラベルの値が使われているのがお分かりいただけるかと思います。

なので、引数に7,000文字とか使うと、このURLがめちゃ長くなってしまうわけです。

そして、IEだとGETで処理できるURLが2,083bytesですので、GAの管理画面もそれに倣っているのかどうかわかりませんが、URLが2,000bytesを超えるとエラーが出てレポートが表示されません

ということで、URLが2,000bytesを超えてしまって見たいレポートが見られないという状態にならないように、イベントの引数は余裕を持って1,000bytesぐらいにしておいた方がいいんじゃないかという結論に至りました。


ちょっとメモ程度で書くつもりが長くなってしまいました。仕事が溜まっているのに…。

では最後に、ここ最近ブログの更新が滞っていることの言い訳をさせていただきたいと思います。

2月下旬から仕事が尋常ではないぐらい忙しく、ブログのことなんて考える余裕もありませんでした。GA Tipsとか意気揚々と始めたのに第1回で滞っています。

大変貴重なこのブログの読者の方々と、世間の皆様に申し訳ない気持ちでいっぱいです。

3月も終わりに近づき、徐々にトンネルを抜けられる気配がしておりますので、今後の活発な更新にご期待いただければ。

以上、お粗末さまでございました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です