GatsbyブログにGoogle Analyticsを設定する

2022/3/27

(最終更新: 2022/3/27

はじめに

Gatsbyブログのアクセス解析のため、Google Analyticsを導入する。

大まかな流れとしては

  • Google Analyticsにレポートを追加する
  • 発行されたトラッキングIDをWebサイト側の<head>タグに設定する

となる。

ただし、<head>タグへの設定は、GatsbyのようなSSGの場合手動では難しい。

そのため、gatsby-plugin-google-gtagというプラグインを使うことになる。

Google Analytics側の設定

新たなアカウントを作成

Google Analyticsの画面から「管理」ボタンを選択し、「アカウント作成」を選ぶ。

管理ボタン⇒アカウント作成

名前とデータ提供範囲を設定する。 アカウントの詳細

プロパティを設定する。 プロパティ設定

※ユニバーサルアナリティクスプロパティの設定は、変に競合するかもしれないのでやらないほうがよさそう。

アンケートに回答し、利用規約に同意する。 利用規約同意画面

AnalyticsのトラッキングID確認

「プロパティの管理」⇒「データストリーム」にアクセス。

トラッキングID確認

Gで始まるトラッキングIDを確認する。

Gで始まるトラッキングIDを確認する

Webサイトにタグを埋め込む

gatsby-plugin-google-gtagプラグインのインストール

npmインストールを実施。 以前は、gatsby-plugin-google-analyticsが使われていたらしいが、今後はgatsby-plugin-google-gtagを使うように、と記載がされていたためこちらを利用することにする。

$ npm install gatsby-plugin-google-gtag
参考資料

gatsby-plugin-google-analytics | Gatsby

gatsby-config.jsの設定

gatsby-config.jsにプラグイン設定を追加する。

gatsby-config.js
module.exports = {
  plugins: [
    {
        resolve: `gatsby-plugin-google-gtag`,
        options: {
          trackingIds: [
            "G-XXXXXXXXXX", // Google Analytics / GA
          ],
          pluginConfig: {
            // Puts tracking script in the head instead of the body
            head: true,
          },
        },
    },
  ],
}      

ビルド

本番環境にビルド、デプロイしてみる。

ソースを見ると、

<script async="" src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>
<script>
      
      
      if(true) {
        window.dataLayer = window.dataLayer || [];
        function gtag(){window.dataLayer && window.dataLayer.push(arguments);}
        gtag('js', new Date());

        gtag('config', 'G-XXXXXXXXXX', {"send_page_view":false});
      }
</script>

というタグが追加されている。

Google Analytics画面に表示されている内容とほぼ同じになっている。 設定すべき内容

一点、{"send_page_view":false}という余計なものが入っているが、以下のページによると、SPAでページ遷移するために必要なので問題ないらしい。

アクセス確認

自分のスマホでアクセスしてみたところ、「リアルタイム」画面で結果を確認できた。

アクセス確認

つまづいたところ

設定を終えてから、「アクセス確認」の段階に行くまでかなり時間がかかった。

解消するポイントは、以下の二点と思われる。

※同じくらいのタイミングで以下を実施して解決したので、根本原因がどちらだかわかりません。。

内部トラヒックフィルタ

管理画面から「データフィルタ」を選択する。 データフィルタ

内部トラヒックを検知して除外する設定があるので、動作確認の際はいったん無効にしたほうがよさそう。

内部トラヒックフィルタを無効にする

ユニバーサルアナリティクスプロパティの設定削除

最初に、ユニバーサルアナリティクスプロパティの設定をしていた。

これは、最近出てきたGA4というプロパティではなく、昔からあるタイプの分析プロパティ。

トラッキングIDがUA-で始まるものがユニバーサルアナリティクスプロパティ。

ユニバーサルアナリティクスプロパティの設定

これを削除する。

管理画面から、「プロパティ設定」へ移動する。 プロパティ設定へ

その後、「ゴミ箱へ移動」を選択する。

自分のアクセスを除外する設定

データフィルタで「内部トラヒックフィルタ」があったが、ここに自分のIPアドレスを設定する必要がある。

データストリーム画面へ遷移。

データストリーム

タグ付けの詳細設定へ。 タグ付けの詳細設定

内部トラフィックの定義を選択。 内部トラフィックの定義

内部トラフィックルールの作成で、自分のグローバルIPアドレスを入れる。 グローバルIPアドレスは、以下サイトで確認できる。

https://www.cman.jp/network/support/go_access.cgi

内部トラフィックルールの作成

おわりに

GatsbyブログにGoogle Analyticsを設定することができた。

内部トラヒックフィルタは忘れずに有効にしておきましょう。

参考文献



個別連絡はこちらへ→Twitterお問い合わせ

プロフィール

プロフィールイメージ

はち子

事業会社のシステム部門で働きはじめて5年目の会社員。システム企画/要件定義/システムアーキテクチャ等。

Twitter→@bun_sugi

過去の記事について

はてなブログに掲載の記事(主にプログラミングメモ)についてはこちらに掲載しております。(本ブログに移行中)

タグ一覧

関連記事

Copyright© 2023, エンジニアを目指す日常ブログ

お問い合わせ|プライバシーポリシー