0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DjangoからGoogle Analyticsにコンバージョンを送信する

Posted at

概要

GA4の「コンバージョン」と「キーイベント」

  • 「コンバージョン」は「キーイベント」に名前が変わったようです

測定IDとAPI Secretの準備

サイトの登録と、測定IDの確認

  • Google Analytics のサイトにログインし、アカウントの登録や、サイトの登録をしておきます

  • 測定IDをメモしておきます

    • 左下の歯車のマーク「管理者」をクリック
    • 「Data collection and modification」-「Data streams」
    • 該当アプリのストリームをクリック
    • 表示される「MEASUREMENT ID」が測定IDです。G-12345ABCDE のような形式です
  • Djangoのテンプレートに、Google Analyticsのトラッキングコードを埋め込んでおきます

Measurement Protocol API secrets の取得

  • 上記のストリームの画面で「Events」ー「Measurement Protocol API secrets」をクリック
    • Google Analytics上のユーザー種別が「管理者」や「編集者」である必要があります。「マーケティング担当者」などの場合は項目が表示されないので注意が必要です
  • 初回は規約の確認が必要なので「Review terms」をクリック
  • ユーザーデータ収集に関する内容を確認し「I acknowledge」をクリック
  • 「Create」ボタンを押し、表示されたポップアップに名前(後からどのキーか分かるようなニックネーム)を入れ、「Create」をクリック
  • 一覧に「Secret value」が表示されるので、安全な場所にメモしておく

コンバージョン送信関数を定義

  • 読み込みしやすいファイルに、以下のコードで送信関数を定義します
    • config/google_analytics.py など
    • 設定ファイルや.envファイルからIDを読み込むようにしてあります
    • requestsなど必要パッケージはpipで入れたり、requirements.txtに書くなどしてください
    • debug環境の場合は、イベントに「_debug」を付けるようにしてあります
import requests
from django.conf import settings


def send_ga4_event(client_id, event_name, params):
    measurement_id = settings.GA4_MEASUREMENT_ID
    api_secret = settings.GA4_API_SECRET

    # if debug is true, add event_name with value "_debug"
    if settings.DEBUG:
        event_name = f"{event_name}_debug"

    url = f"https://www.google-analytics.com/mp/collect?measurement_id={measurement_id}&api_secret={api_secret}"
    data = {"client_id": client_id, "events": [{"name": event_name, "params": params}]}

    response = requests.post(url, json=data)
    return response

イベント(コンバージョン)を送信

  • DjangoでサーバーサイドからGA4にイベントを送信します

  • 問い合わせボタンの押下時の処理など、必要なタイミングで、上記の関数を呼び出して送信します

  • 例えば、Djangoのビューでユーザー登録が完了した後に、GA4にイベントを送信します

  • あらかじめfrom config.google_analytics import send_ga4_event のように、送信用の関数をimportしておきます

        # Send GA4 event
        client_id = self.request.session.session_key
        event_name = "ordered"
        params = {"method": "order", "value": 1, "order_id": form.instance.id}
        send_ga4_event(client_id, event_name, params)

Google Analyticsで集計して表示

リアルタイム集計で、イベントの受信を確認

  • 該当ボタン押下など、イベントを発生させます
  • Google Analytics画面で、左メニューの「Reports」-「Realtime」で、直近で受信したイベントを表示します
  • Event count by Event nameなどで、該当イベントがGA側に届いていることを確認します

イベントを「キーイベント」に設定

  • 左下の歯車のマーク「管理者」をクリック
  • イベント一覧の右端にある3点マークをクリックし、「Mark as key event」をクリックします
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?