Googleタグマネージャで仮想ページビューを計測したいとき、ルックアップテーブル変数を使い、GTMタグの外にdataLayer.push({~}) を書かず、2つ変数を書くだけでOKという手法を実践してみました。GTMの操作だけで完結しますので、条件が合えば比較的実装しやすい仮想PVの手法かと思います。
こんにちは、Googleタグマネージャ大好きカグア!です。
本記事では、Googleタグマネージャを使った仮想ページビューの一例をご紹介します。方法は1つではありませんので、ご自身の環境にあった方法で実際にはご利用下さい。
関連記事
>>Web制作者がgtag.jsで知っておきたいGoogleアナリティクスの今
>>GoogleタグマネージャのYouTubeトリガーと変数で動画再生を調べる:追記有り
>>AMP版Googleタグマネージャで使えるタグ・トリガー・変数一覧2017と計測事例
>>GTM事例:WordPressの記事タグをGoogleアナリティクスで集計
>>Googleアナリティクス基礎:仮想ページビューの設定と計測方法
この記事の目次
URLが変わらないページ遷移
フォーム画面などで以下のように、URLが変わらない場合がありますよね。
そういうときに、単にGoogleタグマネージャでGoogleアナリティクスを設置しても、同一URL(パス)が送信されるだけです。上記の例ですと、確認画面と送信完了画面が同一もURLとして送信され、見分けが付かないということになります。
- /postmail/index.html
- /postmail/postmail.cgi
同一のURLのため、このようにレポートされてしまうのですね。これでは送信完了のPV数が把握できません。
そのようなとき、管理者が意図的にURLを変えてGoogleアナリティクスに送信できるテクニックを使って計測します。それが、仮想ページビュー(バーチャルページビュー・仮想PV)です。
今回のフォームは幸い、URLこそ同じですがタイトルタグが変化していますので、これをトリガーにして仮想PVを送信してみましょう。
なお、フォームのプログラムには予めGoogleタグマネージャが実装済み、という前提で進めます。フォーム送信のプログラムはメール送信などサーバーサイドのプログラム改修が絡みますので、GTMの実装自体はエンジニアに相談をして進めるようにしてください(フォームASP利用時はサポートなどに問い合わせ)。
※タイトルタグが他と重複していない前提です。他にも同一のタイトルタグがある場合は使えません。パワー・インタラクティブさんの仮想PVの方法がわかりやすいですので、そちらをご参照下さい。
>>URLが変わらないフォームをGoogleタグマネージャを使って正しく計測する設定|デジタルマーケティング専門コンサルティングのパワー・インタラクティブ
GTMで仮想ページビューの設定
タイトルタグを取得する変数を作成
タイトルタグの取得はとても簡単です。GTMではJavaScriptで扱えるオブジェクトをすぐに変数に使えます。
これだけで、上記の {{タイトルタグ}} には、TITLTEタグが格納されます。
ルックアップテーブルの作成
次にGTMの変数で、タイトルタグごとにURLを変える変数を作ります。このタイトルのページURLはこれ、というふうにルックアップテーブル変数で設定してしまうわけです。
確認画面には、confirm.html 、送信完了画面には、finish.html を割り当て、それ以外にはそのまま {{PagePath}} が割り当てられる設定にします。
こうすれば、タイトルタグが上記のときだけ、意図的にURLを変えてGoogleアナリティクスに送信ができる、ということです。
Googleアナリティクスの設定
Googleアナリティクスのタグに、pageフィールドを追加して、前述の {{仮想PV用URL}} 変数を追加すればOKです。
アナリティクス変数で設定している人は、以下のようにアナリティクス変数の画面で「+フィールド」をクリックして、page オプションを追加すればOKです。
仮想PV用のURLに置き換わって計測
リアルタイム解析で確認
早速、GTMのプレビューモードで確認します。フォームのテスト送信をしてみますと、今度はちゃんとURLが指定したものに置き換わっていることがわかります。
本仮想PVのメリット・デメリット
仮想URLを設定したいページのときだけ、例外設定をして、別途Googleアナリティクスタグを用意する方法もあります。
その方式では、Googleアナリティクスタグが複数になります。いっぽうで本方式はGoogleアナリティクスタグが1つで済み見通しが良くなる、GTMタグの外に dataLayer.push({~})を書かずに済む、というメリットがあります。
いっぽうで、明確に異なるタイトルタグが前提など、利用条件が限られます。
ルックアップテーブルへ認識させられるのであれば、タイトルタグでなくH1タグやIDなど、他の要素で構いません。ページ内に明確に区別できる部分がある場合には、シンプルに運用できますので、おすすめかもしれません。
利用機会があればぜひ試して見て下さい。
データ分析の力 因果関係に迫る思考法 (光文社新書) | 伊藤 公一朗
関連情報リンク
公式ヘルプでも同一URLの計測について書かれています。
>>到達ページ目標の設定例 – アナリティクス ヘルプ
analytics.js のページトラッキングの詳細設定です。
>>ページ トラッキング | ウェブ向けアナリティクス(analytics.js) | Google Developers
gtag.js のページトラッキング詳細設定。
>>Page tracking with gtag.js | Analytics for Web (gtag.js) | Google Developers
WordPressのContact7もURL遷移のないフォームの定番ですね。
>>【手順】Googleタグマネージャで「Contact Form 7」で作成したフォームの送信完了をアナリティクスで計測する方法 | つまみぐい×Blog
クライアントIDをとりあえず入れておくと便利。
>>GTMでGoogleアナリティクスのClient IDを取得する一番確実で楽な方法(2017年版) :: 「清水 誠」公式サイト
こちらは最新のGoogleアナリティクスのトラッキングコード gtag.js版。
>>【最新】gtag.jsでクライアントIDをカスタムディメンションに設定する方法 | SEM Technology
最新 gtag.js ではこういうふうに仮想ページビューをとります。
>>新タグ「gtag.js」での仮想ページビュー設定について – Google 広告主コミュニティ
仮想ページビューの手法を理解していますと、いろいろと応用が効きます。
>>リンクのクリックやダウンロードをページビューとして計測する! 仮想ページビューの使い方と注意点[第64回] | Googleアナリティクスとは/衣袋教授のGoogleアナリティクス入門講座 | Web担当者Forum
まとめ
ルックアップテーブルは、先日正規表現も使えるようになりましたので、非常に使い勝手の良い変数です。デフォルト値だけを設定して、普段からガシガシ使える変数のような気もします。
せっかくGTMを使っているので、可能な限りGTM内の操作だけで、カスタマイズを完結したいですよね、日々そんなことを考えてごにょごにょしています。
皆さんも良い方法がありましたら、ぜひシェアして下さい。
・ ・ ・ ・ ・
>>安っ!アマゾンで半額以下になっている食品タイムセール
セール特設ページを見る
↓↓↓無料のニュースレターを配信中です