ユーザーソース & 属性
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"2) Cookie 同意を有効化(オプション)
一部の地域では、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: 完全なリファラー URLreferrer_domain: リファラーから解析されたドメインlanding_page: 最初に記録されたランディングページ URL
-
デバイス & ブラウザ (User-Agent + クライアント補完)
user_agentbrowser/browser_versionos/os_versiondevice_typedevice_brand/device_modelscreen_width/screen_heightlanguage/timezone
-
ネットワーク & 地理情報
ip_addresscountry_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: 管理者ユーザーデータクエリの例
管理ダッシュボードでの使用
ボイラープレートのユーザー管理機能は、結合クエリをサポートするようにアップグレードされました。ユーザーリストでユーザーソースデータを確認できます。

ニーズに応じてデータを拡張および追加できます:
- 概要ページにユーザーソースデータのチャートや注文コンバージョンデータのチャートを表示
- ユーザーリストに各ユーザーの注文数や過去の支払い金額を表示
この機能はいくつかのクエリステートメントを簡単に修正するだけで実現できますが、すべての製品に必須ではないため、ボイラープレートにはデフォルトで含まれていません。