コンテンツにスキップ

よくある質問

このページでは、Currentsに関するよくある質問への回答を提供します。

特定の期間のキャンペーンまたはキャンバスのデータをエクスポートできますか?

指定した期間のキャンペーンまたはキャンバスの指標を取得するには、次のいずれかの方法を使用します。

  • date-aligned campaign or Canvas exports for dashboard-style reporting outside standard API windowsにご興味がある場合は、製品フィードバックを送信してください。
  • 時系列データを取得するには、ending_at パラメーターと length パラメーターを指定してキャンペーン分析エンドポイントまたはキャンバス分析エンドポイントを呼び出します(または /campaigns/data_series と /canvas/data_series を使用します)。
  • Amazon S3、Azure Blob Storage、またはその他のサポートされている送信先で、継続的にクエリ可能なメッセージエンゲージメントデータが必要な場合は、Currents を使用してイベントをデータウェアハウスにストリーミングします。

稼働中のCurrents連携を編集するにはどうすればよいですか?

稼働中のCurrentsコネクターを変更するには、連携を開いて編集を選択します。編集を選択しない限り、連携のUIは読み取り専用のままで、アイコンだけではコネクター設定を変更できません。

BrazeはアップロードされたAzure Blob StorageのAvroファイルをどのように扱いますか?

Brazeは、Microsoft Azure Blob Storageへのアップロードが完了した後、Avroファイルを変更しません。アップロードの進行中は、Azureがblobの削除をブロックする場合があります。

過去のデータを取得するにはどうすればよいですか?

Currentsはリアルタイムのライブデータストリームであるため、イベントを再生することはできません。ただし、Amazon S3やMicrosoft Azure Blob StorageなどのデータウェアハウスにCurrentsのデータを保存しておけば、過去のイベントを必要に応じて活用できます。データの保持期間は30日間ですが、さらに過去のデータが必要な場合は、Snowflakeにクエリを実行できます。

CurrentsがJSONではなくAvro形式でデータを出力するのはなぜですか?

スキーマを持たないJSONとは異なり、Avroはスキーマの進化をネイティブにサポートしています。また、Avroは圧縮率が高いため、Avroファイルを少ない帯域幅で送信でき、ストレージ容量も節約できます。

Brazeはファイルのオーバーヘッドをどのように処理しますか?

Brazeは抽出・変換・読み込み(ETL)プロセスを構築しています。このプロセスにより、あるデータベースから大量のデータを取り出し、別のデータベースに配置して保存できます。

このデータはクエリ用にどこに保存すればよいですか?

Brazeは、クエリ用にデータを保存できる複数のデータウェアハウスと提携しています。以下の使用をおすすめします。

Currentsのデータはどの程度信頼できますか?

Currentsは「少なくとも1回」の配信を保証しています。つまり、重複したイベントがストレージバケットに書き込まれる場合があります。ユースケースで「厳密に1回」の配信が必要な場合は、すべてのイベントとともに送信される一意の識別子フィールド (id) を使用してイベントの重複を排除できます。詳しくは、イベント配信セマンティクスを参照してください。

Currentsへのデータ同期の頻度はどのくらいですか?

データは継続的にストリーミングされます。Brazeは、送信できるイベントが1バッチ分たまるたび、または5分ごとのいずれか早いタイミングで、イベントのバッチを送信します。データ量の多いコネクターでは、データはほぼリアルタイムで届きます。データ量の少ないコネクターでは、データの到着まで5~30分程度かかることがあります。詳しくは、Avro書き込みしきい値を参照してください。

Currents で利用できるイベントを確認するにはどうすればよいですか?

Currents が記録するイベントの一覧については、顧客行動イベントとメッセージエンゲージメントイベントの用語集を参照してください。これらの用語集は、イベントタイプ (送信、配信、開封など) でフィルタリングできます。

Currentsのイベント数がダッシュボードやエンゲージメントレポートの指標と一致しないのはなぜですか?

