osone

Googleタグマネージャーのユーザー定義変数でイベントのレポートを見やすくする

<この記事はこんな方が対象です>
・GoogleAnalyticsのイベント計測がどんなものか分かる
・Googleタグマネージャーを使ったことがある


イベントの計測には、Googleタグマネージャー(GTM)を使うととっても楽ですよね。

今回はこのサイト、Tips Noteにイベントを設定してみようと思います。
https://www.tam-tam.co.jp/tipsnote/

前提条件
・記事のURLは以下のルールで統一されている。カテゴリの指定は必ずされている。
https://www.tam-tam.co.jp/tipsnote/(記事のカテゴリ)/(記事ID).html
・投稿日、著者の記述は必ずある

どの記事の外部リンクが押されているのか知りたい

という要望があったとします。

どの記事の/外部リンクが/押されている(クリックされている) という3つの要素になります。

↓↓レポートで見るにはどういうデータの作り方をしたら良いか↓↓

・どの記事か判別するためのユニークな要素は何か→ URL、投稿日など
・クリックされた外部リンク→ リンク先のURLがhttp://www.tam-tam.co.jp/以外

簡単に設定するとこう

イベントカテゴリ TIPSNOTE_外部リンククリック_例
イベントアクション リンクがクリックされたURL
GTMで用意されている変数 {{Page URL}}
イベントラベル リンク先の外部URL
GTMで用意されている変数 {{Click URL}}

※トリガーでは「www.tam-tam.co.jpを含まないリンククリック」を指定しています

GTMでのイベント設定画面はこんな感じ

スクリーンショット 2015-12-03 15.22.47

レポートに上がってくるとこんな感じ

スクリーンショット 2015-12-03 16.15.29

これでも取りたい情報は取得できていますが、数が多いとちょっと分かりにくいですね。
レポートを見たときに、「記事のカテゴリ」「著者名」「投稿日」がパッと分かるといいかもしれません。
今回GTMで用意されている変数では欲しいデータが取れないため、ユーザー定義変数を設定します。

ゴールはこう

イベントカテゴリ TIPSNOTE_外部リンククリック
イベントアクション 「記事のカテゴリ」「著者名」「投稿日」
例:javascript_kanke_2015.08.05
イベントラベル リンクを指定しているテキスト
例:XXX オフィシャルサイトはこちら
({{Click URL}}のままでも良かったのですがせっかくなので変えてみました)

URLからカテゴリを、HTMLから著者名と投稿日を取得していこうと思います。

スクリーンショット 2015-12-04 11.58.52

1.現在のURLを取得し、そこからカテゴリ部分を抜き出す

取得できるもの:「記事のカテゴリ」
使うもの:カスタムjavascript

記事のカテゴリがURLに必ず入っているので、URLから抜き出します。
URLのルールは以下
https://www.tam-tam.co.jp/tipsnote/(記事のカテゴリ)/(記事ID).html

この(記事のカテゴリ)の部分を取得します。
変数-ユーザー定義変数-新規で「カスタムjavascript」
以下のJavascriptを入力

function(){
var $dir = location.href.split("/");
var $dir2 = $dir[$dir.length -2];
return $dir2
}

一度現在のURL(全体)を取得し、length -2のところでディレクトリを指定します。

もしURLが以下のようなルールであれば、後ろから3つ目のところを取得するので、length -3となります。
https://www.tam-tam.co.jp/tipsnote/(記事カテゴリ)/(著者ID)/(記事ID).html

スクリーンショット 2015-12-03 13.58.39

※カスタムjavascriptでは[return ***]のように値を返さないとデータが取得できません

これで変数「カテゴリ名を取得」にはカテゴリ名が入りました。

2.DOMから著者名を取得する

取得できるもの:「著者名」
使うもの:DOM 要素

著者は各記事に必ず入っており、HTMLだとこの部分になります。

スクリーンショット 2015-12-04 12.47.00のコピー

変数-ユーザー定義変数-新規で「DOM 要素」
要素セレクタを指定します(クラス名のとき.を忘れずに!)

スクリーンショット 2015-12-04 12.18.34

これで変数「著者を取得」には著者名が入りました。

3.DOMから投稿日を取得する

取得できるもの:「投稿日」
使うもの:DOM 要素

投稿日も各記事に必ず入っています。

スクリーンショット 2015-12-04 12.47.00

変数-ユーザー定義変数-新規で「DOM 要素」

スクリーンショット 2015-12-04 12.00.11

これで変数「投稿日取得」には投稿日が入りました。


変数の設定が完了したので、トリガーでは「www.tam-tam.co.jpを含まないリンククリック」を指定し、
タグを作成します。タグの名前は「TIPSNOTE_記事内外部リンククリック」とします。

タグ-新規-トラッキング タイプ「イベント」

アクションには先ほど作成した3つの変数を入力します。
{{カテゴリ名を取得}}{{著者を取得}}{{投稿日取得}}

スクリーンショット 2015-12-03 15.04.25

タグを設定したら、GTMのプレビューで確認します。

記事の中の外部リンクをクリックすると……

スクリーンショット 2015-12-04 12.05.04

「TIPSNOTE_記事内外部リンククリック」のタグの発火が確認できました。

無事動いているので、GTMの公開をし、GoogleAnalyticsのほうでレポートを確認します。

スクリーンショット 2015-12-03 14.27.09 スクリーンショット 2015-12-03 14.27.24

レポートに反映されました。

このようになっていますね。

イベントカテゴリ TIPSNOTE_外部リンククリック
イベントアクション 「記事のカテゴリ」「著者名」「投稿日」
例:javascript_kanke_2015.08.05
イベントラベル リンクを指定しているテキスト
例:XXX オフィシャルサイトはこちら
({{Click URL}}のままでも良かったのですがせっかくなので変えてみました)

<変更前>

スクリーンショット 2015-12-03 16.15.29
↓ ↓ ↓

<変更後>

スクリーンショット 2015-12-03 14.27.24

変更後のほうがパッと見でわかりやすくなった気がします。


※今回はトリガーに「www.tam-tam.co.jpを含まないリンククリック」を設定し、すべての外部リンクを対象にしていますが、
特定のサイト(AAA.com)への遷移を測りたい場合には「AAA.comを含むリンククリック」と設定します。


イベントで指定できるのはカテゴリ/アクション/ラベルと項目が限られていますが、
内容が組み合わせを工夫することによって使いやすいデータにすることができます。

Googleタグマネージャーを使うと手軽にデータの取得ができるので、必要があるときはユーザー定義変数などを使用してレポートを見やすくしていきましょう。

新しいウェブ体験を作ろう TAMのPWA開発
お問い合わせはこちら