adstage
Web SDKイベント

ユーザー属性の管理

ユーザーの特性や行動パターンをトラッキングすることで、パーソナライズされたサービスやターゲットマーケティングを実現できます。

🔍 ユーザーの識別

ユーザー属性で識別する

AdStage Web SDK は、ユーザー ID を設定する専用の API を提供していません。その代わりに、ユーザー属性(setUserProperties)でユーザーの特性を記録し、セグメントやファネル分析に活用します。

// ログイン時にユーザー属性を設定
AdStage.events.setUserProperties({
  gender: 'male',      // 'male' | 'female' | 'other' | 'unknown'
  country: 'KR',       // ISO 国コード
  city: 'Seoul',       // 都市名
  age: '25-34',        // 年齢層
  language: 'ko-KR'    // 言語コード
});
 
// 現在設定されているユーザー属性を確認
const userProperties = AdStage.events.getUserProperties();
console.log('現在のユーザー属性:', userProperties);

匿名ユーザーのトラッキング

ログインしていないユーザーも、セッションベースで自動的にトラッキングされます。

// 匿名ユーザーのトラッキングは SDK が自動で管理します
// 個別の設定 API や照会 API は提供されていません
// セッションベースで自動的にトラッキングされます

👤 ユーザー属性の設定

サポートされる標準属性

SDK がサポートする標準のユーザー属性です。

// 複数の属性を一度に設定(推奨)
AdStage.events.setUserProperties({
  age: '25',           // 年齢(文字列)
  gender: 'female',    // 'male' | 'female' | 'other' | 'unknown'
  country: 'KR',       // ISO 国コード(ISO 3166-1 alpha-2)
  city: 'Seoul',       // 都市名
  language: 'ko-KR'    // 言語コード(BCP 47)
});
 
// 属性を個別に設定する API は現在提供されていません
// すべての属性は setUserProperties() で設定してください

自動収集される属性

SDK がブラウザから自動で収集する情報です。

// ブラウザの言語設定から自動抽出
// navigator.language → language、country を自動設定
// 例: 'ko-KR' → language: 'ko-KR', country: 'KR'
 
// 自動収集されたユーザー情報を確認
const userInfo = AdStage.events.getUserInfo();
console.log(userInfo);
// { language: 'ko-KR', country: 'KR' }
 
// タイムゾーンに基づく地域の推定は内部で行われ、
// 個別の API としては公開されていません

属性の制限事項

現在、AdStage Web SDK は 標準属性のみをサポート しています。

// ✅ サポートされる標準属性
AdStage.events.setUserProperties({
  gender: 'female',      // 'male' | 'female' | 'other' | 'unknown'
  country: 'KR',         // ISO 国コード
  city: 'Seoul',         // 都市名
  age: '25',             // 年齢(文字列)
  language: 'ko-KR'      // 言語コード
});
 
// ❌ カスタム属性はサポートされていません
// 代わりにイベントパラメータを使用してください
AdStage.events.track('user_profile_updated', {
  subscription_tier: 'premium',    // イベントパラメータとして送信
  account_type: 'business',
  last_login: '2024-01-15'
});

📊 ユーザー属性の管理

属性の照会と管理

// 現在設定されているユーザー属性を照会
const currentProperties = AdStage.events.getUserProperties();
console.log('現在のユーザー属性:', currentProperties);
 
// 属性の個別照会や初期化の API は現在提供されていません
// すべての属性は getUserProperties() で一括照会してください
 
// 属性を初期化するには空のオブジェクトを設定
AdStage.events.setUserProperties({});

地域情報の活用

// ブラウザベースで自動収集された情報を確認
const userInfo = AdStage.events.getUserInfo();
console.log('自動収集されたユーザー情報:', userInfo);
// { language: 'ko-KR', country: 'KR' }
 
// 地域情報は内部で自動的に推定されて設定されます
// より正確な情報を手動で把握している場合は上書きできます
AdStage.events.setUserProperties({
  country: 'KR',
  city: 'Seoul',
  language: 'ko-KR'
});

🎯 パーソナライズへの活用

ユーザー属性に基づくパーソナライズ

// ユーザー属性に基づくコンテンツのレコメンド
function personalizeContent() {
  const userProperties = AdStage.events.getUserProperties();
  
  // 年齢層別のコンテンツ
  if (userProperties.age && parseInt(userProperties.age) < 30) {
    showYoungAdultContent();
  }
  
  // 地域別のコンテンツ
  if (userProperties.country === 'KR') {
    showKoreanContent();
  }
  
  // 言語別のコンテンツ
  if (userProperties.language?.startsWith('ko')) {
    setKoreanLanguage();
  }
}
 
// 属性の変更時にパーソナライズを更新
AdStage.events.setUserProperties({
  country: 'KR',
  language: 'ko-KR',
  age: '28'
});
personalizeContent();

イベントとあわせて活用

// ユーザー属性はすべてのイベントに自動で含まれます
AdStage.events.track('page_view', {
  page: 'product_detail',
  product_id: 'prod_123'
});
// サーバーが受け取るデータには、設定したユーザー属性が含まれます:
// {
//   eventName: 'page_view',
//   user: {
//     gender: 'female',
//     country: 'KR',
//     city: 'Seoul',
//     age: '28',
//     language: 'ko-KR'
//   },
//   params: { page: 'product_detail', product_id: 'prod_123' }
// }

目次