はじめに
今回はDjangoで作成したアプリケーションにGoogleAnalytics(以降GA)に導入する手順をメモとして残しておきます。
GAを導入すれば、アクセス解析、どのページで離脱しているのかを見ることが出来て、改善の際に有利に働きます。
僕自身このブログにGAは導入していて、大変お世話になっているくせに、全く活用できていませんが、こちらも勉強ですね。
GoogleAnalyticsのタグを取得する
GAの場合、headタグの中にスクリプト入れましょう、とかよく言われるんですけど、Djangoの場合はちょいと違うらしくて、資料を漁り導入しました。
GAを持っている人は、左メニューの下の方にある管理ボタンから、プロパティを作成で新規で作ります。
こんな画面で選択できるので、Webを今回は選びます。
そして、下にスクロールして続行ボタンを押します。
情報を入力していきます。
ポチポチと入れたら、作成を押します。
そうすると、左上にトラッキングIDと呼ばれるUAから始まる番号がありますので、UA-数字をすべて選択してコピーしておきましょう。
僕はコピーした後にまた別のコードなどをコピーして消し飛ばすんですけどね。
トラッキングIDがきちんとsettingsファイルに指定されていて、かつ、DEBUG=Falseの状態(本番環境など)のときのみに利用できるテンプレート変数、GOOGLE_ANALYTICS_TRACKING_IDを作成する必要があります。
こちらを利用可能にするために、独自のContext Processorを作成しなくてはいけないらしい。
プロジェクト直下のsetting.pyと同じディレクトリに、context_processors.pyというファイル名でファイルを1つ作ります。
なお以下のコードはこちらから引用しております。
<
div class=”hcb_wrap”>
<
pre class=”prism line-numbers lang-python” data-lang=”Python”>
from django.conf import settings
def google_analytics(request):
GoogleアナリティクスのトラッキングIDをsettings.pyから取得するsettings.py内に、GOOGLE_ANALYTICS_TRACKING_ID=’自分のトラッキングID’を書き込んでおく
“”“
DEBUG=Falseの場合に、GoogleアナリティクスのトラッキングIDを返す
”“”
ga_tracking_id = getattr(settings, ‘GOOGLE_ANALYTICS_TRACKING_ID’, False)
# DEBUG=FalseかつGoogleアナリティクスのトラッキングIDを取得できたら、
# テンプレート内で'GOOGLE_ANALYTICS_TRACKING_ID'という変数を利用できるようにする
if not settings.DEBUG and ga_tracking_id:
return {
'GOOGLE_ANALYTICS_TRACKING_ID': ga_tracking_id,
}
return {}</code></pre></div><br />
こちらの設定が完了したら、次にsetting.pyに追記します。
TEMPLATES = [
{
‘BACKEND’: ‘django.template.backends.django.DjangoTemplates’,
‘DIRS’: [],
‘APP_DIRS’: True,
‘OPTIONS’: {
‘context_processors’: [
‘django.template.context_processors.debug’,
‘django.template.context_processors.request’,
‘django.contrib.auth.context_processors.auth’,
‘django.contrib.messages.context_processors.messages’,
‘django_blog.context_processors.google_analytics’, # 追加
],
},
},
]
テンプレートにGAを挿入じゃ!
templateのフォルダ直下にga.htmlを作成して以下をコーディングします。
自分のトラッキングIDの部分は先程のUA-数字の情報を入力してくださいね。
僕と同じで消し飛んでると思うので、気をつけてください。
そして、Base.htmlに書きを追記します。
{% load static %}
<!DOCTYPE html>
{% if GOOGLE_ANALYTICS_TRACKING_ID %}
{% include ‘ga.html’ %}
{% endif %}
これであとはGA側での動作確認をする前にきちんとデプロイすること、そしてDEBUG=TrueはDEBUG=Falseにしておくことです。
忘れるとDEBUGされちゃうと同時に解析がまともにできませんよ!僕のことです!
では、ハッピーGAライフを!