Menu

ユーザーソース & 属性

SaaS 製品において、ユーザーソースと属性はユーザー分析、成長分析、広告キャンペーン分析に使用される重要なインフラストラクチャコンポーネントです。

バージョン v3.2.10 から、NEXTY.DEV は userSource テーブルを追加し、組み込みのユーザーソーストラッキング機能を提供しています。この機能は NEXT_PUBLIC_USER_SOURCE_TRACKING_ENABLED 環境変数で切り替えることができます。

主な機能

NEXTY.DEV は、開発者にユーザーソーストラッキングと属性機能を提供する最初の SaaS ボイラープレートであり、初日から製品にこれらの機能を提供します:

  • ワンクリック切り替え: NEXT_PUBLIC_USER_SOURCE_TRACKING_ENABLED でデータ保存の有無を制御。
  • 包括的なソースデータ:
    • クライアントサイドで UTM / リファラー / ランディングページ / デバイス / 言語などをキャプチャ。
    • サーバーサイドで地理情報を補完し、ブラウザデータを解析。
  • プライバシーフレンドリー: Cookie 同意(NEXT_PUBLIC_COOKIE_CONSENT_ENABLED)を有効にした場合、ユーザーが明示的に Cookie を拒否すると、トラッキング Cookie は書き込まれず、ユーザーのプライバシーを保護します。
  • 非侵襲的: ソーストラッキングロジックはビジネスコードから完全に分離されており、既存のビジネスロジックに影響を与えません。
  • 拡張可能: user_source.metadata (jsonb) は拡張用に予約されており、将来的にカスタムパラメータ、広告プラットフォームのクリック ID などを簡単に統合できます。

使用方法

1) 機能の有効化/無効化

環境変数 NEXT_PUBLIC_USER_SOURCE_TRACKING_ENABLED を設定して有効化または無効化します。true で有効化、false で無効化。デフォルトは true です。

NEXT_PUBLIC_USER_SOURCE_TRACKING_ENABLED="true"

一部の地域では、Cookie を使用する前にユーザーの明示的な同意を必要とする厳格なプライバシーコンプライアンス要件があります。NEXT_PUBLIC_COOKIE_CONSENT_ENABLED 環境変数で Cookie 同意を有効化できます。true で有効化、false で無効化。デフォルトは false です。

NEXT_PUBLIC_COOKIE_CONSENT_ENABLED="true"

Cookie 同意を有効にすると、ユーザーは初回訪問時に Cookie 同意モーダルが表示され、承諾または拒否を選択できます。

ユーザーが Cookie を拒否 を選択した場合、クライアントは user_tracking_data を書き込みません。

テーブル構造: user_source

以下は、このテーブルに記録されるコアフィールドです:

  • チャネル & アフィリエイト

    • aff_code: URL パラメータ aff / via / ref から取得
  • UTM パラメータ

    • utm_source / utm_medium / utm_campaign / utm_term / utm_content
  • ソース & ランディングページ

    • referrer: 完全なリファラー URL
    • referrer_domain: リファラーから解析されたドメイン
    • landing_page: 最初に記録されたランディングページ URL
  • デバイス & ブラウザ (User-Agent + クライアント補完)

    • user_agent
    • browser / browser_version
    • os / os_version
    • device_type
    • device_brand / device_model
    • screen_width / screen_height
    • language / timezone
  • ネットワーク & 地理情報

    • ip_address
    • country_code
  • 拡張

    • metadata (jsonb): 拡張用の予約フィールド(クリック ID、カスタムパラメータ、実験グループなど)

関連ファイル

以下は、ユーザーソースモジュールに関連するファイルです。二次開発が必要な場合、AI にカスタム要件を完成させることができます。

  • lib/db/schema.ts: user_source テーブル構造
  • lib/tracking/client.ts: クライアントサイドの収集と Cookie 書き込み
  • lib/tracking/server.ts: サーバーサイドの補完とデータベース書き込み
  • lib/tracking/shared.ts: 型と共通メソッド
  • lib/auth/index.ts: ユーザー作成後に user_source を書き込む Better Auth フック
  • actions/users/admin.ts: 管理者ユーザーデータクエリの例

管理ダッシュボードでの使用

ボイラープレートのユーザー管理機能は、結合クエリをサポートするようにアップグレードされました。ユーザーリストでユーザーソースデータを確認できます。

user list

ニーズに応じてデータを拡張および追加できます:

  • 概要ページにユーザーソースデータのチャートや注文コンバージョンデータのチャートを表示
  • ユーザーリストに各ユーザーの注文数や過去の支払い金額を表示

この機能はいくつかのクエリステートメントを簡単に修正するだけで実現できますが、すべての製品に必須ではないため、ボイラープレートにはデフォルトで含まれていません。