Googleアナリティクス


2016.6.22

CASIO/G-SHOCK/Baby-G【カシオ/Gショック/ベビーG】ペアウォッチ ソーラー電波腕時計 ブラック/ホワイト(国内正規品)GW-M5610R-1JF/BGD-5000-7CJF [業務用バキュームクリーナー 暮らしの幸便 [NO.9-511-fox]


「ユーザーが離脱したページの、滞在時間を知りたい」

Googleアナリティクスを導入していて、主要なランディングページの直帰率改善を行いたいお客さまや、ブログ記事のような1ページ完結型のページが本当に読まれているか知りたいお客さまから、しばしばいただくご要望です。

今回は、Google タグマネージャを使用して、Google アナリティクスでページ滞在時間(+アルファ)をより精緻に・網羅的に計測する手法を紹介します。

CASIO/G-SHOCK/Baby-G【カシオ/Gショック/ベビーG】ペアウォッチ ソーラー電波腕時計 ブラック/ホワイト(国内正規品)GW-M5610R-1JF/BGD-5000-7CJF【爆売り!】

Google アナリティクスにおける「滞在時間」は、連続するページビューヒットの計測時刻の差から算出されます。そのため、セッションの末尾のページである離脱ページについては、滞在時間が「0秒」となってしまいます。直帰の場合に「セッション滞在時間」が「0秒」となる事象も、この特性によるものです。

ページビューヒットに滞在時間の情報を付与する

さて、今回の目的は、離脱ページの滞在時間を精緻に計測することです。離脱ページはユーザーの気分次第で変わるため、あらかじめ計画することはできません。そこで、すべてのページを対象として滞在時間を計測する方法を検討します。

Google アナリティクスでページの滞在時間を扱う方法として、任意の時間経過をイベントとして計測する手法が知られています。この手法は、手軽で充分に効果的ですが、正確な滞在時間を計測することはできません。さらに、サイトコンテンツを網羅して対象にしようとなると、ページビュー×2のヒットが必要となるため、データ収集上限への抵触が心配になります。

ヒット数を増加させずに滞在時間を計測する方法はないでしょうか? たとえば、一般的にすべてのページについて計測されているヒットがあるとして、そのヒットに追加で滞在時間の情報を付与できれば、具合がよさそうです。

一般的にすべてのページについて計測されているヒット――「ページビューヒット」です。

時系列の矛盾と、その解決

ページビューヒットに滞在時間を付与するためには、解決しなくてはならない問題があります。
時系列の矛盾です。

CASIO/G-SHOCK/Baby-G【カシオ/Gショック/ベビーG】ペアウォッチ ソーラー電波腕時計 ブラック/ホワイト(国内正規品)GW-M5610R-1JF/BGD-5000-7CJF【爆売り!】

Google アナリティクスのページビューヒットは、通常であれば、Webブラウザ上でページが読み込まれるタイミングで発生して、サーバーに送信されます。
一方で、滞在時間を計測したいタイミングは、当然ながらページが読み込まれた後です。計測結果を付与したくても、ページビューヒットはすでに送信されていて、上書きしようがありません。

解決のアプローチ

・ページビューヒットの送信を、ページ離脱のタイミングに繰り延べる
結局のところ、ページビューヒットの発生タイミングを遅らせるしかありません。
ページ離脱のタイミングでならば、滞在時間を格納したページビューヒットを送信できます。

・ヒットの発生時刻を補正する
さらに

割引発見【1年保証】◆2個セット◆ Black&Decker A144 / A144EX 互換バッテリー 14.4V 2.0Ah 2000mAh サムスン社セル ブラック&デッカー スライド式 NI-CD / ブラックアンドデッカー

【オススメ】【予備電池付】パナソニック Panasonic EZ7520LA2S-B 7.2V 1.5Ah 充電式マルチインパクトドライバー SLIMO CASIO/G-SHOCK/Baby-G【カシオ/Gショック/ベビーG】ペアウォッチ ソーラー電波腕時計 ブラック/ホワイト(国内正規品)GW-M5610R-1JF/BGD-5000-7CJF ■マキタ■18Vコードレスブロワ【UB182】本体のみ

EB1233X 日立工機 12V蓄電池(差込みタイプ)

Showa/昭和電機 【納期未定】電動送風機 汎用シリーズ(0.04kW) SB-151 CASIO/G-SHOCK/Baby-G【カシオ/Gショック/ベビーG】ペアウォッチ ソーラー電波腕時計 ブラック/ホワイト(国内正規品)GW-M5610R-1JF/BGD-5000-7CJF エボリューション【EVOLUTION】FURY3-B 210mm 万能切断卓上マルノコ FURY3-B★【フューリー3B】

マキタ 14.4V リチウムイオン セレクトパック【ky】【京都●送料0901】【爆売り!】

マキタ電動工具 10.8Vリチウムイオンバッテリー BL1013(A-48692)【お買い得5個セット】A-51247 CASIO/G-SHOCK/Baby-G【カシオ/Gショック/ベビーG】ペアウォッチ ソーラー電波腕時計 ブラック/ホワイト(国内正規品)GW-M5610R-1JF/BGD-5000-7CJF 静岡製機 赤外線オイルヒーター バルシックス VAL6miniF1(ミニエフワン) 50/60Hz指定 [個人宅配送不可]

日立工機:0032-607512Vスーパー水素電池(冷却対応) EB1233X 容量3.3Ah フラット電池

JV75955 ニューフォレスタHR10×50WP 05P06Aug16 CASIO/G-SHOCK/Baby-G【カシオ/Gショック/ベビーG】ペアウォッチ ソーラー電波腕時計 ブラック/ホワイト(国内正規品)GW-M5610R-1JF/BGD-5000-7CJF 【MIZAR-TEC】ミザールテック 天体望遠鏡 屈折式 口径80mm 焦点距離640mm MK-80S /4点入り(代引き不可)

割引発見【国内正規品】 CeLeSTRON 天体望遠鏡 Rowe-Ackermann Schmidt Astrograph シュミットアストログラフ 口径279mm 焦点距離620mm Ce91075

ビクセン NLV50mm接眼レンズ CASIO/G-SHOCK/Baby-G【カシオ/Gショック/ベビーG】ペアウォッチ ソーラー電波腕時計 ブラック/ホワイト(国内正規品)GW-M5610R-1JF/BGD-5000-7CJF Vixen(ビクセン) GP極軸望遠鏡セット 3912-02【TS】

☆Vixen(ビクセン) レデューサー AX103S (APS-C用) 37228-7[返品交換不可/はこぽす・BOX・コンビニ受取非対応商品]

AstroStreet 口径90mm コンパクトマクストフカセグレン c90Mak (正立プリズム付属) CASIO/G-SHOCK/Baby-G【カシオ/Gショック/ベビーG】ペアウォッチ ソーラー電波腕時計 ブラック/ホワイト(国内正規品)GW-M5610R-1JF/BGD-5000-7CJF Vixen(ビクセン) A80M鏡筒 2606-07望遠鏡レジャー用品

Vixen(ビクセン) スターパル-50L 33101-7【爆売り!】

Vixen(ビクセン) レデューサーED80Sf(Nikon用) 37231-7 CASIO/G-SHOCK/Baby-G【カシオ/Gショック/ベビーG】ペアウォッチ ソーラー電波腕時計 ブラック/ホワイト(国内正規品)GW-M5610R-1JF/BGD-5000-7CJF Vixen(ビクセン) レデューサーED80Sf(SONY(ソニー)α用) 37233-1

WilliamOptics GT81mm f5.9 3枚玉APO屈折鏡筒 FPL53

サンコー サンコ- Dino-EYE TV DINOEYETV CASIO/G-SHOCK/Baby-G【カシオ/Gショック/ベビーG】ペアウォッチ ソーラー電波腕時計 ブラック/ホワイト(国内正規品)GW-M5610R-1JF/BGD-5000-7CJF ミニテンタイボウエンキヨウM-600【税込】 ナシカ ミニ天体望遠鏡「M-600」 [ミニテンタイボウエンキヨウM600]【返品種別A】【RCP】

割引発見工業用内視鏡 ウマレックス 完全防水 【日本正規品】 ビデオスコープXXL

天体望遠鏡 77EDII フード ブラック 2777 BORG ボーグ CASIO/G-SHOCK/Baby-G【カシオ/Gショック/ベビーG】ペアウォッチ ソーラー電波腕時計 ブラック/ホワイト(国内正規品)GW-M5610R-1JF/BGD-5000-7CJF ペアウォッチ[オーバル型]天然エメラルド&ジルコニア使用【smtb-TD】【saitama】

天然ダイヤモンドを使用したセラミック製のペア腕時計/ペアウォッチ【2個セット】

[送料無料]【LES PARTISANES】レ・パルチザンL'AUDACIEUSE SILVER ブラックプレーンレザー/シルバー 時計 レディース ウォッチ CASIO/G-SHOCK/Baby-G【カシオ/Gショック/ベビーG】ペアウォッチ ソーラー電波腕時計 ブラック/ホワイト(国内正規品)GW-M5610R-1JF/BGD-5000-7CJF 【P7】カシオ/CASIO G-SHOCK/Gショック Baby-G/ベビーG【GA-110DN-4A/メンズ(124)】【BA-110SN-4A/レディース(123)】【ペアウォッチ】【並行輸入品】【新品、本物だから安心】

【国内正規品】【カシオソーラー電波時計 ペア箱入りセット】 CASIO(カシオ) WVA-M630D-1AJF・LWQ-10DJ-4A1JF カシオ専用ペア箱セット 【MULTIBAND6 世界6局対応電波ソーラー スライドアジャスタ フリーバンド】【ペアウォッチ】

【全商品】【中古】CASIO/カシオ G-SHOCK/ジーショック BABY-G腕時計 ラバーズコレクション ホワイト×ホワイト クォーツ ナイロンベルト10P06Aug16 CASIO/G-SHOCK/Baby-G【カシオ/Gショック/ベビーG】ペアウォッチ ソーラー電波腕時計 ブラック/ホワイト(国内正規品)GW-M5610R-1JF/BGD-5000-7CJF CASIO ジーショック 腕時計 ペアセレクション LOVE-N G-SHOCK Baby-G GA-110GW-7AJF BA-110-7A1JF ペアウォッチ/ギフト/記念日/誕生日/クリスマス/カップル

Gショック MTGペアウォッチ ソーラー電波時計 【腕時計 ペア ウォッチ カップル ブランド】 MTG-1200-1AJF+BGA-1300-7AJF 89,0 B10【爆売り!】

スイスミリタリー SWISS MILITARY レディース 腕時計 ELEGANT ML182 CASIO/G-SHOCK/Baby-G【カシオ/Gショック/ベビーG】ペアウォッチ ソーラー電波腕時計 ブラック/ホワイト(国内正規品)GW-M5610R-1JF/BGD-5000-7CJF スイスミリタリーウォッチ SWISS MILITARY 腕時計 ペアウォッチ(男女2本セット)ROMAN ローマン・ネイビーブルー文字盤/ML-376 ML-378

、アナリティクスが前提としているタイミングと整合させるため、ヒットの発生と送信の時間差を補正する必要があります。
ヒットの送信内容を規定する Measurement Protocol において、まさにこの時間差を指定するためのパラメータ「キュー時間(qt)」が定義されています。

Measurement Protocol のパラメータ リファレンス | アナリティクス Measurement Protocol | Google Developers

Google タグマネージャでの実装

以上の解決策をふまえて、今回の手法は、下記のような構成要素で実装します。

1. 定数「UA_ID」
2. データレイヤー変数「DLV – gtm.start」
3. カスタムJavaScript変数「getStayTimeMsec」
4. カスタムJavaScript変数「getStayTimeSec」
5. カスタムイベント「Exit Page」
6. カスタムHTMLタグ「SCRIPT – load UA」
7. カスタムHTMLタグ「SCRIPT – collect actions」
8. ユニバーサルアナリティクスタグ「PV – on exit page

定数「UA_ID」

Google アナリティクスのトラッキング IDとして参照します。任意の値を設定してください。

データレイヤー変数「DLV – gtm.start」

データレイヤーの変数名:gtm.start
データレイヤーのバージョン:バージョン2

ページビューヒットの発生時刻を補正するためには、本来の動作でヒットが発生するはずの時刻が必要です。「gtm.start」は、Google タグマネージャの設置スクリプトが暗黙にセットする変数ですが、値としてスクリプトの初期化開始時刻が格納されます。この開始時刻を、ヒットの本来の発生時刻に見立てます。

カスタムJavaScript変数「getStayTimeMsec」

カスタムJavaScript:function(){return new Date().getTime() – {{DLV – gtm.start}};}

変数が評価されるタイミングで、その時点の時刻とGoogle タグマネージャの初期化時刻との差を算出します。この値を、ページビューヒットの発生時刻の補正に適用します。

カスタムJavaScript変数「getStayTimeSec」

カスタムJavaScript:function(){return Math.floor({{func – getStayTimeMsec}} / 1000);}

滞在時間をカスタム指標に適用するための変数です。Google アナリティクスのカスタム指標における「フォーマット タイプ:時間」の単位は「秒」です。これを、前項のカスタムJavaScript変数「getStayTimeMsec」で得られるミリ秒単位の時間から算出します。

カスタムイベント「Exit Page」

イベント名:exitPage

後述する「SCRIPT – collect actions」タグによりプッシュされ、「PV – on exit page」の配信トリガーとなるイベントです。

カスタムHTMLタグ「SCRIPT – load UA」

<script>
(function(i,s,o,g,r,a,m){i[‘GoogleAnalyticsObject’]=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,’script’,’//www.google-analytics.com/analytics.js’,’ga’);

ga(‘create’, {{UA_ID}}, ‘auto’, {‘allowLinker’: true});
</script>

配信するタイミング:すべてのページ

Google タグマネージャが標準で提供しているユニバーサルアナリティクスタグには、ページビューの送信が含まれているため、今回の手法では使用できません。
その代わりに、ユニバーサルアナリティクスのスニペットからページビューの送信処理を除外したコードを、カスタムHTMLタグとして配信します。これは、ページ読み込み直後に実行すべき処理になります。(たとえば、クロスドメイン対象のリンクにリンカーを適用するなど)

カスタムHTMLタグ「SCRIPT – collect actions」

<script>
(function() {
var isExited = false;

function pushActionsOnExit() {
if (isExited) {return;}
dataLayer.push({event: ‘exitPage’});
isExited = true;
}

window.addEventListener(‘beforeunload’, pushActionsOnExit);
window.addEventListener(‘pagehide’, pushActionsOnExit);
setTimeout(pushActionsOnExit, 20 * 60 * 1000); // 放置対策
})();
</script>

配信するタイミング:すべてのページ

ユーザーのページ離脱を検知して、上述のカスタムイベントを発火します。
ページ離脱とみなすイベントには、一般的なBeforeUnloadのほかに、BeforeUnloadを発火しないiOS SafariのためPageHideを指定します。また、長時間ブラウザを放置された場合に備えて、タイムアウトによる時間制限も設けています。

ユニバーサルアナリティクスタグ「PV – on exit page」

トラッキング ID {{UA_ID}}
トラッキング タイプ ページビュー
▼その他の設定
設定するフィールド queueTime {{getStayTimeMsec}}
カスタム ディメンション (任意)
カスタム指標 1 {{getStayTimeSec}}
配信するタイミング:Exit Page

ページ離脱のタイミングで、ページビューヒットを送信します。

・設定するフィールド「queueTime」
「queueTime」という名前のフィールドが、ヒットの発生と送信の時間差を指定する項目です。ここに、カスタムJavaScript変数「getStayTimeMsec」の値を適用します。

・カスタムディメンション・指標
カスタム指標のインデックス1に「getStayTimeMsec」の値を適用します。これが、ユーザーのページ滞在時間(ミリ秒)となります。
その他に収集したユーザー行動があれば、カスタムディメンションやカスタム指標に追加すると良いでしょう。

Google アナリティクスでのレポート

以上の実装で、このようなレポートを得ることができます。

Google アナリティクスの標準の「ページ滞在時間」が「0秒」のヒットについても、カスタム指標「滞在時間(Deferred PV)」欄に時間がレポートされるようになりました。

+アルファ:熟読率を計測する

ページビューを繰り延べして送信する手法を応用することで、滞在時間以外にも、そのページにおけるユーザーの行動を幅広く計測することが可能になります。

たとえば、ユーザーが「スクロールして閲覧したページの割合」や「熟読=十分に滞在・スクロールされた閲覧」を計測することで、以下のようなレポートを得ることができます。

終わりに

Google アナリティクスは、標準的な使い方でも十分に有用なツールですが、そのままの「滞在時間」や「ページビュー数」だけでは見えてこない傾向があることも確かです。
そこで応用として一工夫…という時に、Google タグマネージャは柔軟な拡張を実現してくれます。

弊社では、これらのツールを駆使して、データ解析の入り口となる計測基盤の構築サービスを提供しております。みなさんのビジネスにお力ぞえできれば幸いです。ご興味をお持ちいただけましたら、ぜひお気軽にご相談くださいませ。

お問い合わせフォーム


Principle-c

Google社からGoogleアナリティクス認定パートナーとして認められる、、日本ではわずか15社しかないトップレベルのデータ解析、オンラインマーケティング会社。創業わずか4年超ですが、業界トップレベルのコンサルタントが、大手企業を中心にオンラインマーケティングの支援をしており、4期連続増収増益、スタッフ数も40名を超え急成長しております。


> の記事一覧

関連記事

2016.5.6

【合コン上手】は分析も上手?合コンから考える、GoogleアナリティクスでのKPIの決め方

著者:
2017.2.23

日経MJ寄稿文|Web広告の効果を上げるには

著者:
2015.4.25

サーチコンソール徹底活用!~β版機能「検索アナリティクス」でできるようになることとは?~

著者:
2016.2.3

Google Analytics API の調べ方

著者:
2015.12.27

メジャメントプロトコルによるIoT事始め

著者:


{yahoojp} {principle-c.com} myp12-gui-2142