アフィリエイト

Matomoでページの移動やタブを閉じた場合の離脱を記録する

記事内に商品プロモーションを含む場合があります

Matomoで読者がどこでいつどのようにあなたのサイトを離脱したかを記録するのは重要です。デフォルトで外部リンクをクリックした場合は記録できますが、タブを閉じてしまったり、URLを入力したりお気に入りから別サイトへの移動は、通常記録されません。タグマネージャーを使ってそれらを記録する方法をお伝えします。

ページをタブに残したままの離脱の場合

次の記事でご説明したように、あなたのサイトのページをタブに残したまま、別のタブを開いたり、ブラウザ以外のアプリに移動した場合は、Windw Leaveというトリガーを使って簡単に設定できます。

Matomoでページをタブに残したままの離脱を記録する通常、Matomoで読者があるページを読んでいて、何秒読んだかというのは、他のページに遷移するか、外部リンクをクリックすることでしか記録...

しかし、上述したようにこれだと、タブを閉じてしまったり、URLを入力したりお気に入りから別サイトへの移動した場合は記録されません。

unloadはきちんと動かないのでpagehideを使う

実は、このためのトリガーとしてMatomoに用意されているイベントがWindow Unloadです。ただ、一度試してみたのですが、iOSのブラウザではきちんと動かないようでした。

PC、Mac、Androidではある程度動いているようでしたが、やはりiOSをトラッキングできないのは許容できません。

iOSだとunloadが機能しないというので、pagehideを使おうというのがネット上の定説になっています。

iPhoneでJSのunloadが効かない時の対応

Appleの公式ドキュメントでも、

unload

Deprecated, use pagehide instead.

Handling Events

また、GoogleのChromeの関係者も、unloadは非推奨なのでpagehideやvisibilitychangeを使おうと言っています。

アンロード イベントの非推奨

beforeunloadも使えるのかと思ったのですが、上の記事によると、バックグラウンドでタブが閉じられた時は発動しないということなので使えません。

なので、私はpagehideを使うことにしました。もしかしたら、visibilitychangeでも同じことができたり、もっと良いのかもしれませんが、こちらは試していません。visibilitychangeはstateと言う概念があるようなので、コードが複雑になる気がしたからです。

pagehideを使って、以下のように画面を閉じたタイミングが記録できるようになります。leaveの時と同じように、どこで離脱したかのスクロール位置も記録しています。

この設定方法をお伝えします。Matomoのタグマネージャーの基本的な使い方は以下の記事で説明しており、これをご理解頂いている前提でご説明します。

Matomoでブログの読者がどの目次をクリックしたかを記録するブログの読者がどの目次をクリックしたかが分かれば便利だと思いませんか?記事全体の中でどのコンテンツが人気かが一目瞭然になります。Mato...

トリガーを作る

leaveやunloadと違って、pagehideはmatomoにトリガーのタイプとして存在しません。なので、Custom Eventを使います。

左のカラムの「Triggers」>「CREATE NEW TRIGGER」を押したら、「Custom Event」を選択します。値は以下を入力します。

Name Window Pagehide
description
Window Pagehide
Event Name
window-pagehide

Nameやdescriptionは自分が分かれば何でもいいのですが、ポイントはEvent Nameです。こちらは、あなたのサイトに埋め込むコードで使います。なので、半角英数を使いスペースを使わない文字列にしましょう。

サイトにコードを埋め込む

以下はあなたのサイトに埋め込む通常のMatomoのタグマネージャーのコードに見えますが、9行目が違います。この9行目を追加します。

window-pagehide という先程設定したEvent Nameが使われていることにご注目ください。

この方法だと、この設定をするサイトごとにこのコードの修正を行う必要があり煩雑です。以下で説明されているプラグインを作成した場合、サイト側のコードは触らずに、Matomoの管理画面でできるかもしれません。

Triggers

しかし、まだ試せておりません。プラグインを作るには、コマンドラインが使える環境にMatomoがインストールされている必要がありそうなためです。

変数を作る

スクロール位置を取得するための変数を作ります。これは以下の記事の中で作っているので、まだ作っていない方はこれをそのまま行なってください。「Vertical Scroll Ratio」という名前で、変数ができます。

Matomoでサイドバーのどの目次をどこでクリックしたかを記録するMatomoでサイドバーのどの目次をクリックしたかと、クリックした場所も記録する方法をお伝えします。 記事冒頭も目次とサイドバーの目次...

タグを作る

タグの値としては私は以下にしています。

Name Window Pagehide
Description (optional) Window Pagehide
Configure what this tag should do Matomo の設定
Tracking Type Event
Event Category Window
Event Action Pagehide
postion : {{Vertical Scroll Ratio}} %
Execute this tag when any of
these triggers are triggered.
Window Pagehide

ここはLeaveの時と考え方は同じです。

リンククリック時も発動してしまう

ただ、内部リンクや外部リンクをクリックした場合は時間は明らかなので不要ですが、pagehideは発動してしまいます。ちょっと情報量が多くなりすぎますが、とはいえ、どのスクロール位置からクリックしたかわかるようになるので無駄ではないですが。

閉じる時の挙動によって様々な表示のされ方

以下のようにLeaveとPagehideがほとんど同時に発生していることがあります。

これはよくわからないのですが、もしかしたら、別タブを表示してから、あなたのページを開いていたタブを閉じるとこのようになるのかもしれません。

このように、タブを閉じる時の操作は人によって微妙に違うので、色々な表示になりますが、結果的にタブは閉じられたり、別のサイトにうつったというのは確実なので、そこまで気にしなくていいと考えています。

さいごに

デフォルトの設定だと記録できなかった、タブを閉じたり、URL入力やお気に入りからの離脱のタイミングをきちんと記録できるようになりました。Leaveの設定と併せて、ぜひサイトの改善にご活用ください。

そして、一つお願いしたいことがあります。

もしこの記事がお役に立てたのなら、下のボタンからSNSでシェアか、あなたのブログでご紹介頂けないでしょうか? 泣いて喜びます!