konchanxxx / menta

MENTAのタスク管理用リポジトリ
0 stars 0 forks source link

GoogleAnalyticsでActive Pageを変更する #45

Closed sumura80 closed 5 years ago

sumura80 commented 5 years ago

概要

RailsアプリへGoogleAnalyticsの導入する際に、ユーザーが他の画面に移動したら Active page の変更をしたいと思っております。:smiley: もしご存知でしたら教えて頂きたいです。

困っていること

現在、RailsアプリへのGoogleAnalyticsの導入を行なっております。 手順としては、下記のサイトを見本にして導入いたしました。 https://qiita.com/lni_T/items/c298cab5a6320e5e0ab8

下記の手順で導入自体はうまくいきました。

1.gem 'google-analytics-rails'をGemfileに記載(bundle install)
2. トラッキングIDを `config/environments/production.rb` 設定値に記載する。
3.  `app/views/layout/application.html.erb` に `<%= analytics_init if Rails.env.production? %>` を記述。  

ですが、どの画面に遷移しても、画像のようにGoogle Analytics上では、ユーザーが ルート(/) にいることになってしまっています。

google_analytics

これは、 app/views/layout/application.html.erb<%= analytics_init if Rails.env.production? %> を記述しているので、他の画面に遷移してもずーっとrootページにいることになってしまうのでしょうか?:thinking: もし、他の画面に遷移したら Active page が変わる方法などの方法がありましたら教えていただけると嬉しいです。

宜しくお願いいたします。:bow:

konchanxxx commented 5 years ago

@sumura80

これは Rails.env.production? => true な環境ということで良いでしょうか?

sumura80 commented 5 years ago

@rexitorg その通りです。 production環境で記述してHerokuにデプロイするという流れです。 Root(/)では認識しているのですが、他のページに遷移しても /(ルート) のままです。  下記のサイトを参考に実装しました。 https://qiita.com/lni_T/items/c298cab5a6320e5e0ab8

google_analytics_question

宜しくお願いいたします。🙇

konchanxxx commented 5 years ago

なるほどです:bow: GA触ったことないので土曜日に調べてみます:bow: 少々お待ちください:bow:

konchanxxx commented 5 years ago

@sumura80 こちら各ページのtrackingができるようにしましたー pageオプションを渡してないのでそれがいけないようでした サンプルアプリです↓ https://github.com/rexitorg/sample-ga-rails/pull/3

gemの方にも記述があるようです https://github.com/bgarret/google-analytics-rails

Use analytics_init to send submissions to Analytics if you are using multiple trackers. You can supply a name to tracker by passing :name option.

ご確認宜しくお願いします:bow:

sumura80 commented 5 years ago

こちら落ち着きましたので、クローズさせていただきます。 ありがとうございました。:bow:

sumura80 commented 5 years ago

@rexitorg 先日は、ご教示ありがとうございました。 このGoogle AnalycisでのActive Page表示なのですが、できたと思ったら自分の勘違いでした。 これまでは、 / のindex pageしか表示されておりませんでしたが、今回は何も表示されなくなってしまいました。オンラインでも0のままです。 ご多忙の折恐縮ですが、ご教示いただけると幸いです。

よろしくお願いいたします。 https://github.com/sumura80/medplus-heroku-deploy.git

konchanxxx commented 5 years ago

@sumura80

下記2点記載をお願いします:bow:

sumura80 commented 5 years ago

@rexitorg お忙しい中ご回答ありがとうございます。

1.前回までの動くと思っていたのはどういう状態を動くと思っていたのか

こちらですが、 / のインデックスページしか表示されなかったのですが、 posts/1 となるのを確認しなければいけないところを、パソコンとスマホで 2 と表示されたことを間違えて他のページに行ったと勘違いしてしまったことだったと思います。 大変申し訳ありません。

2.今回の表示されない状態に伴いどういう調査をしたのか記載をお願いします

こちらは、もう一度トラッキングIDが正しいかを確認しました。 その他、特にエラーが表示されていないので、原因を突き止めようがなかったので他のgemを入れる方法なども探しましたが、少し複雑すぎたので実際に実装いたしませんでした。 下記の gem "google-api-client" を入れる方法。 https://qiita.com/glvty83/items/4ade74bd82c93306d9d3

お手を煩わせ大変申し訳ありません。:bow:

konchanxxx commented 5 years ago

ありがとうございます:smile:確認しますー:bow: また私のサンプルアプリでも動作するかどうか確認して頂ければと思います:bow: 動作するようであれば差分が原因になっていると思うので:bow:

sumura80 commented 5 years ago

@rexitorg ご連絡ありがとうございました。 rexitorg/sample-ga-rails#3 のアプリですが、どうすれば自分の所に取り込めるかわからなかったので、自分の環境にそのまま近藤先生が記述してくださったコードを実装いたしました。:bow:

sumura80 commented 5 years ago

@rexitorg こちらですが、turbolinkが影響しているという可能性があったので、それに関する記述を記入したらどの画面がみられているか表示されるようになりました。


document.addEventListener "turbolinks:load", (event) ->
  if typeof ga is "function"
    ga("set", "location", event.data.url)
    ga("send", "pageview")
````

これは自分にはとても難しい内容でした。
turbolinkが曲者でした。
こちら解決いたしましたので、クローズさせていただきます。
大変お手数おかけしました。ありがとうございました。 🙇 
konchanxxx commented 5 years ago

どうすれば自分の所に取り込めるかわからなかったので

部分的に取り込むとかは無理ですね。git clone して動作させてみるとかを想定していましたmm

解決したようでよかったです:bow: https://qiita.com/shinichinomura/items/61efcb2088528fe1d1ca