ウェブマスターがウェブのことを書いたら

ウェブマスターとして働いている管理人がウェブで躓いたこと、ググったことを備忘録として書いています。主に技術的なこと、WEBサイト設計のこと

タグマネージャでアナリティクスのaタグのイベント取得方法

      2016/03/23

 - Googleアナリティクス, javascript

Googleタグマネージャで、Googleアナリティクスのトラッキングコードを挿入した場合に、従来のaタグでのonclickイベントがトラッキングできなかったので対処方をまとめます。イベントトラッキングできるようにする方法です。

Googleアナリティクスのトラッキングコードはユニバーサルアナリティクス対応版です。

Googleタグマネージャでは従来のaタグイベントトラッキングはできない

Googleタグマネージャのコードを通常の設定のまま挿入すると、従来のaタグでHTMLに直書きしてのイベントトラッキングはできません。

HTMLに直書きする記載例はこのタイプのもの

<a class="btn01" href="URL" onclick="ga('send', 'event', 'カテゴリ', 'アクション', 'ラベル', 値);">申し込みボタン</a>

Googleタグマネージャでユニバーサルアナリティクスのタグを設置している場合は、イベントトラッキングコードもGoogleタグマネージャで設置する必要があります。

理由はヘルプフォーラムで回答されています。
記述間違い?イベントトラッキングが計測できません

Google Tag Managerでは、トラッカー名をデフォルトのものとは異なるトラッカー名で生成しています。
なので、イベントトラッキングに使うトラッカー名もGoogle Tag Managerで生成したトラッカー名で呼び出す必要があり、Google Tag Managerでは、ランダムな文字列がトラッカー名についているので、固定でそのまま呼び出すのも難しいと思います。
(同期型のgaコマンドで、トラッカーを全て取得して、利用するトラッカーを決めればできないことはないですが、それよりも、Tag Managerで実装するのが確実かと思います

(ありがとうございます。)

Googleタグマネージャでaタグのイベント取得する方法

通常のタグマネージャの設定ではイベントトラッキングはできないですが、取得できるようにする方法があります。

こちらも同じ方がヘルプフォーラムで回答されています。
タグマネージャーでGoogleアナリティクスを入れた場合、aタグでのイベントトラッキングコードは使えない?

GTM経由でページビューを送信するGAタグを設置した場合、トラッカー名がデフォルトのものではなく、ランダムな文字列になってしまいます。
その状態で、トラッカー名を指定せずにonclick=”javascript: ga(‘send’, ‘event’, ”, ”, ”);”のようにすると、デフォルトのトラッカー名を探しますが、それが存在しないため、どのトラッキングIDのGAに送信すればよいか分からず、イベントが送信されません。

対策としては、
「その他の設定」>「高度な設定」>「トラッカー名を設定する」で「トラッカー名」に、「t0」と入れる。
(t0は、トラッカー名を指定しなかったときに使われるデフォルトのトラッカー名)

通常の設定のままだとトラッカー名が違っているので取得できないということのようです。なのでタグマネージャのアナリティクス設定ページでトラッカー名を従来のものに固定する必要があります。「トラッカー名」に、「t0」と入れる。

私もこの設定することで取得できるようになりました。

まとめ

GoogleタグマネージャでHTML直書きのaタグイベントトラッキングする場合は、Googleタグマネージャのアナリティクスの設定で、「その他の設定」>「高度な設定」>「トラッカー名を設定する」で「トラッカー名」に、「t0」と設定することで取得できるようになります。