Currentsと Brazeダッシュボードでは、一部の指標の計算方法が異なるため、Currentsのイベントとダッシュボードの指標が完全に一致することは想定されていません。

ユニーククリック数: メールの場合、ダッシュボードはユニーククリックを7日間の期間で追跡し、dispatch_id ごとに計測します。Currentsは個々の生のクリックイベントをすべて記録します。Currentsベースのユニーククリック数をダッシュボードの指標に合わせるには、is_unique が true のイベントでフィルターしてください。

購読解除: ダッシュボードの購読解除指標は、Brazeの標準の購読解除リンクのクリックを反映します。カスタムの購読解除ページでは、APIを通じてユーザーを更新しない限り、この指標は増加しません。Currentsの users.messages.email.Unsubscribe イベントは特殊なクリックイベントで、ユーザーがメール本文やフッター内の購読解除リンクをクリックしたとき、またはlist-unsubscribeヘッダーを通じて購読解除したときに発生します。このイベントは、メールの購読ステータスのすべての変更を表すものではありません。

タイムスタンプとタイムゾーン: Currentsのタイムスタンプはすべて UTC です。ダッシュボードの指標は会社のタイムゾーンに従います。会社のタイムゾーンに変換せずにCurrentsのデータを暦日単位で集計すると、ダッシュボードに表示される日付とは異なる日付にカウントが振り分けられる場合があります。

重複イベント: Currentsは少なくとも1回の配信 (at-least-once delivery) を提供するため、重複したイベントがまれに書き込まれることがあります。合計をダッシュボードの指標と比較する前に、各イベントの一意の id フィールドで重複を排除してください。

Currents のメール開封またはクリックイベントの external_user_id(Braze スキーマ: external_id)が、Braze ダッシュボードのユーザープロファイルと異なるのはなぜですか?

  • Braze ダッシュボードの場合: メールアドレスに関連付けられたユーザーがメールを開封またはクリックすると、そのメールアドレスを共有するすべてのユーザープロファイルが、そのメールを開封またはクリックしたものとしてマークされます。詳しくは、メールを送信した際に、複数のプロファイルが同じメールアドレスを持っている場合はどうなりますか?を参照してください。
  • Currents の場合: 同じ開封またはクリックは、1つのプロファイルに保存されます。送信時に最初にターゲットとされたプロファイルがまだそのメールアドレスを共有している場合、Braze はそのプロファイルに開封またはクリックを帰属させます。それ以外の場合、Braze はそのメールアドレスを共有するプロファイルの中からランダムに選んだ1つのプロファイルに帰属させます。

そのため、Currents と Braze ダッシュボードを比較すると、Currents のメール開封またはクリックイベントの external_user_id の値(Braze スキーマのマッピングテーブルでは external_id という名前)が、想定しているユーザープロファイルと一致しない場合があります。

すべての送信イベントはCurrentsに記録されますか?

Brazeは、ライブのキャンペーンとキャンバスからのイベントをCurrentsに記録します。テスト送信を除き、BrazeがCurrentsストリームから意図的にイベントを除外することはありません。

テスト送信では、Currentsのメッセージエンゲージメントイベントは生成されません。これには、キャンペーンまたはキャンバスステップから送信されたテストメッセージと、キャンバスをテストする際にすべてのテストメッセージを送信で送信されたメッセージが含まれます。Currentsでメッセージエンゲージメントイベントを確認するには、ライブのキャンペーンまたはキャンバスから送信してください。

Currentsのデータが破損することはありますか?

通常の状況では、Currentsのデータが破損することはありません。まれに問題が発生する可能性は常にありますが、データが系統的に破損する既知の条件はありません。

Currents連携を設定する前の日付のカスタムイベントデータが表示されるのはなぜですか?

BrazeはCurrentsにイベントをバックフィルしません。ただし、カスタムイベントは過去のタイムスタンプで記録されることがあります(たとえば、イベント発生時にデバイスがオフラインで、後から同期された場合など)。このような場合、イベントのタイムスタンプはイベントが最初に発生した日時を示すため、Currents連携を設定する前の日時になることがあります。

