最近フォームのURLが「入力」、「確認」、「完了」すべて一緒でGoogleアナリティクスの目標設定ができないという案件があり、対応したので備忘録としてまとめてみました。
今回のパターンは同一URLだけど読み込んでるファイルが別パターンです。このパターンならすごく簡単、シンプルな設定で対応が可能です!
もくじ
今回の状況確認
・PHPで書かれてて入力画面、確認画面、完了画面が別々のファイルを読み込む仕様。
・ヘッダー、フッターは共通のものを読み込んでいる。
・Googleアナリティクスのタグはヘッダーファイルに直書きしている。
・Googleアナリティクスのタグはユニバーサルタグ。
仮想ページビューと目標設定までの流れ
①ヘッダーに直書きしているGAタグの削除
②入力、確認、完了それぞれのファイルに仮想ページビューのカスタマイズしたタグを設置。
③更新したファイルをアップ。
④Googleアナリティクスの目標設定をして完了!
仮想ページビューのカスタマイズの方法
GAの下記部分を書き換えるだけのシンプルな方法です。
ga('send','pageview',{'page':'任意指定','title':'任意指定'});
それぞれのページに設置するタグを解説します。
▼Googleアナリティクスの初期タグ
<script> (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','https://www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-○○○○', 'auto'); ga('send', 'pageview'); </script>
※UA-○○○○の箇所はサイトによって異なるので自社のタグを確認してください。
▼入力画面に設置するタグ
(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','https://www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-○○○○', 'auto'); ga('send','pageview',{'page':'/contact/input/','title':'入力'}); </script>
▼確認画面に設置するタグ
(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','https://www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-○○○○', 'auto'); ga('send','pageview',{'page':'/contact/confirm/','title':'確認'}); </script>
▼完了画面に設置するタグ
(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','https://www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-○○○○', 'auto'); ga('send','pageview',{'page':'/contact/thanks/','title':'完了'}); </script>
それぞれのサイトによって表記したいものは変わってくると思います。そもそもそのURLが存在していたら変更しなくてはいけないですし。なので上記は一例ですがこんな感じのカスタマイズが必要になります。
同一URLかつ同じファイルを読み込んでいるパターンもあったりします。
それはまた別の機会に記事にしますね。
今回はここまで。