このページでは

For AI agents: a documentation index is available at /docs/llms.txt. Append .md to any page URL for markdown, or send Accept: text/markdown.

IPアドレス、場所、ユーザーエージェント、およびデバイスのプロパティ

Amplitudeは、ユーザーの位置情報、デバイス情報、プラットフォーム情報を各イベントに伴って到着するデータから取得します。ユーザー自身がこれらのプロパティを設定する必要はありません。 MaxMind GeoIP データベースを使用してイベントの IP アドレスから都市、地域、および国を検索し、クライアント側の SDK が送信するユーザーエージェント文字列を解析してデバイスのコンテキスト、オペレーティングシステム、および Web ブラウザ情報を判断します。 HTTP API を使用してサーバー側で位置情報の値を上書きすることもできます。また、SDK で IP トラッキングを無効にするか、取り込み後にIP アドレスを削除することで、Amplitude が IP アドレスを使用することを停止することもできます。

Amplitudeによるロケーションプロパティの追跡方法

AmplitudeはMaxMindデータベースを使用して、ユーザーのIPアドレスから位置情報を検索します。 MaxMind のデータは信頼できますが、都市や地域の情報の正確性と可用性は国によって異なります。

デフォルトでは、AmplitudeはGeoIPを使用して、location_latおよびlocation_longに基づいてロケーションプロパティ値を収集します。 Amplitudeがユーザーの位置情報をサーバー側でどのように追跡するかを明示的に定義できます。 AmplitudeのHTTP APIを使用すると[Amplitude] City、[Amplitude] DMA独自の値を[Amplitude] Regionイベントと[Amplitude] Country一緒に送信できます。

これらの値を送信しても、AmplitudeはGeoIPを反映するように値を変更しません。 いずれかのフィールドを設定すると他のフィールドがリセットされるため、4 つのフィールドすべてが常に同時に更新されます。

IPアドレスが利用できない場合に、Amplitudeがロケーションプロパティをどのように決定するか

Amplitudeは、SDK設定でIPアドレス追跡を無効にすることと、取り込み後にIPアドレスを廃棄することの両方をサポートしています。 選択した方法は、Amplitudeがロケーションプロパティをどのように決定するかに影響します。

SDKでIPアドレス追跡を無効にする

SDK設定でIPアドレス追跡を無効にすると(ブラウザSDK、Android-Kotlin SDK、iOS Swift SDKなど)、AmplitudeはIPアドレスを受信しません。 Amplitudeのバックエンドサービスはユーザーの位置情報を調整することができず、位置情報のプロパティはすべて空のままです。

IP アドレスフィルタリング

お客様が取得後にIPアドレスを廃棄するようAmplitude サポートにリクエストした場合、AmplitudeのバックエンドサービスはIPアドレスを処理してロケーションを決定しますが、IPアドレス自体はAmplitudeに永続しません。Amplitude はイベントのロケーションプロパティを埋めますが、IP アドレスは空のままです。

Amplitudeがユーザーエージェントとデバイス情報を解析する方法

Amplitudeはクライアント側のSDKフィールドからデバイスコンテキストを処理し、ウェブイベントの場合にはユーザーエージェント文字列も処理します。 Amplitudeはイベントの処理済み値を保存し、選択した値を分析用のビルトインプロパティとして公開します。

ユーザーエージェント解析

クライアント側のSDKは、以下を説明するデバイスコンテキストを送信できます。

  1. デバイスモデル: 特定のデバイスモデル (例: iPhone 13)。Samsung Galaxy S21
  2. オペレーティングシステム: OS とそのバージョン (例: iOS 15.4)Android 12。
  3. ブラウザ: ウェブトラフィックの場合、ブラウザとそのバージョン (例: Chrome 98.0.4758.102)。
  4. プラットフォーム: 一般的なプラットフォームカテゴリ (例: iOS、 Android、 Web)。
  5. 製造元:デバイスの製造元です(例:、Apple Samsung)。

デバイスのプロパティ

