みなさんこんにちは。
先日はOptimizelyとGoogle Analytics(Universal Analytics)を連携する方法をご紹介しました。
基本的には先日の内容で問題ないのですが、タグマネージャーを使っている場合はどうなの?というご質問をリアルでいただきましたので、ご紹介します。
目次
タグマネージャーとは
昨今、非常に多くの種類の広告が出てきています。
そして、事業としてWebサイトを運営していると非常に多くの広告やタグを使う事になります。
しかし、世の中のWeb担当者や広告管理者全員が、サイトのプログラムソースを変更する技量や権限があるわけではありません。
また最近多くなってきたと感じる
- トラッキングのビーコンや成果確認など、タグの数が非常に多くなり、ロードに時間が掛かるような数になってきた
- タグの発行のたびに関連会社や社内担当に依頼するという煩雑さに耐えられなくなってきた
という2つの問題を解決出来るのがタグマネージャーです。
国内では
- Yahoo!タグマネージャー
- Google Tag Manager
の2つが有名なタグマネージャーとなっています。
タグマネージャーの利点
端的に言うとタグマネージャーはその構造上、ロードが早くなるという利点があります。
詳しい構造の説明などは
で紹介されているので、ぜひご覧ください。
今回はそのタグマネージャーの一種、Googleタグマネージャー上に登録されているAnalyticsとOptimizelyの連携方法をご紹介します。
GoogleタグマネージャーのGoogle Analyticsタグ機能は使えない
Google Tag Managerには、いろんなタグが簡単に登録できるような機能が提供されています。
当然、同社が提供しているGoogle AnalyticsやGoogle AdwordsのタグもクライアントIDなどを入力するだけで動作するような機能が提供されています。
しかし、その機能を利用してOptimizelyとGoogle Analyticsを紐付けることは難しいです。
なぜなら、でもご紹介しましたが、OptimizelyとGAを連携させるためにはGAタグの間にOptimizelyタグを2行差し込む必要があるからです。
タグマネ上でGoogle Analyticsのコードを生成すると、その「2行の差し込み」が出来ないため、カスタムHTMLタグとしてGoogle Analyticsのトラッキングコードを作成することで、GTMを利用してAnayticsタグを配信し、Optimizelyと連携することが可能になります。
カスタムHTMLタグとしてGoogle Analyticsを登録する
カスタムHTMLタグとしてAnalyticsのコードを配信することでコードの中身の書き換えが可能になります。
<script> //Universal Analytics Setup (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-XXXX-Y', 'auto'); // Optimizely Universal Analytics Integration Code window.optimizely = window.optimizely || []; window.optimizely.push("activateUniversalAnalytics"); // End Optimizely Code ga('send', 'pageview'); </script>
上記のようなGoogle AnalyticsのトラッキングコードにOptimizelyのトラッキングコードを融合させたものをカスタムHTMLタグとして登録します。
あとは配信ルールを「すべてのページ」にしてタグを保存。
コンテナをパブリッシュしてやれば、本番環境に配信が開始されOptmizelyとAnalyticsが連携されているのを確認できるはずです。
実際に確認する
それでは実際にタグが発火しているか調べましょう。
TagManagerを利用しているときは、今までのようにソースコードを見てもタグは表示されていないので確認がしづらい状態になっています。
ですが、Google Chromeの「要素を検証>ネットワーク」などを利用すると実際に発火しているかは確認できます。
今回はAnalyticsの発火を確認したいだけですので、さらに便利に出来る拡張機能「Google Analytics Debugger」を利用して確認を行います。(Chrome限定)
Chromeに上記拡張機能をインストールした後、Optimizelyが発火するページにアクセスしましょう。
そのページで「要素を検証」を表示すると、下記画像のような表示になります。
そこで上記赤枠で囲んだような
「Running command: ga(“set”, “dimension1”, “Optimizely_webmake.info_Experiment (3544721052): Original”)」
表示が出てくれば、正しくOptimizelyで指定したカスタムセグメントでトラッキングされるはずです。
以上の工程でOptimizelyとGTMの連携を取ることが可能です。
カスタムHTMLタグを利用するのはスマートじゃないのでもっと良い方法があれば、ぜひ教えて下さい。