よくある質問
このページでは、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形式でデータを出力するのはなぜですか?
Avroは、スキーマを持たないJSONとは異なり、スキーマの進化をネイティブにサポートしています。また、Avroは圧縮率が高いため、少ない帯域幅でAvroファイルを送信でき、ストレージ容量も節約できます。
Brazeはファイルのオーバーヘッドをどのように処理しますか?
Brazeでは、ETL (抽出、変換、読み込み) プロセスを構築しています。このプロセスにより、大量のデータをあるデータベースから取得し、別のデータベースに配置して保存できます。
このデータをクエリ用にどこに保存すればよいですか?
Brazeは、クエリ用にデータを保存できる複数のデータウェアハウスと提携しています。以下の使用をおすすめします。
Currentsのデータの信頼性はどの程度ですか?
Currentsは「少なくとも1回 (at-least-once)」の配信を保証しています。つまり、まれに重複したイベントがストレージバケットに書き込まれる場合があります。ユースケースで「正確に1回 (exactly-once)」の配信が必要な場合は、すべてのイベントとともに送信される一意の識別子フィールド (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は at-least-once(少なくとも1回)配信を提供するため、重複したイベントがまれに書き込まれる場合があります。合計値をダッシュボードの指標と比較する前に、各イベントの一意の 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のデータが破損することはありません。まれに問題が発生する可能性は常にありますが、データが体系的に破損するような既知の条件はありません。
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 のリカバリー通知はどの期間を対象としていますか?
認証情報の誤りや送信先エンドポイントからの 500 エラーなどのエラーから Currents 連携が回復すると、Braze は連携の連絡先メールアドレス宛てに、連携が「is now recovering」(回復中)であることを知らせるメールを送信します。連携が遅延分の処理を終えると、Braze は「has fully recovered」(完全に回復しました)と通知し、滞留していたすべてのデータが送信されたことを伝えます。これらのリカバリー通知には、滞留データがどの期間を対象としているかは記載されていません。
回復した期間を特定するには、以下の手順を実行します。
- 同じ連携について Braze から送信された最初の障害通知を探します。この通知には、連携が失敗し始たおおよその時刻が記載されています。
- 「has fully recovered」通知を受信した時刻を確認します。
Braze が送信した滞留データは、連携が失敗し始めた時点から回復した時点までのイベントを対象としています。
連携が 5 日以上失敗していた場合、一部のイベントが破棄されている可能性があります。破棄されたイベントは復元できません。詳細については、要件を参照してください。
Currentsデータにはどのくらいのストレージが必要ですか?
必要なストレージ容量は、イベントの量とエクスポートするイベントの種類によって異なります。BrazeではAvro形式のサンプルイベントを提供しています。これを使用して、ユースケースに応じたファイルサイズを見積もることができます。
Currents データでキャンペーン名やキャンバスステップ名が NULL になるのはなぜですか?
新しいキャンペーンやキャンバスを作成した場合、その名前がBrazeのすべてのシステムに反映されるまでに時間がかかることがあります。この期間中にCurrentsを通じて送信されたイベントでは、名前フィールド(campaign_name や canvas_step_name など)が NULL になる場合があります。イベントが記録される直前に名前が変更された場合も、同様に NULL になることが想定されます。これを避けるには、キャンペーンやキャンバスステップを作成または名前変更した後、送信するまでに少し時間を置いてください。
Currentsでセッション終了イベントが遅延または欠落するのはなぜですか?
セッション終了イベントは、SDKの通常のアップロードスケジュールに従います。Braze SDKはセッションデータをローカルにキャッシュし、ネットワーク品質に応じて定期的にフラッシュします。たとえば、接続が良好な場合は約10秒ごとにフラッシュされます。SDKがイベントをアップロードするまで、そのイベントはCurrentsに表示されません。
次のフラッシュの前にユーザーがアプリを強制終了したりオフラインになったりした場合、セッション終了イベントの到着が遅れたり、まったく到着しなかったりすることがあります。iOSでは、アプリがバックグラウンドにある間はSDKがデータを送信できないため、セッション終了イベントはアプリが再度開かれるまでフラッシュされないことがよくあります。
Currentsでよりタイムリーにセッションの区切りを把握する必要がある場合は、アプリがバックグラウンドに移行したときやフォアグラウンドに戻ったときなどのライフサイクルのタイミングでrequestImmediateDataFlush()を呼び出してください。詳しくは、データのアップロードとダウンロードおよびセッション終了とセッション開始のタイムスタンプが近い (iOS)を参照してください。
Currentsがデータを書き込もうとしたときにストレージバケットが利用できない場合はどうなりますか?
Brazeがストレージバケットに書き込めない場合、書き込めなかったイベントをキューに入れ、再試行を続けます。これは、バケットが返すエラーの種類に関係なく適用されます。バケットが再び書き込みを受け付けるようになると、Brazeはキューに入れたイベントを配信し、その後に新しいイベントを配信します。
Brazeがバケットに書き込めない間、連携の連絡先メールアドレスに連携エラーの通知が届くことがあります。バケットが返すエラーによっては、認証情報を変更していなくても、認証情報が無効であるという通知が届く場合があります。
問題が5日以上続くと、Brazeはイベントの破棄を開始します。破棄されたイベントは復元できません。詳しくは、要件を参照してください。
バケットが利用可能であることを確認する方法
Currents連携に保存されている名前でバケットが存在し、Brazeからの書き込みを受け付けている場合、バケットは利用可能です。これを確認するには、以下の手順に従います。
- Brazeでパートナー連携 > Currentsに移動し、連携を開きます。バケット名(Azure Blob Storageの場合はコンテナ名)と、フォルダパスまたはプレフィックスを控えておきます。
- クラウドプロバイダーのコンソールで、その名前と完全に一致するバケットが存在することを確認します。
- Amazon S3の場合は、バケットを所有するAWSアカウントを確認します。
- Google Cloud Storageの場合は、JSONキーファイルの
project_idに記載されているプロジェクトを確認します。 - Azure Blob Storageの場合は、アカウントエンドポイントまたは接続文字列に含まれるストレージアカウントを確認します。
- バケットが存在しない場合は、新しいバケットを作成し、その名前で連携を更新します。
- ファイアウォールルールやプライベートエンドポイントなどでバケットへのネットワークアクセスを制限している場合は、ルールでBrazeからの書き込みが許可されていることを確認します。BrazeがCurrentsデータを送信するIPアドレスについては、IP許可リストを参照してください。Azure Blob Storageについては、BrazeはAzure Blob Storageの許可リストに登録するIPアドレスを提供できますか?を参照してください。
- バケットが書き込みを受け付けるようになったら、フォルダパスまたはプレフィックスに新しいファイルがあるか確認します。Brazeはまずキューに入れたイベントを配信し、その後に新しいイベントを配信します。
バケットが正しく設定されていることを確認する方法
Brazeには、正確なバケット名、有効な認証情報、およびバケットへの書き込み権限が必要です。設定を確認するには、以下の手順に従います。
- Currents連携で、バケット名がバケットと完全に一致していることを確認します。バケットフィールドにはスラッシュやパスを含めず、バケット名のみを入力します。パスはフォルダパスまたはプレフィックスのフィールドに入力します。
- 連携の認証情報に必要な権限があることを確認します。
- Amazon S3:IAMポリシーで、バケットに対する
s3:ListBucketとs3:GetBucketLocation、およびバケット内のオブジェクトに対するs3:PutObjectとs3:GetObjectが許可されていること。また、バケットではSSE-KMS暗号化やオブジェクトロックを使用できません。詳しくは、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:証明書によるサービスプリンシパル認証を使用している場合は、アプリ登録にコンテナに対するストレージBLOBデータ共同作成者ロールが付与されていること。ロールの割り当てが有効になるまで最大30分かかる場合があります。詳しくは、ステップ4:ストレージアカウントへのアクセス権を付与するを参照してください。
- Amazon S3:IAMポリシーで、バケットに対する
- 認証情報が最新であることを確認します。キー、ロール、または証明書をローテーションした場合は、連携を更新してください。詳しくは、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 に設定しない限り、不明なユーザーへの送信は通知なしでスキップされます。