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.
データが不足しているか予期しない場合
このページでは、3つの一般的なデータ問題について診断します。予想よりも少ないイベント数を示すチャート、膨張しているか小さすぎるように見えるユーザー数、そしてAmplitudeの数値が他のプラットフォームと一致しないという問題です。以下の各セクションでは、一般的な原因とその修正方法について説明します。
イベントまたはプロパティが見つからない理由
Amplitudeにデータを正常に送信した場合でも、イベントやプロパティが分析に表示されない場合があります。 以下のセクションでは、一般的な原因について説明します。
プロジェクトは計測の限界に達しました
プロジェクトが計測制限に達した場合、Amplitudeは、制限を超えるイベントタイプ、イベントプロパティ、またはユーザープロパティに関するデータをクエリできません。このデータにアクセスするには、CSVファイルまたはAmplitudeのエクスポートAPIを使用して生データをエクスポートする必要があります。
制限値を下回るには、Amplitudeデータで不要なイベントタイプを削除してください。制限を下回った後、新しいイベントタイプ、イベントプロパティ、およびユーザープロパティがAmplitudeに表示されるまで約24時間かかります。
誰かがデータを隠したり、ブロックしたり、削除したりしました
誰かが予期していたデータを非表示、ブロック、または削除した可能性があります。Amplitudeがデータを適切に取り込むよう、ブランチからのmainこれらのアクション間の違いを確認してください。
隠されたイベントやブロックされたイベントやプロパティは、引き続きプロジェクトの計測制限にカウントされます。 削除されたイベントやプロパティは、制限の対象にはなりません。
データには予期しない名前や、馴染みのない表示名が付いている場合もあります。 名前を変更するには、データの遡及的な変更に関する記事を参照してください。
隠しイベント
イベントはイベントストリームに表示されることがありますが、チャートには表示されません。 原因は通常、フィルター(ドロップフィルターなど)か、誰かがイベントをAmplitude データ内のビューから非表示にしていることにあります。
また、イベントやプロパティをドロップダウン、パスファインダーの結果、およびペルソナグラフから非表示にすることもできます。
スキーマには計画外のデータが含まれていません
欠損データは計画外とみなされる場合があります。計画外のデータは現在のスキーマ設定と競合しているため、Amplitudeはそれをどのように処理すべきかを知りません。 プロジェクトのトラッキング計画が予定外のイベントやプロパティを受け入れることを確認してください。 そうでない場合、Amplitudeはイベントやそのプロパティを保存しません。
データの取り込みまたはアクセスの遅延
一部のユーザーに対してイベントまたはプロパティ データが表示され、他のユーザーには表示されない場合、データの取り込みに遅れが生じることがあります。 たとえば、モバイルSDKがAmplitudeにデータを送信する場合、イベントがすぐに表示されない場合があります。 ユーザーがインターネットに接続していないか、SDKがイベントアップロードしきい値に達していない可能性があります。
デフォルトでは、AmplitudeのモバイルSDKには30秒または30件のイベントアップロードしきい値が設定されています。 SDK はしきい値に達するまでイベントデータを送信しません。
また、Identity APIを通じて送信された新規または変更されたユーザープロパティも、取り込みに遅延が生じる場合があります。
ユーザー数における予期しない値
イベントまたはユーザープロパティごとにイベントをグループ化する場合、一部の結果が (none) というグループに表示されることがあります。 Amplitude では、(none) はヌル値を表します。
次のセクションでは、ユーザーにヌルまたは予期しないプロパティ値が設定される理由について説明します。
イベントプロパティが (none) バケットに表示される理由
Amplitudeはイベントベースのアナリティクスプラットフォームであり、すべてのチャートとコホートはイベントレベルでクエリを実行します。グラフは、イベント発生時のイベントプロパティ値を返します。
イベントプロパティはイベントのコンポーネントであるため、イベントプロパティの値はイベントレベルで一意であることができます。イベント発生時に値が NULL のイベントを送信した場合、そのイベント プロパティごとにグループ化すると、一部のイベントまたはユーザーが (null) (none)バケットに格納されます。
たとえば、ユーザー A は 1 月 1 日に一度、2 月 1 日に一度トリガーされましたSend Message。 Audienceイベントプロパティは1月15日に計測されたため、ユーザーAが1月1日にトリガーしたときにはこのプロパティは使用できませんでした。Send Message このプロパティは、Audience と Mentioned_Contacts のみを受け入れます。Default ユーザー A が 2 月 1 日に送信Send Messageした時点で、イベントは でしたAudience = Default。
Amplitudeは、ユーザーAを(none)バケット内で1回、Defaultバケット内で1回カウントします。ユーザーAはAudience = Default2月1日のイベント時とAudience = (none)1月1日のイベント時にこの情報を保持していました。
Amplitudeは、イベント発生時に送信されたプロパティ値に基づいてイベントとユーザーをソートします。
ユーザープロパティが期待値を表示しない理由
イベントプロパティと同様に、グラフもイベント発生時のユーザープロパティ値を返します。
Amplitudeはユーザープロパティを別のテーブルに保存し、それをイベントに適用します。 ユーザーのプロパティ値が更新された場合でも、履歴イベントに関連付けられているユーザーのプロパティ値は変更されません。
カスタムプロパティにNULL値が表示される理由
イベントに付加されたカスタムユーザープロパティは、イベント発生時に存在していたユーザープロパティ値を反映します。
たとえば、1月15日に呼び出されたユーザープロパティをAccount_Type計測したとします。ユーザー A は、アカウントタイプが Shopper の登録ユーザーです。 ユーザーAはAdd Item to Cart1月1日に一度、2月1日に一度トリガーしました。
1 月 15 日まで計測を行わなかったため、1 月 15 日より前にトリガーされたすべてのイベントは Account_Type に対して NULL 値を持ちます。Account_Type Amplitude は、ユーザー A Shopperをバケット内で 1 回、(none)バケット内で 1 回カウントします。
ユニーク数を測定する場合、Amplitudeは各ユニークなバケット内のユーザーを重複排除します。ユーザーAAdd Item to CartがShopper2月1日と2月2日の両方にアカウントタイプを使用してトリガーした場合、AmplitudeはユーザーAをShopperバケット内に1回しかカウントしません。
同じロジックが、ヌル以外のユーザー プロパティ値にも適用されます。 Amplitudeは、イベント発生時に適用されたプロパティ値に基づいてイベントとユーザーをソートします。
Amplitudeはこのロジックを使用しています。これは、ユーザー属性が時間とともに変化する可能性があるためです。たとえば、ユーザーは移動したり、さまざまな都市からイベントを送信したりするにつれて、City は時間ごとに変化する可能性があります。 イベントが発生したときにユーザーがどこにいたかを知ることは、ユーザーが現在どこにいるかを知ることよりも価値がある場合があります。
Location プロパティに (null) (none)値が表示されます
Amplitude は、GeoIP によってロケーションのユーザープロパティ [Amplitude] City(、 [Amplitude] DMA、 [Amplitude] Region、および [Amplitude] Country) を決定します。AmplitudeはMaxMindデータベースを使用して、ユーザーのIPアドレスから位置情報を検索します。
クライアント側のイベントの場合、MaxMindがそのIPアドレスに対してnullを返したときに、ロケーションプロパティが(none)値を持つことがあります。都市や地域の情報の正確性と可用性は国によって異なります。 詳細については、MaxMind の精度比較を参照してください。
サーバー側イベントの場合、Amplitude は、GeoIP (利用できない場合は location_lat や location_long にフォールバックします) または API 呼び出しでの明示的な定義のいずれかによって、ロケーションプロパティ値を決定します。AmplitudeのHTTP APIを使用すると、カスタムのCity、DMA、Region、およびCountryの値をイベントと一緒に送信できます。Amplitudeはこれらの値をGeoIPを反映するように変更しません。 4つのフィールドすべてを同時に更新します。これらのフィールドのいずれかを設定すると、他のすべてのフィールドが自動的にリセットされます。
デバイスのプロパティに値が表示される(none)理由
Amplitudeは、ユーザーのデバイスからdevice_brand、device_manufacturer、およびdevice_modelの文字列を読み取り、これらの文字列をAmplitudeのデバイスタイプリポジトリにマッピングすることで、[Amplitude] Device familyおよび[Amplitude] Device typeを決定します。
新しい電話機モデルが発売された場合、Amplitudeが一部のデバイスタイプをまだマッピングしていない可能性があります。 これらの場合は [Amplitude] Device type です(none)。
サーバー側イベントでは、次のフィールドを一緒に更新しない場合もデバイス情報がnullになることがあります:platform、os_name、os_version、device_brand、device_manufacturer、device_model、carrier、およびuser_agent。これらのフィールドのいずれかを設定すると、同じイベントに対して明示的に設定していない限り、他のすべてのプロパティ値は NULL にリセットされます。
過去のイベントからのユーザー数
以前の日付のユーザー数は時間の経過とともに変動することがあります。 異なる日にデータを表示する場合、以前の日付のユーザー数が増えたり減ったりすることがあります。
Amplitudeが過去に発生したイベントを後で取り込むと、ユーザー数が増加することがあります。 一般的な理由:
- AmplitudeのモバイルSDKは、30秒ごと、または30件ごとのしきい値を使用してイベントをバッチ処理します。 ユーザーがしきい値を満たしていない場合、ユーザーがプロダクトに戻ってさらにイベントをトリガーするまで、SDKはイベントを送信しないことがあります。
- この問題を解決するには、イベントのアップロード頻度を調整してください。 Android Kotlin SDK の場合は、
flushIntervalMillisまたはflushQueueSizeを設定します。 iOS SDK の場合は、eventUploadPeriodSecondsまたはeventUploadThresholdを設定します。 その他の SDK については、SDK のドキュメントを参照してください。
- この問題を解決するには、イベントのアップロード頻度を調整してください。 Android Kotlin SDK の場合は、
- AmplitudeのバッチAPIとサーバー側の統合には固有の遅延があります。
- この問題を解決するには、バッチ処理をより頻繁にスケジュール設定してください。
- ユーザーがイベントをトリガーしたときにユーザーの携帯電話接続または Wi-Fi 接続が十分に強力ではなかった場合、SDK は接続がより強力になるまでそれらのイベントを保持します。
- この問題に対する解決策はありません。
Amplitudeがユーザーレコードをマージすると、ユーザー数が減少することがあります。
AmplitudeはユーザーID、デバイスID、Amplitude IDのシステムを使用して、ユニークユーザーを追跡しています。 一部のユーザーがユーザーIDを持っていない場合や、多くの匿名イベントが発生している場合、Amplitudeはまずこれらの匿名イベントを匿名プロファイルに割り当て、その後それらを既知のプロファイルにマージします。
匿名ユーザーが戻ってきて既存のプロファイルにマージされるにつれて、データは時間の経過とともに安定します。 これにかかる時間は、ユーザーの行動(ユーザーがプロダクトに戻ってくる頻度)と設定(イベントをバッチ処理する頻度)によって異なります。プロダクトを毎日使用しているユーザーは、マージの遅延が短くなります。頻繁に再訪しないユーザーは、遅延時間が長くなります。
他のプラットフォームとのデータの不一致
Amplitudeの数字は、他のベンダーのレポートと異なる場合があります。原因は様々です。
数値を比較する前に、Amplitudeがユーザーとセッションをどのように追跡しているかを確認してください。 ユニークユーザーの追跡とAmplitudeでのセッションの定義を参照してください。
データ不一致チェックリスト
次の質問をデータの不一致に関するトラブルシューティングのチェックリストとして使用してください。 質問に「はい」と答えることができる場合、その要因はおそらく原因ではありません。
Amplitudeと他のプラットフォームの間でタイムゾーンが一致する
そうでない場合は、数字を比較する前にタイムゾーンを合わせてください。 Amplitudeは取り込むデータのタイムスタンプをUTCで設定しますが、Amplitude UI内でタイムゾーンをカスタマイズできます。
Amplitudeで追跡されるイベントは、他のプラットフォームで追跡されるイベントと一致します
そうでない場合、ユーザ数とセッション数に矛盾が生じる可能性が高くなります。これは、両方が追跡されるイベントに依存するためです。
Amplitudeと他のプラットフォームは同じウェブボットとスクレーパーをブロックしています
そうでない場合、ユーザー数とセッション数に矛盾が生じる可能性が高くなります。
どちらのプラットフォームも対象のメトリックを同じ方法で定義しています
そうでない場合、矛盾が生じる可能性が高くなります。
他のプラットフォームはAmplitudeと同じようにユーザーを統合します
そうでない場合、他のプラットフォームがユーザーをマージするために使用する識別子に応じて、ユーザー数とセッション数に矛盾が生じる可能性があります。
セッションタイムアウトウィンドウはAmplitudeと他のプラットフォーム間で一致します
そうでない場合は、セッション数に矛盾が生じる可能性が高くなります。
Amplitude SDKの場合、デフォルトのセッションタイムアウト時間帯はウェブで30分、モバイルで5分です。 これらのしきい値はカスタマイズできるため、変更されているかどうかを開発者に確認してください。
Google アナリティクスでのセッション
Google アナリティクスとAmplitudeは同様にセッションを追跡していますが、特定の共通イベントによりセッション数に矛盾が生じる可能性があります。
| シナリオ | Amplitude | Google アナリティクス | ソース |
|---|---|---|---|
| 時刻は真夜中を迎えます | セッションは継続中 | 現在のセッションは午後11:59に終了し、新しいセッションは午前12:00に開始します。 | 「時間ベースの有効期限」を参照してください |
| キャンペーンソースの変更 | セッションは継続中 | 新しいセッションは、30分のしきい値内であっても開始されます。 | 「キャンペーンに基づく有効期限」を参照してください |
| セッションイベント制限 | 制限なし | 最初の 10 件のイベントが終了すると、Google アナリティクスは追跡を 1 秒あたり 1 件に制限します。 | 「セッションあたりのイベント数制限」を参照してください |
これは役に立ちましたか?