Amplitudeのサポートチームには、Amplitudeの実装に関するいくつかの質問がよく寄せられます。以下では、よく寄せられるインストルメンテ―ションに関する質問とその回答をいくつか示します。
よくあるご質問
- 取り込み後に値を削除または変更できますか?
- デバイスIDはどのように設定しますか?
- 2つの異なるイベントに同じ名前を付けることはできますか?
- Amplitudeに配列値を送信できますか?
- 「デバイスタイプ」または「デバイスファミリー」などのデバイス情報がヌルになっているのは何故でしょうか?
- セッションで新しいセッションID値が生成されるのは何故でしょうかか。
- 定期的な収益サブスクリプションイベントを送信するにはどうすればよいですか。
- ボットトラフィックユーザーをフィルタリングするにはどうすればよいですか。
回答
取り込み後に値を削除または変更できますか?
Amplitudeにデータを取り込んだ後、変更することはできません。Amplitudeの現在のアーキテクチャは、ユーザーとイベントの両方について時間、日、週、月ごとに事前集約されたセットに基づいています。これにより、Amplitudeは大規模なクエリーを簡単に実行できるが、データを不変にする必要があります。
データは、GDPRおよび他のプライバシー法に準拠して、ユーザープライバシーAPIを介して個々のユーザーレベルで削除することができます。このAPIの詳細については、こちらをご参照ください。
デバイスIDはどのように設定しますか?
デバイスIDは、(AmplitudeのSDKを使用)クライアント側イベントを送信する場合とサーバー側イベント(HTTP API)を送信する場合では、設定が異なります。
- SDK
- AndroidのデバイスIDは、Googleの広告IDをデバイスIDとして使用することを選択しない限り、ランダムに生成するUUIDをデフォルトで使用します。
- iOS SDKの場合、デバイスIDはベンダーの識別子(IDFV)に設定します(利用可能な場合)。それ以外の場合はランダムに生成します。代わりに、広告識別子(IDFA)も使用することができます(使用可能な場合)。
- サーバー側(HTTP API)
- サーバー側イベントの場合、イベントでデバイスIDを手動で送信する必要があります。使用可能なデバイスIDがない場合、デバイスIDはランダムに生成した
user_id
のハッシュバージョンに設定します。詳細については、こちらをご参照ください。 - サーバー側イベントとクライアント側イベントで同じデバイスIDの設定を維持しない場合、デバイスモデル、言語、およびキャリアが同じでも、同じユーザーのデバイスIDは異なります。
- サーバー側イベントの場合、イベントでデバイスIDを手動で送信する必要があります。使用可能なデバイスIDがない場合、デバイスIDはランダムに生成した
2つの異なるイベントに同じ名前を付けることはできますか?
いいえ。各イベント名は、プロジェクト全体で一意である必要があります。同じ名前の2つのイベントは、同じイベントと見なします。同じ名前のプロジェクト内の2つのイベントに気付いた場合は、そのうちいずれかのイベントの表示名が誤って別のイベントと同じ名前に設定している可能性があります。[管理]でイベントを拡大して詳細を表示することで、確認することができます。
Amplitudeに配列値を送信できますか?
はい。 ただし、Amplitudeは、配列プロパティに関する正確な一致をサポートしていません。演算子を使用して、配列内の値をフィルタリングすることができます。
プロジェクトでデバイス情報(デバイスタイプやデバイスファミリなど)が「ヌル」を返すのは何故でしょうか。
Amplitudeがデバイスまたはブラウザからデバイス情報が分析できない場合、またはデバイスがAmplitudeのシステムでマッピングしない場合、ヌル値を返します。マッピングする新しいデバイス値を表示する場合は、次の情報を使用してAmplitudeのサポートチームまでお問い合わせください:
- メーカー(例:サムスン)
- モデル(例:sm-g930uu)
- デバイスファミリー(例:サムスンギャラクシー電話)
- デバイスタイプ(例:サムスンギャラクシーS7)
セッションで新しいセッションID値が生成されるのは何故でしょうかか。
イベントが同じデバイスから送信されている場合、AmplitudeのSDKを介して取り込んだイベントは同じセッションを維持します。デバイスIDが変更するたびに、セッションIDが変更されます。
JavaScript SDKのデフォルトのセッションタイムアウトは30分です。iOS/Androidの場合、5分です。
定期的な収益サブスクリプションイベントは、どのようにして送信できますか。
サブスクリプションに関連する最初の収益イベントの後、AppleまたはGoogleは、契約が有効かどうかを検証する必要があります。その場合、サブスクリプション収益イベントは、そのサブスクリプションの時間間隔でAmplitudeが受信する必要があります。
ボットトラフィックユーザーをフィルタリングするにはどうすればよいですか。
Amplitude SDKは、ユーザエージェントを使用して一部のユーザプロパティ(デバイスタイプなど)を入力するが、ユーザエージェント自体は収集または保存しません。一部のお客様は、ユーザーエージェントをカスタムユーザープロパティとして保存し、その方法でボットユーザーを削除するロジックを実装するものもあります。
または、疑わしいボットユーザーのIPアドレスを特定できる場合は、データフィルタを使用してそのIPアドレスからのイベントをブロックすることもできます。これは、[管理]>[詳細設定]>[ブロックリスト]の順に移動します。