Data Manager API を使用する際は、次のベスト プラクティスを念頭に置いてください。
すべてのユーザー識別子を送信する
UserData を使用してオーディエンス メンバーまたはイベントを送信する場合は、同じタイプの複数の識別子を送信するなど、できるだけ多くの user_identifiers を含めます。
たとえば、ユーザーに複数のメールアドレスがある場合は、メールアドレスごとに個別の UserIdentifier を含めます。同様に、ユーザーに異なるタイプの識別子(メールアドレス、電話番号、住所など)がある場合は、識別子ごとに個別の UserIdentifier を追加します。追加できる識別子の数は、最大識別子数までです。
リクエストを最適化する
1 日あたりのリクエスト数の上限を超える可能性を減らすには、各リクエストでできるだけ多くのアイテムをバッチ処理します(リクエストごとの上限まで)。
たとえば、10,000 人のオーディエンス メンバーをオーディエンスに追加する場合は、1 つの IngestAudienceMembersRequest の audience_members リストに 10,000 人のメンバーをすべて追加します。10,000 人のメンバーを 1 つのリクエストにまとめてバッチ処理する方が、各オーディエンス メンバーを追加するリクエストを個別に送信するよりも効率的です。
同時リクエストを送信する
データの取り込みに必要な全体的な時間を短縮するには、IngestionService に同時リクエストを送信します。1 分あたりのリクエスト数の上限を超えないように、同時に送信するリクエストは 10 件までにすることをおすすめします。
リクエストに同じ destinations が含まれている場合でも、同時リクエストを送信できます。
クライアントサイドでデータを検証する
Data Manager API はファストフェイル モデルを使用します。リクエスト内のいずれかのレコードが同期検証に失敗すると、リクエスト全体が失敗し、どのレコードも処理されません。また、API はリクエストを順次レイヤで検証するため、1 つのエラーを修正すると、後続の検証レイヤでエラーが発生することがあります。
往復の繰り返しやリクエストの拒否を回避するには、データを送信する前に検証とサニタイズを行います。
ハッシュ化する前に空の値を削除する: SHA-256 ハッシュを計算する前に、
email_addressやphone_numberなどのフィールドに空の文字列や空白のみの文字列がないか確認します。空の文字列をハッシュ化すると、構文チェックに合格する有効なハッシュが生成されますが、マッチ率が低下します。不完全な複合オブジェクトを削除する: 複合オブジェクトをレコードに追加する前に、必要なフィールドがすべて揃っていることを確認します。たとえば、
AddressInfoオブジェクトに 4 つの必須フィールド(given_name、family_name、region_code、postal_code)のいずれかが欠落している場合は、REQUIRED_FIELD_MISSINGエラーを回避するためにaddress識別子全体を削除します。エンコード フィールドと平文フィールドを検証する: ハッシュ化されたフィールドが、未加工の平文を送信するのではなく、宣言された
encodingと一致することを確認します。また、平文のままにする必要があるフィールド(mobile_idsなど)がハッシュ化されていないことを確認します。範囲外のタイムスタンプをフィルタする: タイムスタンプが、将来の日付や、リンク先のコンバージョンのルックバック ウィンドウよりも古い日付になっていないことを確認します。
JSON を使用してリクエストを送信する場合は、タイムスタンプ文字列でタイムゾーン オフセット付きの RFC 3339 形式を使用してください。
電話番号をクリーンアップする: 電話番号に国コードが含まれていることを確認し、ハッシュ化する前に E.164 形式を使用します。
空のレコードまたはサイズ超過のレコードを削除する:
user_identifiersをレコードあたりの上限(10 個の識別子)に制限し、空のカスタム パラメータを削除して、有効な識別子が含まれていないレコードを省略します。ユースケースの要件を確認する: 各イベントに、宛先とユースケースのすべての必須フィールド(Google 広告のオンライン コンバージョンの
transaction_idなど)が含まれていることを確認します。ユースケース別の必須フィールドの完全なリストについては、イベントの概要で、送信先のイベント送信ガイドをご覧ください。validateOnlyを使用してリクエストをテストする:validateOnlyをtrueに設定してリクエストを送信し、データの取り込みや削除を行わずにファストフェイル エラーをキャッチします。検証のみのリクエストが成功しても、非同期処理中にエラーが発生しないとは限りません。通常のリクエストを送信した後も、リクエストのステータスと診断を確認してください。
正規化とハッシュ化のルールの詳細については、ユーザーデータをフォーマットするをご覧ください。
リクエストのステータスと診断を確認する
各 IngestAudienceMembersResponse または IngestEventsResponse から request_id をキャプチャして収集し、リクエスト ID を使用してリクエストのステータスと診断を確認します。
割り当てのモニタリングとアラート
予期しないリクエストの拒否を回避するには、Google Cloud コンソールで割り当てアラートとモニタリングを設定します。割り当て使用量をモニタリングすると、アプリケーションが1 日あたりの上限または 1 分あたりの上限に達する前に、消費パターンを追跡してリクエストのバッチ処理を最適化できます。
本番環境にデプロイする
ローカルテストから本番環境のワークロードに移行する場合は、サービス アカウントまたは Workload Identity 連携が関連付けられたアプリケーションのデフォルト認証情報を使用して、非対話型で安全に認証します。
さまざまな本番環境の認証を構成する方法については、本番環境にデプロイするをご覧ください。