Currentsイベントにはどのようなユーザー識別子が含まれますか?

メッセージエンゲージメントイベント (送信、開封、クリックなど) には、BrazeのユーザーID (user_id) が含まれます。また、プロファイルに存在する場合は外部識別子も含まれます。この外部識別子は、イベントペイロードでは external_user_id、Brazeのスキーママッピング表では external_id と表記されます。一部のメールメッセージエンゲージメントイベントには email_address も含まれます。カスタム属性は含まれません。

Currentsのデータをデータウェアハウスや CRM に送信していて、プロファイルデータと結合する必要がある場合は、user_id または external_user_id を使用して、ダウンストリームのシステムで結合を行ってください。

Currents イベントの app_group_id フィールドとは何ですか?

app_group_id フィールドには、イベントが属するワークスペースのAPI識別子が含まれます。この値はUUIDです。クエリビルダー、SQLセグメントエクステンション、Snowflakeデータ共有のSQLテーブルにある app_group_api_id 列と同じ値です。そのため、この値を使ってCurrentsのデータをこれらのテーブルと結合できます。

CurrentsのIDフィールドでは、Brazeの内部IDではなくAPI識別子を使用しているため、他のフィールドも同じパターンに従います。たとえば、Currentsの canvas_id にはキャンバスのAPI識別子が含まれます。

app_group_id の値は認証情報ではないため、REST APIリクエストの認証には使用できません。ワークスペースに対してREST APIリクエストを行うには、REST APIキーを使用してください。

Currentsの送信イベントにカスタム属性を含めることはできますか?

いいえ。Currentsでは、送信イベントにカスタム属性は含まれません。Currentsはカスタムイベントとメッセージエンゲージメントイベントを記録します。利用可能なフィールドの全一覧については、イベント用語集を参照してください。

Currentsにはキャンペーンやキャンバスのタグ、またはキーと値のペアが含まれますか?

いいえ。Currentsには、キャンペーンやキャンバスのタグ、およびメッセージレベルのキーと値のペアは含まれません。タグデータを取得するには、Export REST APIを使用してください。別の回避策として、キャンペーンでWebhookチャネルを使用し、Liquidで値をテンプレート化して、タグやキーと値のペアのデータを独自のエンドポイントに送信することもできます。

BrazeはCurrentsの変更をどのように顧客に通知しますか?

まれに互換性に影響する変更が発生する場合、Brazeは、アクティブな連携の連絡先と、アクティブなCurrents連携を持ち過去30日以内にダッシュボードを使用したすべての管理者に、事前にメールを送信します。新しいイベントや既存のイベントへの新しいフィールドの追加など、互換性に影響しない変更については、Brazeは通知を送信しません。最新の変更については、Currentsの変更ログを参照してください。

Currents の復旧通知はどの期間を対象としていますか?

Currents 連携が認証情報の誤りや送信先エンドポイントからの 500 エラーなどのエラーから復旧すると、Braze は連携の連絡先メールアドレスに、連携が「is now recovering」(現在復旧中) であることを知らせるメールを送信します。連携が遅れを取り戻すと、Braze は連携が「has fully recovered」(完全に復旧した) こと、そして滞留していたデータがすべて送信されたことを通知します。これらの復旧通知には、滞留データがどの期間を対象としているかは記載されていません。

復旧した期間を特定するには、次の手順に従います。

  1. 同じ連携について Braze が最初に送信した障害通知を探します。この通知には、連携の障害がおおよそいつ始まったかが記載されています。
  2. 「has fully recovered」の通知を受信した日時を確認します。

Braze が送信した滞留データは、連携の障害が始まった時点から復旧した時点までのイベントを対象としています。

連携の障害が 5 日以上続いた場合、一部のイベントが破棄されている可能性があります。破棄されたイベントは復元できません。詳細については、要件を参照してください。

Currentsデータにはどのくらいのストレージが必要ですか?

