メインコンテンツまでスキップ

初回イベントの検証

最終更新 2026/10/03

この章では、AEシステムの特殊なデータ構造である初回イベントの検証の使用方法を説明します。初回イベントの検証はデータフィルタリングの機能の1つです。イベントデータに一意の識別IDを付加すると、システムはデータを受信したときに、そのIDが以前に出現したかどうかを照合します。IDが既に出現しているデータは取り込まれず、出現していないデータは取り込まれてそのIDが記録されます。これにより、そのIDが初めて出現したイベントだけが取り込まれることが保証されます。

警告

初回イベントの検証はパフォーマンスへの負荷が大きいため、すべてのイベントにこの検証を追加することはお勧めしません。また、ThinkingAIの担当者のサポートのもとで使用することをお勧めします

1. データ構造​

「初回イベントの検証」機能を使用するには、データを1点調整する必要があります:

  • IDフィールド#first_check_idを追加します。型は文字列である必要があります。このフィールドは初回イベントを検証するための識別IDで、このIDで最初に出現したデータは取り込まれ、それ以降に出現したデータはすべて取り込まれません。#first_check_idはイベントごとに独立しているため、各イベントの初回検証が互いに干渉することはありません

以下はデータのサンプルです。#first_check_idの位置に注目してください:

{
"#account_id": "ABCDEFG-123-abc",
"#distinct_id": "F53A58ED-E5DA-4F18-B082-7E1228746E88",
"#type": "track",
"#ip": "192.168.171.111",
"#uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"#time": "2017-12-18 14:37:28.527",
"#first_check_id": "123456",
"#event_name": "test",
"properties": {
"argString": "abc",
"argNum": 123,
"argBool": true
}
}

上記のデータの#first_check_idは"123456"です。イベント"test"で、#first_check_idが"123456"の別のデータが既に取り込まれている場合、このデータは取り込まれません。まだ取り込まれていない場合は、このデータは取り込まれます

2. データ処理ロジック​

AEシステムはイベントごとにIDテーブルを1つ管理しており、各イベントのIDテーブルは互いに独立しています。

#first_check_idを含むイベントデータを受信すると、システムは該当するイベントのIDテーブルからそのデータの#first_check_idを検索し、検索結果に応じて次のように処理します:

  1. IDテーブルにその#first_check_idが存在しない場合、そのデータは検証を通過してそのまま取り込まれ、IDテーブルにその#first_check_idが記録されます
  2. IDテーブルにその#first_check_idが存在する場合、そのデータはそのまま破棄されます

同じイベントで、#first_check_idを含むデータと含まないデータの両方を送信した場合、このフィールドを含まないデータは初回イベントの検証の対象にならず、通常のデータと同じように処理されます

ヒント

上記の主なロジックに加えて、注意点が2つあります:

1.パフォーマンスを確保するため、システムは定期的なバッチ処理で判定を行います。デフォルトの間隔は1時間のため、初回イベントの検証を使用するイベントデータには、デフォルトで1時間のクエリ遅延が発生します

2."#first_check_id"は処理後にデータベースに記録されません。記録が必要な場合は、イベントプロパティを1つ使って記録してください

3. ベストプラクティス​

新規デバイス​

新規デバイスのデータは、初回イベントの検証の使用に非常に適しています。アプリが起動するたびに、デバイスIDを#first_check_idとする「新規デバイス」イベントを1件送信します。初回イベントの検証のロジックにより、デバイスIDが初めて出現した「新規デバイス」イベントだけが記録され、それ以降に出現したデータはすべて破棄されます。そのため、取り込まれるイベントは各デバイスIDが初めて出現したイベントとなり、新規デバイスのロジックに合致します。

以下は、初回イベントの検証を使用した「新規デバイス」イベントのサンプルです:

{
"#distinct_id": "F53A58ED-E5DA-4F18-B082-7E1228746E88",
"#type": "track",
"#ip": "192.168.171.111",
"#time": "2017-12-18 14:37:28.527",
"#first_check_id": "device_id_123456",
"#event_name": "new_device",
"properties": {
"device_id": "device_id_123456"
}
}

このイベントはアプリが起動するたびに送信し、デバイスIDを#first_check_idとします。このほか、「デバイスモデル」、「流入チャネル」などのプロパティを追加して、分析時のディメンションを増やすこともできます。 AEのクライアントSDKまたはサーバーSDKについては、各SDKの接続ガイドを参照してください。ガイドの「初回イベント」の章で、詳しいインターフェースの呼び出し方法を説明しています

このページは役に立ちましたか?