ECサイトのゴールデンルートを発見する方法 – Google Analytics 4とPythonを活用して(第1回)
Photo by jajangmyeon on Unsplash

ECサイトのゴールデンルートを発見する方法 – Google Analytics 4とPythonを活用して(第1回)

APIリクエストを行う際は、まずは、少量のデータでお試しいただくようお願いいたします。

本記事の参考書籍:

Effective Python 第2版 ―Pythonプログラムを改良する90項目 単行本(ソフトカバー) – 2020/7/16
Brett Slatkin (著), 石本 敦夫 (監修), 黒川 利明 (翻訳)

まずは本記事の全体像をお示しします。前半は、基本的な内容が多いので、読み飛ばしていただければと存じます。

1章 はじめに
1.1. GA4とは何か
1.2. ゴールデンルートとは何か
1.3. 本記事の目的

2章 GA4データの収集と前処理
2.1. Google Analytics APIの利用
2.2. ユーザーごとのページ遷移データの取得
2.3. データの整形と前処理

3章 ユーザーのページ間遷移パターンの分析
3.1. Markov Chainを用いたページ遷移の解析
3.2. クラスタリングによる遷移パターンの抽出
3.3. パターンごとの売り上げ効果の評価   ----第1回の内容はここまでです。

4章 ゴールデンルートの特定
4.1. 売り上げ効果が高い遷移パターンの特定
4.2. ルートの最適化と改善提案
4.3. A/Bテストによる検証

5章 Pythonを活用した自動化
5.1. データ収集・前処理の自動化
5.2. 分析・ルート特定の自動化
5.3. 定期的なレポート作成と最適化提案

6章 まとめ
6.1. ゴールデンルート発見の重要性
6.2. GA4とPythonを活用した分析手法
6.3. 今後の展望

GA4(Google Analytics 4)は、ウェブサイトやアプリケーションのユーザー行動を追跡・分析するためのGoogleの無料の分析ツールです。GA4は、以前のバージョンであるUniversal Analytics(UA)から機能やインターフェースが大幅にアップデートされたもので、データの収集や解析がより柔軟に行えるようになっています。

GA4は、ユーザーのデバイス間の行動を統合的に把握できるため、ウェブサイトやアプリのパフォーマンスを詳細に分析することができます。さらに、GA4はビッグクエリとの連携が容易であるため、大規模なデータの分析やカスタマイズも可能になっています。

主な機能には以下が含まれます:

  • リアルタイム分析:ウェブサイトやアプリのリアルタイムの状況を把握できます。

  • セグメント分析:特定の属性や行動を持つユーザーをグループ化して、分析対象を絞り込むことができます。

  • ユーザー行動のトラッキング:ユーザーがウェブサイトやアプリでどのような行動を行っているかを詳細に分析できます。

  • コンバージョン分析:目標達成(購入やサインアップなど)の状況や、それに至るまでのユーザーの行動を分析できます。

  • レポート作成:分析結果をわかりやすいレポートにまとめ、共有することができます。

本記事では、このGA4を用いてECサイトのゴールデンルートを発見する方法について解説していきます。

ゴールデンルートとは、ECサイトにおいて、ユーザーが特定のページを一定の順番で訪れることで、最も売り上げ効果が高まるとされるページ遷移のルートのことを指します。これは、顧客が商品を購入するまでのプロセスを最適化し、購入確率を高めるために重要な要素となります。

ウェブサイトの訪問者は、それぞれ異なる遷移パターンでページを閲覧しますが、その中には売り上げに直接貢献する遷移パターンも存在します。そのような効果的な遷移パターンを発見し、ウェブサイトのデザインやコンテンツを最適化することで、より多くの顧客がゴールデンルートをたどるように誘導し、売り上げを向上させることができます。

ゴールデンルートの発見には、以下の要素が重要となります:

  • ユーザーの遷移パターンの分析:顧客がどのような順番でページを閲覧しているかを理解し、どのようなパターンが効果的なのかを把握することが重要です。

  • 売り上げ効果の評価:各遷移パターンが売り上げにどの程度影響しているかを定量的に評価することで、最も効果的なルートを特定できます。

  • ルートの最適化:ゴールデンルートをたどるように、ウェブサイトやアプリの構造やコンテンツを最適化し、顧客を購入に誘導することが求められます。