必要なストレージは、イベントの量とエクスポートするイベントの種類によって異なります。BrazeではAvro形式のサンプルイベントを提供しています。これを使用して、ユースケースに応じたファイルサイズを見積もることができます。

Currentsのデータで、キャンペーン名やキャンバスステップ名がNULLになるのはなぜですか?

新しいキャンペーンやキャンバスを作成すると、その名前がBrazeのすべてのシステムに反映されるまでに時間がかかる場合があります。この間にCurrents経由で送信されたイベントでは、名前フィールド (campaign_nameやcanvas_step_nameなど) がNULLになることがあります。イベントが記録される直前に名前を変更した場合も、同様の動作が想定されます。これを避けるには、キャンペーンやキャンバスステップを作成または名前変更した後、しばらく時間をおいてから送信してください。

Currentsでセッション終了イベントが遅延または欠落するのはなぜですか?

セッション終了イベントは、SDKの通常のアップロードスケジュールに従います。Braze SDKはセッションデータをローカルにキャッシュし、ネットワーク品質に応じて定期的にフラッシュします。たとえば、接続が良好な場合は約10秒ごとにフラッシュします。SDKがイベントをアップロードするまで、そのイベントはCurrentsに表示されません。

次のフラッシュの前にユーザーがアプリを強制終了したり、オフラインになったりした場合、セッション終了イベントが遅れて届くか、まったく届かないことがあります。iOSでは、アプリがバックグラウンドにある間はSDKがデータを送信できないため、セッション終了イベントはアプリが再度開かれるまでフラッシュされないことがよくあります。

Currentsでよりタイムリーにセッションの区切りを把握する必要がある場合は、アプリがバックグラウンドに移行したときやフォアグラウンドに戻ったときなどのライフサイクルのタイミングで、requestImmediateDataFlush() を呼び出してください。詳しくは、データのアップロードとダウンロードおよびセッション終了とセッション開始のタイムスタンプが近い(iOS)を参照してください。

Currentsがデータを書き込もうとしたときにストレージバケットが利用できない場合はどうなりますか?

Brazeがストレージバケットに書き込めない場合、書き込めなかったイベントをキューに入れ、再試行を続けます。これは、バケットが返すエラーの種類に関係なく適用されます。バケットが再び書き込みを受け付けるようになると、Brazeはキューに入れたイベントを配信し、その後に新しいイベントを配信します。

Brazeがバケットに書き込めない間、インテグレーションの連絡先メールアドレスにインテグレーションエラーの通知が届く場合があります。バケットが返すエラーによっては、認証情報を変更していなくても、認証情報が無効であると通知されることがあります。

問題が5日以上続くと、Brazeはイベントの破棄を開始します。破棄されたイベントは復元できません。詳しくは、要件を参照してください。

バケットが利用可能であることを確認する方法

バケットが利用可能な状態とは、Currentsインテグレーションに保存されている名前でバケットが存在し、Brazeからの書き込みを受け付けている状態です。これを確認するには、以下の手順を実行します。

  1. Brazeでパートナー連携 > Currentsに移動し、インテグレーションを開きます。バケット名 (Azure Blob Storageの場合はコンテナー名) と、フォルダーパスまたはプレフィックスを控えておきます。
  2. クラウドプロバイダーのコンソールで、その名前と完全に一致するバケットが存在することを確認します。
    • Amazon S3の場合は、バケットを所有するAWSアカウントを確認します。
    • Google Cloud Storageの場合は、JSONキーファイルのproject_idに記載されているプロジェクトを確認します。
    • Azure Blob Storageの場合は、アカウントエンドポイントまたは接続文字列に含まれるストレージアカウントを確認します。
  3. バケットが存在しない場合は、新しいバケットを作成し、その名前でインテグレーションを更新します。
  4. ファイアウォールルールやプライベートエンドポイントなどでバケットへのネットワークアクセスを制限している場合は、ルールでBrazeからの書き込みが許可されていることを確認します。BrazeがCurrentsデータを送信するIPアドレスについては、IP許可リストを参照してください。Azure Blob Storageについては、Azure Blob Storageの許可リストに追加するIPアドレスをBrazeから提供してもらえますか?を参照してください。
  5. バケットが書き込みを受け付けるようになったら、フォルダーパスまたはプレフィックスに新しいファイルがあるかを確認します。Brazeは、まずキューに入れたイベントを配信し、その後に新しいイベントを配信します。

