はじめに
様々なサイトに導入されているGoogle Analyticsですが、2020年より新たにGoogle Analytics 4(以下GA4)が、導入されました。しかしHugo
では、標準ではまだ対応していません。(これを書いているときの最新バージョンは0.80です)しかし、Hugo
ではGA4を簡単に利用することができます。
GA4を導入する
GoogleAnalytics にアクセスし、GA4のIDを取得します。その方法はここでは省略します。GA4のIDはG-xxxxxxxxxx
のようにGから始まります。UAから始まっている場合は、従来のIDです。
IDが取得出来たら、Hugoのフォルダtheme/layout
の適当なところに新規HTMLファイルを作成し、以下のように追記します。
- analytics-gtag.html
1<!-- Global site tag (gtag.js) - Google Analytics 4-->
2<script async src="https://www.googletagmanager.com/gtag/js?id={{ .Site.GoogleAnalytics }}"></script>
3<script>
4 window.dataLayer = window.dataLayer || [];
5 function gtag() { dataLayer.push(arguments); }
6 gtag('js', new Date());
7
8 gtag('config', '{{ .Site.GoogleAnalytics }}');
9</script>
次に、configファイルに移動し、GoogleAnalyticsのIDを設定します。ymlの場合は、以下のようになります。
1GoogleAnalytics: G-xxxxxxxx
最後にこれらの設定を読み込みます。theme/layouts/partials/head.html
のファイルの一番下のほうにある外部ファイルの読み込みを修正します。google_analytics_async
は従来のgoogle analyticsなので消します。逆に、先ほど作成したファイルのパスを下のように追記します。
1~省略~
2{{- template "_internal/google_analytics_async.html" . }} <!--Delete-->
3{{- template "{path to file}/analytics-gtag.html" . }} <!--Add GA4-->
4{{- template "_internal/google_news.html" . }}
5{{- template "partials/templates/opengraph.html" . }}
6{{- template "partials/templates/twitter_cards.html" . }}
7{{- template "partials/templates/schema_json.html" . }}
8~省略~
以上で完了です。
適当なページを作り、アクセスした状態で、Google Analyticsのリアルタイムを確認して下さい。ユーザーが確認できれば、成功です。