本記事では、Google Analytics 4とPythonを活用して、これらの要素に基づいてゴールデンルートを発見する方法を解説していきます。

本記事の目的は、Google Analytics 4(GA4)とPythonを活用して、ECサイトのゴールデンルートを発見する方法を解説することです。ゴールデンルートを発見し、ウェブサイトやアプリの構造やコンテンツを最適化することで、売り上げ向上につなげることができます。

記事では以下のトピックについて解説します:

  • GA4データの収集と前処理:GA4からユーザーごとのページ遷移データを取得し、分析のために整形・前処理を行います。

  • ユーザーのページ間遷移パターンの分析:Markov Chainやクラスタリングを用いて、ユーザーのページ遷移パターンを解析し、売り上げ効果を評価します。

  • ゴールデンルートの特定:売り上げ効果が高い遷移パターンを特定し、ウェブサイトの最適化提案やA/Bテストを行います。

  • Pythonを活用した自動化:データ収集・前処理、分析・ルート特定、定期的なレポート作成と最適化提案のプロセスをPythonを使って自動化します。

これらの解説を通じて、ECサイト運営者やマーケターが、GA4とPythonを活用して効果的なゴールデンルートを発見し、売り上げ向上につなげる方法を理解できるようになることを目指しています。

Google Analytics APIを利用することで、ウェブサイトやアプリのユーザー行動データをプログラムで効率的に取得することができます。APIを使えば、GA4のデータをPythonで直接操作できるため、分析作業をより柔軟に行うことが可能です。

まずはGoogle Analytics APIの利用準備を行いましょう:

  1. Google Cloud Platformプロジェクトの作成:APIを利用するには、まずGoogle Cloud Platform(GCP)上にプロジェクトを作成する必要があります。GCPのコンソールで新しいプロジェクトを作成し、適切な名称を付けてください。

  2. APIの有効化:GCPのコンソールで「APIとサービス」のダッシュボードに移動し、「ライブラリ」から「Google Analytics API」を検索して有効化します。

  3. 認証情報の設定:APIの利用に必要な認証情報を設定します。「APIとサービス」の「認証情報」タブで「認証情報を作成」をクリックし、「サービスアカウント」を選択して作成してください。作成後、サービスアカウントの詳細ページからJSON形式のキーファイルをダウンロードし、Pythonプログラムと同じディレクトリに保存しておきます。

  4. Google Analyticsの権限設定:GA4の管理画面で、作成したサービスアカウントのメールアドレスに対して適切な権限を与えます。これにより、APIを通じてGA4のデータにアクセスできるようになります。

これらの手順を踏んでAPIの利用準備が整ったら、PythonでGoogle Analytics APIを利用してデータを取得することができます。Googleの公式ライブラリであるgoogle-authgoogle-api-python-clientをインストールし、適切に設定すれば、APIからデータを取得することができるようになります。次のセクションでは、実際にAPIを使ってユーザーごとのページ遷移データを取得する方法について解説していきます。

Google Analytics APIを利用して、ユーザーごとのページ遷移データを取得する方法を説明します。このデータは、ゴールデンルートを発見するために必要な情報を含んでいます。

まずは必要なライブラリをインポートし、API認証情報を設定します。

import pandas as pd
from google.oauth2 import service_account
from googleapiclient.discovery import build

# サービスアカウントのJSONキーファイルへのパスを指定
KEY_FILE_PATH = 'your_key_file_path.json'

# APIへのアクセス設定
credentials = service_account.Credentials.from_service_account_file(KEY_FILE_PATH)
analytics = build('analytics', 'v4', credentials=credentials)

# GA4のプロパティIDを指定
property_id = 'YOUR_PROPERTY_ID'

次に、APIからユーザーごとのページ遷移データを取得するための関数を定義します。