バケットが正しく設定されていることを確認する方法

Brazeには、正確なバケット名、有効な認証情報、およびバケットへの書き込み権限が必要です。設定を確認するには、以下の手順を実行します。

  1. Currentsインテグレーションで、バケット名が実際のバケットと完全に一致していることを確認します。バケットフィールドには、スラッシュやパスを含めずにバケット名のみを入力します。パスはフォルダーパスまたはプレフィックスのフィールドに入力します。
  2. インテグレーションの認証情報に必要な権限があることを確認します。
    • Amazon S3: IAMポリシーで、バケットに対するs3:ListBucketとs3:GetBucketLocation、およびバケット内のオブジェクトに対するs3:PutObjectとs3:GetObjectが許可されていること。また、バケットでSSE-KMS暗号化やObject Lockを使用できません。詳しくは、Amazon S3のインテグレーションおよびトラブルシューティングを参照してください。
    • Google Cloud Storage: サービスアカウントのロールにstorage.objects.create、storage.objects.delete、storage.objects.list、storage.objects.get、storage.buckets.getが含まれていること。バケットで階層型名前空間を使用している場合は、ロールにstorage.folders.createも必要です。詳しくは、ステップ1: ロールを作成するを参照してください。
    • Azure Blob Storage: 証明書サービスプリンシパル認証またはワークロードIDフェデレーション認証を使用している場合、アプリ登録にコンテナーに対するStorage Blob Data Contributorロールが付与されていること。ロールの割り当てが有効になるまで最大30分かかる場合があります。ワークロードIDフェデレーションの場合は、フェデレーション資格情報の発行者、サブジェクト識別子、対象ユーザーが、Brazeに表示される値と一致していることも確認してください。詳しくは、証明書サービスプリンシパルについてはステップ4: ストレージアカウントへのアクセス権を付与するを、ワークロードIDフェデレーションについてはステップ2: フェデレーション資格情報を追加するおよびステップ3: ストレージアカウントへのアクセス権を付与するを参照してください。
  3. 認証情報が最新であることを確認します。キー、ロール、または証明書をローテーションした場合は、インテグレーションを更新してください。詳しくは、CurrentsのAmazon S3認証情報を更新する、CurrentsのAzure認証情報を更新する、またはCurrentsを更新するを参照してください。

Currentsデータを失わずにストレージバケットを移行できますか?

はい。稼働中のCurrents連携に接続されているストレージバケットを移行する場合(たとえば、Google Cloud Storageのバケット移行を使用する場合)、バケット名、認証情報、プレフィックスが変わらなければ、Currents連携を編集する必要はありません。移行中、Brazeは書き込めないイベントをキューに入れ、バケットが再び書き込みを受け付けるようになった時点で配信します。

イベントの欠落を防ぐため、移行は5日以内に完了してください。

Currents 統合を作成または編集するときに、エンタイトルメントの上限に関するメッセージが表示されるのはなぜですか?

Currents では、コネクターの機能ごとに個別のエンタイトルメントプールを使用します。

  • エンゲージメントイベント:標準の Currents コネクターを作成またはアップグレードする際に必要です。
  • 顧客行動イベント:Track Customer Behavior and User Events を有効にする際に必要です。
  • ユーザープロファイルと属性:Track user profiles and attributes を有効にする際に必要です。

いずれかのプールを使い切ると、Braze はエンタイトルメントに関する警告を表示し、そのアクションをブロックします。追加のエンタイトルメントをリクエストする場合や、設定の調整についてサポートが必要な場合は、Braze のアカウントマネージャーにお問い合わせください。

