コンテンツにスキップ

クラウドデータ取り込みのテーブル設定

このページでは、クラウドデータ取り込み(CDI)がデータを読み取る方法を選択し、その方法を使用する場合に PAYLOAD 列を含むソーステーブルを設定します。

データ定義オプションを選択する

データウェアハウスソースから同期を作成する場合、データ定義ステップでBrazeがデータを読み取る方法を選択します。表示されるオプションは同期タイプによって異なります。

オプション 仕組み 利用可能な対象
ビジュアル テーブルまたはビューを入力し、SQLを記述せずにダッシュボードでその列をBrazeフィールドにマッピングします。詳細については、ビジュアルマッパーを参照してください。 データウェアハウスソースのユーザー属性、カスタムイベント、キャンバストリガーの同期。
SQL ソースに対するクエリを記述します。クエリが返す列がBrazeフィールドになります。詳細については、SQLエディターを参照してください。 データウェアハウスソースのすべての同期タイプ。
PAYLOAD 列 Brazeが受け付ける識別子、UPDATED_AT、PAYLOAD の各列を含むテーブルまたはビューをソースに作成します。PAYLOAD には、ユーザー属性同期の場合の /users/track など、Braze REST API形式のJSONオブジェクトを格納します。次に、CDI同期を作成し、データ定義ステップでテーブルまたはビジュアルを選択して、テーブル名を入力します。要件については、以下のセクションを参照してください。 ファイルストレージを含むすべてのソースのすべての同期タイプ。

データ整理のガイダンス

各 CDI 同期では、ユーザー属性、カスタムイベント、購入イベント、カタログアイテムなど、一度に 1 つのデータタイプを更新します。ソーステーブルまたはビューを設定する際は、同期の計画に合わせてデータを整理してください。

  • データタイプごとに 1 つのテーブル:データタイプごとに個別のテーブルまたはビュー (user_attributes、custom_events、purchases など) を作成すると、データが明確に分離され、異なる同期スケジュールやデータ定義を管理しやすくなります。
  • 共有ソーステーブル:ビジュアルマッパーモードまたは SQL マッパーモードを使用する場合、複数の同期で同じソーステーブルからデータを取得できます。たとえば、属性の同期とイベントの同期で同じテーブルをクエリできますが、Braze ダッシュボードでは属性用とイベント用に別々の同期を作成する必要があります。各同期では、必要な列のみをマッピングまたはクエリします。

データパイプラインと管理するユースケースの数に合った方法を選択してください。どちらのパターンも、ユースケースの拡大に合わせて機能します。

テーブル設定とペイロードフォーマットの違いを理解する

PAYLOAD 列を使用する CDI ユーザーデータ同期では、次の両方を設定します。

レイヤー 制御する内容
ソーステーブルの設定 必須列、ユーザー識別子、および UPDATED_AT による同期の動作
ペイロードのフォーマット PAYLOAD 内の JSON フィールド (属性、イベント、購入のオブジェクト構造を含む)

Braze はまずソーステーブルから行を読み込み、その後、選択したデータタイプに基づいて PAYLOAD フィールドを検証します。

ソーステーブルを設定する

PAYLOAD 列を使用するデータウェアハウスのユーザーデータ同期では、ソーステーブルまたはビューに以下を含める必要があります。

  • UPDATED_AT
  • PAYLOAD
  • サポートされているユーザー識別子列 (1 つ以上):
    • EXTERNAL_ID
    • ALIAS_NAME と ALIAS_LABEL
    • BRAZE_ID
    • EMAIL
    • PHONE

テーブルに複数の識別子列がある場合でも、各行に含める識別子タイプは一度に 1 つにしてください。

UPDATED_AT の要件

  • 夏時間の問題を避けるため、UPDATED_AT の値は UTC で保存してください。
  • Braze は、UPDATED_AT が最後に同期された値より新しい行を同期します。
  • 境界と同じタイムスタンプを持つ行は、そのタイムスタンプを共有する新しい行がある場合、再同期されることがあります。

重複するタイムスタンプと増分更新のガイダンスについては、クラウドデータ取り込みのベストプラクティスを参照してください。

PAYLOAD 列を設定する

PAYLOAD の値は、選択したデータタイプについて Braze の /users/track エンドポイントで使用されるオブジェクト形式と同じ形式に従います。

データタイプ 形式のリファレンス
attributes ユーザー属性オブジェクト
events イベントオブジェクト
purchases 購入オブジェクト

階層化属性の場合は、オブジェクトプロパティとして日付を取得するの形式を使用して日付を含めてください。

ペイロードの例

カスタム属性の同期では、ペイロード列に階層化カスタム属性を含めることができます。

{
      "most_played_song": {
        "song_name": "Solea",
        "artist_name": "Miles Davis",
        "album_name": "Sketches of Spain",
        "genre": "Jazz",
        "play_analytics": {
            "count": 1000,
            "top_10_listeners": true
        }
      }
}

イベントを同期するには、イベント名が必要です。time フィールドは、ISO 8601 文字列または yyyy-MM-dd'T'HH:mm:ss:SSSZ 形式で指定してください。time フィールドがない場合、Braze は UPDATED_AT 列の値をイベント時刻として使用します。app_id や properties などのその他のフィールドは任意です。

1行につき1つのイベントを同期できます。

{
    "app_id" : "your-app-id",
    "name" : "rented_movie",
    "time" : "2013-07-16T19:20:45+01:00",
    "properties": {
        "movie": "The Sad Egg",
        "director": "Alex Smith"
    }
}

購入イベントを同期するには、product_id、currency、price が必要です。任意の time フィールドは、ISO 8601 文字列または yyyy-MM-dd'T'HH:mm:ss:SSSZ 形式で指定してください。time フィールドがない場合、Braze は UPDATED_AT 列の値をイベント時刻として使用します。app_id、quantity、properties などのその他のフィールドは任意です。

1行につき1つの購入イベントを同期できます。

{
    "app_id" : "11ae5b4b-2445-4440-a04f-bf537764c9ad",
    "product_id" : "Completed Order",
    "currency" : "USD",
    "price" : 219.98,
    "time" : "2013-07-16T19:20:30+01:00",
    "properties" : {
        "products" : [ { "name": "Monitor", "category": "Gaming", "product_amount": 19.99 },
        { "name": "Gaming Keyboard", "category": "Gaming ", "product_amount": 199.99 }
        ]
    }
}

購読グループのステータスを同期するには、各行に subscription_group_id と subscription_state のペアを1つ以上含めてください。

{
    "subscription_groups" : [
        {
            "subscription_group_id": "subscription_group_identifier_1",
            "subscription_state": "unsubscribed"
        },
        {
            "subscription_group_id": "subscription_group_identifier_2",
            "subscription_state": "subscribed"
        },
        {
            "subscription_group_id": "subscription_group_identifier_3",
            "subscription_state": "subscribed"
        }
      ]
}
New Stuff!