MENU
\ お問い合わせはこちら! /

DjangoテンプレートでGoogle Analytics(GA4)を実装する方法【本番のみ有効化】

  • GA4を環境変数でON/OFF制御したい
  • 本番環境だけで計測したい
  • メンテナンスコストを低く抑えたい

このような方に向けて書きました。

Django プロジェクトに Google Analytics 4(GA4) を導入する手順を説明します。

本記事は Django テンプレートを利用する構成を前提にしています。

導入方法

導入の流れは、次の3ステップです。

  1. settings.py で GA ID を読み込む
  2. コンテキストプロセッサーでテンプレートに渡す
  3. base.html に条件付きでタグを埋め込む

詳しく説明します。

1. settings.py の設定

環境変数から GA4 の ID を取得します。

Python
# core/settings/base.py
import os

GOOGLE_ANALYTICS_ID = os.getenv("GOOGLE_ANALYTICS_ID", None)
ポイント
  • .env に未設定なら自動で無効化
  • 環境ごとの切り替えが簡単
  • 本番のみ有効化が可能

2. コンテキストプロセッサー

テンプレートから GA ID を参照できるようにします。

Python
# core/context_processors.py
from django.conf import settings

def environment(request):
    return {
        "GOOGLE_ANALYTICS_ID": settings.GOOGLE_ANALYTICS_ID,
    }

これで全テンプレートで次のテンプレートタグが使えるようになります。

HTML
{{ GOOGLE_ANALYTICS_ID }}

3. base.html に GA4 タグを追加

ID があるときだけ読み込みます。

HTML
<head>
    {% if GOOGLE_ANALYTICS_ID %}
        <!-- Google tag (gtag.js) -->
        <script async src="https://www.googletagmanager.com/gtag/js?id={{ GOOGLE_ANALYTICS_ID }}"></script>
        <script>
            window.dataLayer = window.dataLayer || [];

            function gtag() {
                dataLayer.push(arguments);
            }

            gtag('js', new Date());
            gtag('config', '{{ GOOGLE_ANALYTICS_ID }}');
        </script>
    {% endif %}
</head>

補足

実装にあたっての補足事項をお伝えします。

.env設定方法

以下のように設定します。

Bash
GOOGLE_ANALYTICS_ID=G-XXXXXXX

未設定なら自動で無効化されます。

DEBUG=False のときだけ有効化したい場合

次のようにしておけば、本番の時だけ計測されます。

Python
GOOGLE_ANALYTICS_ID = (
    os.getenv("GOOGLE_ANALYTICS_ID")
    if not DEBUG else None
)

まとめ

Djangoのテンプレートエンジンで GA4 を導入する場合には、次の流れです。

  1. settings.py で環境変数を読む
  2. context_processor で渡す
  3. base.html で条件分岐

ぜひ、参考にしてみてください。

この記事が気に入ったら
フォローしてね!

シェア・記事の保存はこちら!

この記事を書いた人

基本、書くことで生計を立てています。
ITエンジニア歴は約5年ほど。
Pythonを書くことが多いですが、雑食です。
基本情報技術者試験合格。

コメント

コメントする

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)