def get_page_transitions(start_date, end_date):
    request_body = {
        'date_range': {
            'start_date': start_date,
            'end_date': end_date
        },
        'dimensions': [
            {'name': 'user_pseudo_id'},
            {'name': 'event_timestamp'},
            {'name': 'page_location'}
        ],
        'metrics': [
            {'name': 'event_count'}
        ],
        'order_bys': [
            {
                'dimension': {'name': 'user_pseudo_id'},
                'order_type': 'VALUE',
                'sort_order': 'ASCENDING'
            },
            {
                'dimension': {'name': 'event_timestamp'},
                'order_type': 'VALUE',
                'sort_order': 'ASCENDING'
            }
        ],
        'limit': 10000  # 1回のリクエストで取得するデータ件数の上限を指定
    }

    response = analytics.data().runReport(property=f'properties/{property_id}', body=request_body).execute()
    return response

この関数は、指定された期間内のユーザーごとのページ遷移データを取得します。APIから取得したデータをpandas DataFrameに変換し、前処理を行います。

def process_page_transitions(response):
    data = []

    for row in response['rows']:
        user_id = row['dimension_values'][0]['value']
        timestamp = row['dimension_values'][1]['value']
        page_location = row['dimension_values'][2]['value']
        event_count = row['metric_values'][0]['value']

        data.append([user_id, timestamp, page_location, event_count])

    columns = ['user_id', 'timestamp', 'page_location', 'event_count']
    df = pd.DataFrame(data, columns=columns)

    # タイムスタンプを日時型に変換
    df['timestamp'] = pd.to_datetime(df['timestamp'], unit='us')

    return df

最後に、これらの関数を使ってデータを取得し、前処理を行います。

# データ取得の期間を指定
start_date = '2023-01-01'
end_date = '2023-01-31'

# APIからデータを取得
response = get_page_transitions(start_date, end_date)

# データをpandas DataFrameに変換し、前処理を行う
page_transitions_df = process_page_transitions(response)

# 結果を表示
print(page_transitions_df.head())

これで、指定した期間内のユーザーごとのページ遷移データが取得できました。このデータを使って、次のセクションでユーザーのページ間遷移パターンを分析し、ゴールデンルートを発見する方法を説明します。

ユーザーごとのページ遷移データが取得できたら、データの整形と前処理を行い、分析に適した形に変換します。前処理の主な目的は、データのノイズを除去し、分析に必要な情報を抽出・整理することです。

以下に、データ整形と前処理の一例を示します。

def preprocess_data(df):
    # 必要なカラムだけに絞り込む
    df = df[['user_id', 'timestamp', 'page_location']]

    # ページ遷移イベントが1回以下のユーザーを除外
    user_counts = df['user_id'].value_counts()
    users_to_keep = user_counts[user_counts > 1].index
    df = df[df['user_id'].isin(users_to_keep)]

    # ページURLからパス部分のみを抽出
    df['page_path'] = df['page_location'].apply(lambda x: urlparse(x).path)

    # ページ遷移の順序を表す新しいカラムを追加
    df['order'] = df.groupby('user_id')['timestamp'].rank(method='first', ascending=True)

    return df

# データの前処理を実行
preprocessed_data = preprocess_data(page_transitions_df)

この前処理では、以下の処理を行っています。

  1. 必要なカラムだけに絞り込む

  2. ページ遷移イベントが1回以下のユーザーを除外(分析に役立たないユーザーを排除)

  3. ページURLからパス部分のみを抽出(URLに含まれるドメインやクエリパラメータを除去)

  4. ページ遷移の順序を表す新しいカラムを追加

この前処理を行うことで、分析に適したデータ形式に変換されます。次のセクションでは、この前処理済みのデータを使って、ユーザーのページ間遷移パターンを分析し、ゴールデンルートを発見する方法を説明します。

第2回に続く)

アンド,エー株式会社
facebookTwitterDiscord

and,a株式会社(and,a Inc. アンド,エー株式会社)

〒153-0063 東京都目黒区目黒1-4-16 目黒Gビル7階

Copyright © 2017-2024 and,a Inc. All Rights Reserved.