Closed1

【Rails】Googleアナリティクスのgtagを本番環境のみで読み込む方法

てーてー

gtagをapplication.html.erbにそのままコピペした際、開発環境のイベントも飛んでしまうことに気付いたため解決方法を共有します。


解決方法:

  1. 本番環境のみで読み込む設定
# app/views/layouts/application.html.erb
  <% if Rails.env.production? %> 
    <!-- Google tag (gtag.js) -->
    <script async src="https://www.googletagmanager.com/gtag/js?id=<%= ENV['GA_TRACKING_ID'] %>"></script>
    <script>
      window.dataLayer = window.dataLayer || [];
      function gtag(){dataLayer.push(arguments);}
      gtag('js', new Date());

      gtag('config', '<%= ENV['GA_TRACKING_ID'] %>');
    </script>
  <% end %>
  1. 本番環境の環境変数設定
    デプロイ先(Render、Heroku等)の環境変数に測定IDを設定

  2. 開発環境では設定しない

# .env(開発環境用)
# 開発環境では設定しないため、コメントアウト
# GA_TRACKING_ID=G-XXXXXXXXXX

これで開発中のテストアクセスが本番データに混入するのを防くことができ、正確なデータを取得できます。


初学者の気づきとして共有させていただきました。
より良い方法があれば、ぜひコメントで教えてください!

このスクラップは3ヶ月前にクローズされました