フィールド名は、イベントの取り込み、エクスポートされたイベント、Amplitude UIによって異なります。 この表では、次の用語を使用しています。

  • HTTP V2 APIフィールド:イベントを送信するときにHTTP V2 APIが受け入れる最上位フィールドです。
  • Export APIフィールド:Amplitudeがイベントを処理した後にExport APIが返すフィールドです。
  • UI ラベル:チャートとフィルタのプロパティセレクターに表示される名前です。

たとえば、エクスポート API は os_nameと os_versionを別々のフィールドとして返します。UI はこれらを組み合わせ、結果を OS として表示します。

この表では、HTTP V2、エクスポート API、および対応する組み込み UI プロパティについて説明しています。 SDK ペイロード、1 回限りのバックフィル、および宛先固有のウェアハウススキーマは異なる場合があります。

Amplitudeは、browser個別の組み込みフィールドやbrowser_versionフィールドを公開しません。ブラウザ SDK は user_agent を送信します。 ウェブトラフィックの場合、Amplitudeは解析されたブラウザ名とメジャーバージョンを os_nameと os_versionに保存します。UI は、OS プロパティ内のこれらのフィールドを組み合わせます。

Amplitude は device_brand、 device_manufacturer、device_model を組み合わせて標準化された device_family値とdevice_type 値を決定します。認識された組み合わせは、Amplitudeの標準化されたデバイスファミリーとタイプにマッピングされます。認識されないファミリは、提供されたデバイス コンポーネントの説明を組み合わせて使用できますdevice_typeが、タイプ マッピングが存在しない場合は空のままにすることができます。

UI では、Apple iPhone や Samsung Galaxy Phone などの幅広いグループに対してデバイス ファミリを使用しています。このツールは、Apple iPhone 6 や Samsung Galaxy S5 などの特定のタイプに対してデバイスタイプを使用します。組み込みプロパティの完全なリストについては、「デフォルトのユーザープロパティ」を参照してください。

ユーザーエージェント解析の仕組み

  1. クライアント側の収集: ブラウザSDKはイベントとともにユーザーエージェント文字列を送信します。他のSDKは、サポートされているフィールドを通じてデバイスコンテキストを送信できます。
  2. サーバー側の解析:ウェブイベントの場合、Amplitudeはブラウザとデバイスのコンテキストを解析しますuser_agent。 明示的なフィールドos_name、os_versionおよびデバイスフィールドは、Amplitudeがユーザーエージェントから取得した値よりも優先されます。
  3. プロパティの割り当て:Amplitudeは処理済みの値を「エクスポートAPI」列にリストされているイベントフィールドに保存します。
  4. 分析の可用性:Amplitudeは、セグメンテーション、フィルタリング、分析のためにUIラベル列にリストされているプロパティを公開します。

デバイスのプロパティ追跡を制御する

特定のデバイスプロパティの自動追跡を無効にするには、SDKの設定を使用してください。trackingOptionsたとえば、ブラウザSDKの場合:

javascript
amplitude.init(AMPLITUDE_API_KEY, {
  trackingOptions: {
    platform: false,
    language: false,
  },
});

モバイル固有のデバイス情報

モバイルSDK(iOS、Android)の場合、Amplitudeは追加のデバイス情報を収集します:

  1. iOS:デバイスモデル、OSバージョン、および通信事業者情報(利用可能な場合)。
  2. Android:デバイスモデル、メーカー、OSバージョン、キャリア、画面サイズ。

この情報は、さまざまなデバイスタイプやOSバージョンでアプリがどのように動作するかを理解するのに役立ちます。

カスタムデバイスプロパティ

Amplitudeが自動的にキャプチャしない追加のデバイス情報を追跡する必要がある場合は、イベントにカスタムプロパティを追加できます。

javascript
// Example of adding custom device properties
amplitude.track("Button Clicked", {
  screen_resolution: "1920x1080",
  connection_type: "wifi",
  battery_level: 85,
});

これは役に立ちましたか?