イベントトラッキングの話。
初期状態でのAnalyticsでは記録されないような情報でも、イベントトラッキングを使えば欲しい情報を記録しておくことができます。
Analyticsの標準設定では取れないデータもいっぱい
解析にGoogleAnalytics使ってる人多いと思うけれど、Analyticsは基本的にページへの表示のタイミングで情報を記録しています。
なので、基本的にはそのタイミングでとれる情報しか記録されない。(そうでないものもあるんだけどね)
例えばページの閲覧時間とかは、次のページへの遷移が起こった時に、その差分の時間を記録していて、サイトから離脱した場合には記録されない。
例えば、直帰の場合(自分のサイトに入ってきてそのまま他のサイトに離脱)は滞在時間は不明なので取り扱われない。
なぜなら次のページの情報を収集できないので、その差分の時間もわからないから。
そう考えると平均滞在時間って離脱時の情報が抜けたデータということになるので正しくないので、それに一喜一憂するのはあまり意味なくてあくまで目安。
というように、結構Analyticsの標準の状態では記録できないデータって多いんですよね。
ページが表示された後でページ内でどのような行動をしたかとか、外部のサイトに飛んでいく時なんかは記録されません。
それでも、やはり何とかして情報を記録しておきたいことってあるじゃないですか。
そんな時には、独自でイベントトラッキングというものを設定すれば、それぞれの記録を取ることができます。
イベントトラッキングとは
イベントトラッキングというのは、あるタイミングや条件で収集したデータをAnalyticsに送って記録しておくというもの。
例えば、あるボタンを押したら「このボタンが押されたよ」ってAnalyticsに伝えることで、それを記録していくことができる。
記録したデータは、あとでAnalyticsを使って集計、閲覧できるというわけ。
データの取得方法と、タイミングや条件の適切な処理ができれば、いろいろな情報をAnalyticsに記録していくことができるんです。
分析するためにはまず記録、この記録を自分で行えるのがイベントトラッキングなんです。
例えばどんなものを集計できるかっていうと、
会社の資料や申込書をPDFで閲覧した回数。
PDFを開いたということはAnalyticsでは記録されないので、PDFを開くボタンをクリックしたときにその情報をAnalyticsに送ります。
また、動画を再生するタイミングなんかもそうで、動画を再生するタイミングでクリックを感知して情報を記録します。
他には、ある特定の外部サイトへリンクをはっている場合に、そこへ何人を送客できたかというようなことを把握したいとか。
複数のボタンが並んでいて、どれが一番クリックされているかなんかを調べて改善につなげたりなんかもできますよね。
要するに、今の例の場合はリンクをクリックしたタイミングで記録を送ることでデータを収集できるのです。
データを収集できるのは、クリックしたときに限らず、マウスオーバーされたタイミングとか、スクロールしたタイミングとかいろいろとあります。
JavaScriptのイベント処理と組み合わせて使うと様々な情報を取ることができます。
このイベントトラッキングがあればなんでも集計できちゃうわけなんですよ。
Analyticsでイベントトラッキングの設定方法
以下はgtag.jsを利用していることを前提に書いています。
よくわからないと思うけれど、トラッキングコードの種類で、古いAnalyticsをそのまま使ってる人はanalytics.jsかもしれない。
現在はanalytics.jsからgtag.jsに移行ということになっています。
古いままの人はこちら。
analytics.js から gtag.js に移行する | ウェブ向けアナリティクス(gtag.js) | Google Developers
イベントトラッキングを設置する方法は、以下の構文を覚えるだけ。
gtag('event', 'アクション', { 'event_category': 'カテゴリ', 'event_label': 'ラベル', 'value': '値' });
例えば、あるタイミング、ここではリンクがクリックされた場合に情報を送りたい場合はこんな感じ。
<a href="#" onclick="gtagの処理">リンクテキスト</a>
上の構文入れるとこうね、
<a href="#" onclick="gtag('event', 'アクション', { 'event_category': 'カテゴリ', 'event_label': 'ラベル', 'value': '値' });">リンクテキスト</a>
例えば、PDFを開いたときにPDFを開いたよという情報を教えたい。
その場合は、PDFのリンクをクリックした際に記録すればいいので、上のようにonclickというイベントのタイミングでデータを送ることになります。
最終的な形ややこしいけれど、上から順にみてもらうと難しくは無いと思う。
と思ったけど、初めてコードを見る人にはよくわからんよね。
こういうなのは実際自分で書いてみたほうがいい。
パラメータについて具体的に説明すると
gtag('event', 'アクション', { 'event_category': 'カテゴリ', 'event_label': 'ラベル', 'value': '値' });
書いてある通りではあるんだけれど、実際に集計される時にはAnalyticsでこのように表示される。
アクションとか、カテゴリ、ラベルというのはこの部分で分類(赤枠)されてて、クリックするとそれぞれの値で分類(緑枠)されてる。
アクションとか、カテゴリ、ラベルについては入れる値に決まりはないので、扱いやすいように値を分類して使ってください。
何でもいいんですが、あえて例を
- アクション:click, play, scroll
- カテゴリ:pdf, youtube, xlsx, campaign
- ラベル:リンク先のURL,ファイル名,動画タイトル,キャンペーン名
のような感じでしょうか。
決まりはないけれど、例えばこんな感じで入れたりします。
ちなみに、
‘value’: ‘値’
は任意なので入れなくてもいいです。
基本的にはボタンを1回をしたら1カウントみたいな感じで記録していくので、その場合はここは何も指定しなくてもいいです。
例えばショッピングカートとかで、商品の金額がそれぞれ違う場合とか、ボタンごとにここに金額入れておくと、Analytics上では累計がわかるといった感じですね。
今回はクリックしたときに記録されるonclickというものを使ったんだけれど、JavaScriptを使えばいろいろなタイミングのイベントを取ることができます。
どこまでスクロールしたときとかマウスが上に乗った時とかね。
工夫次第で様々なデータを記録できるんです。
例えばスライドショーの何枚目まで見てもらってるのかなぁなんてこともできたりします。
ただ、注意したいことは、イベントトラッキング使えばいろんな情報を取得できますよーってお客さんに話すと、とりあえずあれもこれもと要望されるのですが、基本的には目的があってデータを取得するので、とりあえずというのは良くないです。
そのデータで何がわかって、何をしたいのかという設計を事前にしておきましょう。
あるあるなのですが、記録された数字を見て一喜一憂するだけということが多いですが、改善につなげられなければ意味がないので。
また数字だけではなくて、資料請求をした人はどういった形ので資料請求に至っているのかとか、特定のリンクを押している人はどういう傾向があるのかとかそういったものを調べる方がすごく重要です。
それを元に改善を行って、その結果記録している数字の変動をみて確認ということをします。
イベントトラッキングとセグメントを組み合わせるなどして把握するともっと効果的です。
イベントトラッキングを使えば、標準では記録できない記録されないようなものも、各々の事情によって必要なものを必要なだけ取得して記録していくことができるすごくパワフルな方法です。
ホームページを運営する人にとって目的は様々、基本的なところはAnalyticsで記録されていくのですが、サイトそれぞれで事情は異なるので、必要な情報は自分でカスタマイズして取得する必要があります。
何を知りたいのか、そしてなぜそれを知りたいのか、それをどう活用するのかということを考えてそれに適切なイベントトラッキングを設定するようにしましょう。
昨日はMicrosoft Azureの勉強会に行ってみたんだけどもう全くもってチンプンカンプン。w
最近は興味がある勉強会にとりあえず出てみたりするんだけど、何を言ってるかわからないのに出てるのって結構しんどい。
でも、わからないながらもなんとなくざっくり雰囲気がわかったりして、これから勉強するモチベーションにもなるし刺激にもなっている。
懇親会なんて始まる前は、自分ここいていいのか?という感じなんだけど、始まってみると意外といけるもんだね。
その話題に持っていかない技術がつくわ。笑
もうすぐ春ですね、暖かい日が続いて今日も天気がいいのでどっか出かけたいけれど、まあ仕事。
京都では城南宮の梅が今ちょうどいいころらしい。
毎年行ってるんだけど、今年はタイミング的にむりかなぁ。
去年のです。
落ち椿と梅の競演が有名です。
今週末、人がすごそうだな。。明日こっそり行くとかありかな・・・。