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】GoogleアナリティクスでFlashを解析するときにはgaforflashは使わないほうがいい – meaningfree.analytics
土. 12月 14th, 2024

Adobeが開発している(していた?)Googleアナリティクス用Flashライブラリのgaforflash

Google公式ヘルプにも「これ使ってね」と書かれているので使ってみているのですが、どうもデータが正常に取得できていないみたいです。

あるサイトで、gaforflashを使ってFlashムービー内にイベントを仕込んでいたのですが、GA管理画面を見てみると、ランディングページが(not set)になっている謎の訪問が結構な数でカウントされていました。しかも訪問別ページビューは0ページ、平均サイト滞在時間も0秒。アドバンスドセグメントでランディングページnot setをフィルタリングして見ましたところ、ページビューも参照元も何もかも記録されていない本当に謎の訪問でした。

これは何かおかしいぞ、ということでFiddler使ってGATCリクエストを追ってみたところ、原因らしきものが分かりました。

まず予備知識として、このサイトはHTML内に最新の(非同期の)トラッキングコードを記述しています。ですので、HTMLが読み込まれたときには、http://www.google-analytics.com/ga.jsが実行されてGATCリクエストが行われます。つまりは最新のga.jsによってGATCリクエストが処理されているわけです。

一方でFlashムービー内のイベントは最新のga.jsを使わず、gaforflashを使ってGATCリクエストを処理しています。gaforflashはライブラリ内部にga.jsと同じ働きをするActionScript(?)を持っていて、このライブラリ内部のga.jsもどきが古いのです。

このサイトでHTMLの読み込みとFlash内イベントを繰り返してみたところ、下記のようになりました。

まず、__utmwv。これはGAの記述のバージョン表記のようなのですが、

  • 最新のga.js: 5.2.5
  • gaforflash: 4.3as

明らかにgaforflashが古いことを明示していますね。

で、問題なのが__utmaの内容です。HTML→Flashイベント→HTML→Flashイベントとリクエストをしてみたところ、

リクエスト __utmaの内容
HTML 123456789.1141210827.1332121270.1332121270.1332121270.1
Flash 123456789.2665786856792290000.1324019656.1332121182.1332121270.15
HTML 123456789.1141210827.1332121270.1332121270.1332121270.1
Flash 123456789.2665786856792290000.1324019656.1332121270.1332121824.16

となっていました。__utmaの内容は

ドメインのHash.ユーザ(ブラウザ)識別値.初回訪問日時.前回訪問日時.今回訪問日時.訪問回数

です。これはバージョンに関わらず同じ形式のようです。

まず問題点はユーザ(ブラウザ)識別値。HTML(最新のga.js)は”1141210827″で、イベント(gaforlash)は”2665786856792290000″と数値が異なります。ということはおそらく別のユーザとして認識されているはずですので、HTMLとイベントはそれぞれ別のユーザ(=別の訪問)と見なされていると思われます。

さらに2つのイベントの前回訪問日時と今回訪問日時と訪問回数を見て下さい。1回目のFlashイベントでは今回訪問日時が”1332121270″で訪問回数が”15″となっていますが、2回目のFlashイベントでは前回訪問日時が”1332121270″で訪問回数が”16″となっています。つまりはイベント1つ1つが別の訪問としてカウントされているのです。

これはランディングページが(not set)になっている謎の訪問の謎が解けた気がします。とても残念な結果なのですが・・・。ランディングページnot setの正体はFlash内のイベントが1つ1つ別の訪問としてカウントされていたもので、イベントしか実行されていない訪問なので、ページビューも参照元も記録されておらず、訪問ではあるものの中身に何のデータもない手品みたいな訪問だったということです。

ということでFlash内のイベントを計測するときは、gaforflashは使わず、最新のga.js内に記述されている_trackEventや_trackPageviewをExternalInterface.call的な方法でcallするようにしましょう。これ絶対。

One thought on “【GA】GoogleアナリティクスでFlashを解析するときにはgaforflashは使わないほうがいい”

コメントを残す

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