390 人が現在オンライン
390 人が現在オンライン
Google アナリティクスの Google タグマネージャを含む計測の設定やトラブルシュートなどについて、ユーザー同士で意見交換ができます。解析を通して浮かんだ質問やアイディアを投げかけ合ってより知識を高めていきましょう。
ガイドを表示
star_border
返信

トラッキングコードを書き換えてonfocusされたフォームフィールドを取得したい

初級者 ✭

背景・目的

非常に項目数の多いフォームを開発予定です。そのフォームのどの項目において離脱しているか分析するために、onfocusされた項目を取得したく思っております。

 

課題

フォームの項目はPHPに動的生成されており、

<input type="text" onfocus="ga('send', 'event', 'form1', 'focus', '1company-name', null, true);" 〜>

のようにソースコードに埋め込むのが難しい状態です。

 

ご相談

トラッキングコードを書き換えて、focusされた項目を取得する方法をご教示いただけますでしょうか。

たとえば、トラッキングコード末にある ga('send', 'pageview');に一工夫して取得することはできないでしょうか。

 

そのほか

現状のタグ

 

<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-xxxxxx-x', 'auto');
  ga('send', 'pageview');

</script>

 

 

私の知識としては若干のJS、JQは使えます。

 

以上、宜しくお願い致します。

 

 

 

 

 

 

Re: トラッキングコードを書き換えてonfocusされたフォームフィールドを取得したい

レジェンド

JavaScript、jQueryが利用可能であれば、JavaScriptで同様のコードを書けばイベントを送信することができます。

自分の場合は、似たような状況であれば、下記のコードを設置することが多いです(実際にはGoogleタグマネージャを入れているので、GTM経由で入れれるように少し改変しています)。

 

そのまま使えるかどうかは分からないので、サイトに合わせて適宜修正してご利用ください。

 

 

if(typeof jQuery != 'undefined') {
  jQuery(function(){
    $('form').find(':text,:password,:radio,:checkbox,:file,select,textarea').on('focus', function(){
      var $this = jQuery(this);
      var label = $this.attr('id') || $this.attr('name');
      ga('send', 'event', 'Form Action', 'Change', label);
    });
    jQuery('form').find(':text,:password,:radio,:checkbox,:file,select,textarea').on('focus', function(){
      var $this = jQuery(this);
      var label = $this.attr('id') || $this.attr('name');
      ga('send', 'event', 'Form Action', 'Focus', label);
    });
  });
}