イベントトラッキングの使い方と注意点[第65回]Googleアナリティクスの導入から、運用、活用まで、正式なサポートがない初めての人でもゼロから学んでいけるように、丁寧に解説していく。›2週お休みをいただいたので、前回は3週間前になるが、仮想ページビューについて解説した。「仮想ページビュー」とは、本来はページビューとしてはカウントされないユーザーの行動を、ページビューとして計測するためのアクセス解析ツールの機能である。次のようなものを、アクセス解析ツール上で「ページビュー」として扱える。外部サイトへのリンクのクリックPDFなどのダウンロードFlashコンテンツの各種動作(Flash上での選択や入力など)しかし、これらの行為を計測はしたいのだけれど、ページビュー数としてはカウントしたくない場合というのもある。そのようなときには、「イベントトラッキング」という手法を利用し、これらの行為を「イベント」として計測するという方法が用意されている。「イベント」とは、クリックやマウスオーバーなどの「行為」を計測できる仕組みであると、とりあえずは考えておこう。イベントトラッキングの実装のしかたさっそく、外部リンクがクリックされたときに、このクリックをイベントとして計測する方法を紹介しながら、イベントトラッキングについて説明していこう。通常のトラッキングコードは所定の位置に実装していることを前提として説明を進める。トラッキングコードの実装については、以下の解説記事を参照してほしい。トラッキングコードを実装する[第8回]イベントトラッキングを行うためには、通常のGoogleアナリティクスのトラッキングコードを変更するのではなく、ユーザーの行為を計測したい部分に該当するHTMLを修正する。外部サイトへのリンクをユーザーがクリックしたことをイベントとして計測するには、計測したいリンクのHTMLに、以下ようなコードを追加する(赤字部分が追加で必要な実装コードだ)。true]);"&gt;ここをクリック&lt;/a&gt;この書き方は、次のようなルールが定められている。opt_noninteraction]);"&gt;ここをクリック&lt;/a&gt;では、イベントトラッキングの計測コードの意味を解説していこう。イベントトラッキングの計測コードの意味onclickはイベントハンドラ計測コードの中味について、順に説明していこう。最初の「onclick」だ。onclickは「このリンクがクリックされたら、後に続く処理を実行せよ」という意味のHTMLのイベント指定で、処理内用はJavaScriptで記述する。このonclickのような、ブラウザ上で行われた動作や操作に対して、処理を実行させるための命令をイベントハンドラという。イベントハンドラには、もちろんonclick以外のものもある。JavaScriptのイベントハンドラで計測可能なイベントは下記のようにいろいろあるので、こういった行為も取得可能であるということを知っておこう(onclickはリンクの<a>タグに記述したが、イベントハンドラは<a>タグ以外にもさまざまなHTMLタグに指定できる)。イベントハンドライベントページ関係onloadページやフレームの読み込みが終わった(<body>タグや<frameset>タグに使う)onunloadページが閉じられる(<body>タグや<frameset>タグに使う)フォーカス関係onfocusフォーカスが当たったonblurフォーカスが外れたonchange内容が変更されたクリック関係onclickクリックされたondblclickダブルクリックされたキー関係onkeydownキーボードのキーが押し下げられたonkeypressキーボードのキーが押して放された(通常のキーを押す行為)onkeyup押していたキーボードのキーが放されたマウス関係onmousedownマウスボタンが押し下げられたonmousemoveマウスポインタがHTML要素の上で動かされたonmouseoutマウスポインタがそのHTML要素の上から出た(離れた)onmouseoverマウスポインタがそのHTML要素の上に入った(乗った)onmouseup押していたマウスボタンが放されたその他onsubmitフォームが送信される(<form>タグに使う)onresetフォームの[Reset(消去)]ボタンが押された(<form>タグに使う)onselect文字が選択された(<input>タグと<textarea>タグに使う)onresizeウィンドウのサイズが変更された(標準仕様ではない)onmoveウィンドウが移動された(標準仕様ではない)ondragdropウィンドウがドラッグ&ドロップされた(標準仕様ではない)onerror要素の読み込み時にエラーが発生した(標準仕様ではない)onabortページや要素の読み込みが中止された(標準仕様ではない)たとえば「onfocus」は、フォームの入力欄にカーソルが当てられたときに何か処理を実行するものだ。入力フォームのページで「onfocus」を利用して、入力フォームの入力欄1つずつにonfocusを使ったイベントトラッキングを設定しておけば、どの入力項目までカーソルが進んだのかを把握するといったことができるというわけだ。_gaq.pushメソッドは、Googleアナリティクスの命令_gaq.pushメソッドは、「トラッキングコードをカスタマイズするための基礎知識[第63回]」でも説明したので、ここでは省略する。_trackEventメソッドでイベントを記録する_gaq.pushで指定している「_trackEvent」が、イベントトラッキングのもっとも重要な部分、_trackEventメソッドである。イベントハンドラによって_trackEventメソッドが呼び出されることで、ブラウザでの行為がイベントとしてGoogleアナリティクスのサーバーに記録されるのである。opt_noninteraction]);"&gt;ここをクリック&lt;/a&gt;しかし、ただイベントとして記録されるだけでは、詳しく解析できない。できれば、そのイベントがどういうイベントかを分類して、タグ付けした上で、記録しておきたいところだ。opt_noninteraction」の部分である。categoryにはグループの名前を記入する「category」の箇所には、トラッキングするオブジェクトのグループに付ける名前を記入する。opt_noninteraction]);"&gt;ここをクリック&lt;/a&gt;この名前は、解析担当者が自由につけてよい。ad(広告)、movie(動画)など行為(action)に対する対象物を割り当てるような使い方が考えられる。categoryは必ず指定しなければいけない。categoryに指定した内容は、レポートでは「イベントカテゴリ」に反映される。上に示した例では、categoryには「'linkclick'」を指定した(リンクのクリックを計測したデータであることを指定)。actionにはユーザーの操作のタイプを記入する「action」は、各カテゴリとペアになる固有の文字列で、一般的にユーザー操作のタイプを定義するために使用される。opt_noninteraction]);"&gt;ここをクリック&lt;/a&gt;イベントハンドラに対応した名前を付けておくとよい。この名前も、解析担当者が自由に決めてよい。「click」「focus」などが考えられる。このactionも必ず付与しなければいけない。レポートでは「イベントアクション」に対応する。上に示した例では、actionには「'http://example.jp/'」を指定した(リンク先のURLがデータに表示されるように指定)。opt_labelはディメンションを追加するための項目(オプション)「opt_label」はイベントデータにディメンションを追加するための文字列である。opt_noninteraction]);"&gt;ここをクリック&lt;/a&gt;ここに記入する文字列も、イベントごとに解析担当者が自由に決めてよい。レポートでは「イベントラベル」に対応する。これも利用すれば、「イベントカテゴリ」「イベントアクション」「イベントラベル」の3つの軸で「イベント」を集計・分析することができるということだ。opt_labelは省略してもかまわない。上に示した例では、opt_labelには「'content'」を指定した(ページのコンテンツ部分のリンクであることがわかるように指定)。opt_valueには数値データを記入する(オプション)「opt_value」には、ユーザーイベントに関する数値データを整数で指定できる。opt_noninteraction]);"&gt;ここをクリック&lt;/a&gt;イベントの発生に対する金額価値評価などをしたい場合に利用するとよいだろう。1クリックの価値が10円だとすれば、「10」と書いておく、といった具合だ。opt_valueも任意の項目で、利用してもしなくてもよい。上に示した例では、opt_valueには「10」を指定した。opt_noninteraction]);"&gt;ここをクリック&lt;/a&gt;「opt_noninteraction」は、少しわかりにくいが、イベントトラッキングの処理と直帰率のデータに関する項目だ。結論から言うと、ここに「true」と記述すると、このイベントの発生が直帰の計測に影響を与えなくなり、直帰が正しく計測されるようになる。逆に、この項目を省略したり、「false」と記述したりすると、イベントの発生により直帰が正しく計測されなくなる可能性がある。細かい話になるが、イベントトラッキングを実装したページにおいてイベントが発生するとGoogleアナリティクスのサーバーにデータが送信される。すると、もしユーザーがそのページだけ見て直帰したとしても、直帰とは記録されない(ページビューのあと他の行動があったとみなされるので)。本来直帰として記録されるべきページビューが、直帰にカウントされないのだ。そこで、この問題を回避するために用意されたのが、このopt_noninteractionオプションである(2011年10月発表)。ここで「true」と記述すると、イベントが発生したページにおいて、1ページで閲覧が終了したら直帰とみなす。過去からの継続性のため、もしこの項目を省略した場合、デフォルトではこれが、「false」扱いで動作しないことに注意されたい。上に示した例では、opt_noninteractionには「true」を指定した。省略バリエーションオプションの実装項目を省略する場合のバリエーションは下記のようになる。true])category、action、labelをうまく使えば、クリックにしても、広告リンク、外部リンク、内部リンクもあれば、複数の箇所にあるリンクを区別したりすることもできる。動画などの各種ボタン操作、エラー表示などさまざまな利用シーンを思い描いて、知りたい情報、あるいは課題だと感じている情報を積極的に取得していただきたい。FlashでのイベントトラッキングさらにFlashコンテンツでのインタラクティブな行為に関しても、同様のデータを収集することができる。アナリティクスのトラッキングコードを実装すればよい。記述方法はJavaScriptとは若干異なるが、考え方は同様なので、以上の説明が理解できれば、導入はそれほど難しくないだろう。イベントトラッキングの上限また1回の訪問でトラッキングできるリクエストの上限は500だ(ページビューとイベントなどが含まれる。ga.jsの場合はトランザクションが含まれない。ユニバーサルアナリティクスの場合はトランザクションも含まれる)。そのため、下記のようなイベントのトラッキングは、避けるべきだろう。筆者の『ユニバーサルアナリティクス版Googleアナリティクス完全マニュアル(PDF)』が発行されました。アナリティクス徹底講座も、定期的に開催しています。メーカー勤務後、日経BP社へ。調査部、インターネット視聴率センター長などを経て、2000年ネットレイティングスへ。視聴率サービスやアクセス解析サービスの立ち上げに尽力。2006年株式会社クロス・フュージョンを設立し代表取締役に。現在アユダンテ株式会社の社外フェロー、アクセス解析イニシアチブ副代表も兼任。最近(過去90日間)の記事で、Facebookの「いいね!」が多かった記事をお見逃し無く。Googleの解は、外部データ連携のバナー自動生成だ1,273今年のGoogleアナリティクスの進化を総振り返り。広告の最適化からレポーティングまでできるその実力を明かすネット通販TOP200社で国内EC市場の約42%を占める。企業広告を消費者や第三者が勝手に作って公開する自主制作の広告。Web担のメルマガを購読しませんか?Web担の記事がコンパクトに毎週届くメールマガジン「Web担ウィークリー」は、10万人が読んでいる人気メルマガ。忙しいあなたの情報収集力をアップさせる強い味方で、お得な情報もいち早く入手できます。会社概要お問い合わせWeb担に広告を掲載しませんか?購読者数10万人のメールマガジン広告をはじめとする広告サービスで、御社の認知向上やセミナー集客を強力にお手伝いいたします。