- GA4を環境変数でON/OFF制御したい
- 本番環境だけで計測したい
- メンテナンスコストを低く抑えたい
このような方に向けて書きました。
Django プロジェクトに Google Analytics 4(GA4) を導入する手順を説明します。
Contents
導入方法
導入の流れは、次の3ステップです。
- settings.py で GA ID を読み込む
- コンテキストプロセッサーでテンプレートに渡す
- 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 を導入する場合には、次の流れです。
- settings.py で環境変数を読む
- context_processor で渡す
- base.html で条件分岐
ぜひ、参考にしてみてください。


コメント