ストレージパス内のCurrentsバージョンはどのくらいの頻度で変わりますか?

ストレージパス内の version=<currents_version> の部分は、毎月のCurrentsリリースごとに進みます(例: version=6 から version=7)。特定のバージョン部分をハードコードするのではなく、ルートパスから再帰的にファイルを読み込むことをおすすめします。こうすることで、バージョンが変わった後もパイプラインが自動的にデータを取得できます。パス形式の詳細については、イベント配信のセマンティクスを参照してください。バージョンごとの変更履歴については、Currentsの変更履歴を参照してください。

メッセージエンゲージメントイベントに campaign_id や canvas_id が含まれていないのはなぜですか?

イベントタイプやコンテキストによっては、メッセージエンゲージメントイベントが特定のキャンペーンやキャンバスステップに紐づいていない場合があります。そのような場合、campaign_id、canvas_id、および関連する名前フィールドがイベントのペイロードから省略されることがあります。特定のイベントでこれらのフィールドが見当たらない場合は、そのイベントタイプとコンテキストに通常キャンペーンやキャンバスの識別子が含まれるかどうかを確認してください。

Currentsのタイムスタンプが秒単位の精度に制限されているのはなぜですか?

Currentsイベントのtimeフィールドは32ビット整数として保存されるため、秒単位の精度に制限されます。一部のイベントには、64ビットのミリ秒精度のタイムスタンプフィールドも別途含まれています。各イベントタイプで利用できるフィールドについては、イベント用語集を確認してください。

Currentsのusers.canvas.Conversionイベントの時刻がキャンバスと異なるのはなぜですか?

Currentsのusers.canvas.Conversionイベントの時刻は、キャンバスへのエントリーから計測した合計コンバージョン期間(キャンバスの期間とコンバージョン期限の合計)を反映しています。

エンゲージメントレポートが S3 に送信されるとどうなりますか?

S3 の認証情報がデータエクスポート用に設定されていて、Currents 用には設定されていない場合、Braze はエンゲージメントレポートを指定の S3 バケットにアップロードします。レポートの送信先フィールドに指定されたユーザーには、S3 上のレポートへのリンクが記載されたメールが届きます。

Braze Currents経由で匿名ユーザーデータをAmplitudeに送信できますか?

device_idで識別される匿名ユーザーデータは、Currentsを通じてAmplitudeに送信できます。この機能を有効にするには、Brazeのアカウントチームによるイネーブルメントが必要です。

Content Cards、アプリ内メッセージ、バナーにおけるコントロールグループユーザーはCurrentsでどのように記録されますか?

ユーザーがContent Cardsまたはアプリ内メッセージキャンペーンのコントロールグループに割り当てられた場合、Currentsはインプレッションイベントではなくusers.campaigns.EnrollInControlイベントを発行します。

バナーキャンペーンの動作は異なります。コントロールユーザーはusers.campaigns.EnrollInControlに記録されません。代わりに、コントロールの露出はSDKがインプレッションを記録した後にusers.messages.banner.Impressionイベントとして記録されます。これは、インテグレーションがコントロールバナーに対してinsertBannerを呼び出し、コンテナを非表示にする場合も含まれます。Currentsまたはデータ共有でコントロールユーザーを特定するには、コントロールバリエーションのmessage_variation_idまたはmessage_variation_name(Control Group)でフィルタリングしてください。

テーブルスキーマについては、バナーインプレッションイベントおよびUSERS_MESSAGES_BANNER_IMPRESSION_SHAREDを参照してください。

API を通じて存在しないユーザーをターゲットにした場合はどうなりますか?

存在しないユーザーをターゲットにした場合、API は 200 レスポンスを返しますが、送信は「Unknown external ID」という結果でキャンセルされます。その送信に対して Currents イベントは生成されません。send_to_existing_only パラメーターのデフォルトは true であるため、明示的に false に設定しない限り、不明なユーザーへの送信は通知なくスキップされることに注意してください。

New Stuff!