レート制限とフリークエンシーキャップ
レート制限とフリークエンシーキャップを組み合わせて使用することで、ユーザーに必要なメッセージを確実に届けることができます。
レート制限について
Brazeでは、Campaignsにレート制限を設定してプラットフォームからの送信トラフィック量を調整することで、マーケティングプレッシャーをコントロールできます。Campaignsには2種類のレート制限を実装できます。
- ユーザー中心のレート制限: ユーザーに最適なエクスペリエンスを提供することに重点を置きます。
- 配信速度レート制限: サーバーの帯域幅を考慮します。
Brazeは秒単位のレート制限をサポートしていません。Brazeは1分間にメッセージ送信を均等に分散しようとしますが、これを保証することはできません。たとえば、1分あたり5,000メッセージのレート制限を設定したCampaignがある場合、5,000件のリクエストを1分間に均等に分散しようとします(1秒あたり約84メッセージ)が、秒単位のレートには多少のばらつきが生じる場合があります。
ユーザー中心のレート制限
Segmentsを作成していくと、それらのSegmentsのメンバーシップが重複するケースが出てきます。それらのSegmentsにCampaignsを送信する場合、ユーザーにメッセージを送りすぎないようにする必要があります。短期間にユーザーが多くのメッセージを受け取ると、負担を感じてプッシュ通知をオフにしたり、アプリをアンインストールしたりする可能性があります。
関連するSegmentフィルター
Brazeでは、ユーザーがメッセージを受信するレートを制限するために、以下のフィルターを提供しています。
- メッセージに最後にエンゲージした日
- 最後にメッセージを受信した日
- 最後にプッシュを受信した日
- 最後にメールを受信した日
- 最後にSMSを受信した日
フィルターの実装
「リターゲティングフィルターショーケース」という名前のSegmentを作成し、「最後にアプリを使用したのが7日以上前」というフィルターでユーザーをターゲットするとします。これは標準的なリエンゲージメントSegmentです。
最近通知を受け取った、より的を絞った他のSegmentsがある場合、このSegmentに向けたより一般的なCampaignsでユーザーがターゲットされることを望まないかもしれません。このSegmentに「最後にプッシュを受信した日」フィルターを追加すると、過去24時間以内に別の通知を受け取ったユーザーは、次の24時間はこのSegmentから外れます。24時間後にSegmentの他の条件をまだ満たしており、それ以上の通知を受け取っていなければ、再びSegmentに戻ります。

このフィルターをCampaignsがターゲットするすべてのSegmentsに追加すると、ユーザーは24時間ごとに最大1回のプッシュを受信するようになります。その後、最も重要なメッセージが重要度の低いメッセージよりも先に配信されるように、メッセージングの優先順位を設定できます。
最大ユーザーキャップの設定
Campaignコンポーザーのターゲットオーディエンスステップで、メッセージを受信するユーザーの総数を制限することもできます。これはCampaignフィルターとは独立したチェックとして機能します。

最大ユーザー制限を選択することで、チャネルごとまたはすべてのメッセージタイプにわたってグローバルに送信されるメッセージ量を制限できます。
最大ユーザーキャップは、ディスパッチされるユーザー数を制限するもので、正常に送信されたメッセージ数を制限するものではありません。中止されたメッセージもこのキャップにカウントされるため、実際に送信されるメッセージ数は設定された制限よりも少なくなる場合があります。たとえば、キャップを10,000に設定し、Liquidロジックやその他の条件により2,000メッセージが中止された場合、実際に送信されるのは8,000メッセージです。
最適化を使用した最大ユーザーキャップ
勝者バリアントやパーソナライズ済みバリアントなどの最適化を使用している場合、Campaignは初期実験と最終送信の2回の送信で構成されます。
このシナリオで最大ユーザーキャップを設定するには、Limit the number of people who will receive this campaignを選択し、次にIn total this campaign shouldを選択してオーディエンス制限を入力します。オーディエンス制限は、A/B Testingパネルに表示されるパーセンテージで分割されます。
Every time the campaign is scheduledを選択した場合、これらの2つのフェーズはそれぞれ設定された数値で個別に制限されます。これは通常望ましくありません。
Campaignsのインプレッションキャップの設定
アプリ内メッセージの場合、ユーザー群に表示されるインプレッションの最大数を設定することでマーケティングプレッシャーをコントロールできます。この上限に達すると、Brazeはユーザーにそれ以上のメッセージを送信しません。ただし、このキャップは正確ではないことに注意してください。
アプリ内メッセージのルールはセッション開始時にアプリに送信されるため、Brazeはキャップに達する前にユーザーにメッセージを送信できますが、ユーザーがメッセージをトリガーする時点ではキャップに達している場合があります。この状況では、デバイスはメッセージを表示します。
たとえば、ユーザーがレベルをクリアしたときにトリガーされるアプリ内メッセージがあるゲームで、100インプレッションにキャップを設定したとします。これまでに99インプレッションがありました。アリスとボブの両方がゲームを開き、Brazeは彼らのデバイスに、レベルをクリアしたときにメッセージを受信する資格があることを伝えます。アリスが先にレベルをクリアしてメッセージを受け取ります。次にボブがレベルをクリアしますが、彼のデバイスはセッション開始以降Brazeサーバーと通信していないため、メッセージがキャップに達したことを認識しておらず、ボブもメッセージを受け取ります。ただし、インプレッションキャップに達した後、次にいずれかのデバイスが対象のアプリ内メッセージのリストをリクエストすると、システムはそのメッセージを送信せず、そのデバイスからメッセージを削除します。
レート制限とABテスト
ABテストでレート制限を使用する場合、レート制限はテストグループと同じ方法でコントロールグループには適用されません。これは時間バイアスの潜在的な原因となります。このバイアスを回避するには、適切なコンバージョンウィンドウを使用してください。
配信速度レート制限
大規模なCampaignsがユーザーアクティビティの急増を引き起こし、サーバーに過負荷がかかることが予想される場合、メッセージ送信の1分あたりのレート制限を指定できます。これにより、Brazeは1分間にレート制限の設定値を超えるメッセージを送信しません。
Campaign作成時にユーザーをターゲットする際、Target Audiences(Campaignsの場合)またはSend Settings(Canvasの場合)に移動して、レート制限を選択できます(1分あたり10メッセージから最大500,000メッセージまでのさまざまな増分で設定可能)。
レート制限が設定されていないCampaignsは、これらの配信制限を超える場合があることに注意してください。ただし、低いレート制限により72時間以上遅延したメッセージは中止されることに注意してください。レート制限が低すぎる場合、Campaignの作成者はダッシュボードとメールでアラートを受け取ります。
例
75,000メッセージを1分あたり10,000のレート制限で送信しようとする場合、配信は8分間にわたって分散されます。Campaignは最初の7分間はそれぞれ10,000メッセージ以下を配信し、最後の1分間で5,000メッセージを配信します。
送信数
レート制限されたメッセージは、各分間に均等に送信されるとは限りません。1分あたり10,000のレート制限の例を使用すると、Brazeは1分あたり10,000メッセージを超えないことを保証します。これは、10,000メッセージのうちより高い割合が前半の30秒間に送信され、後半の30秒間よりも多くなる可能性があることを意味します。
レート制限はメッセージ送信試行の開始時に適用されます。送信完了にかかる時間に変動がある場合、完了した送信数が数分間わずかにレート制限を超える場合があります。時間の経過とともに、1分あたりの送信数はレート制限以下に平均化されます。
Segment内のユーザー総数に対して、この形式のレート制限で時間に敏感なメッセージを遅延させることに注意してください。たとえば、Segmentに3,000万人のユーザーが含まれているが、レート制限を1分あたり10,000に設定した場合、ユーザー群の大部分は翌日までメッセージを受信しません。
マルチチャネルCampaignsとCanvases
マルチチャネルCampaignまたはCanvasの配信速度レート制限を設定する場合、共有レート制限またはチャネルベースの制限のいずれかを設定できます。
マルチチャネルCampaignまたはCanvasが共有レート制限を使用する場合、CampaignまたはCanvasから1分あたりに送信されるメッセージの合計数がレート制限を超えないことを意味します。たとえば、Canvasのレート制限が1分あたり500,000で、メールとSMSのメッセージステップが含まれている場合、Brazeはメールとsmsを合わせて1分あたり合計500,000メッセージを送信します。

マルチチャネルCampaignまたはCanvasがチャネルベースのレート制限を使用する場合、レート制限は選択した各チャネルに適用されます。たとえば、CampaignまたはCanvas全体で1分あたり最大5,000のWebhookと2,500のSMSメッセージを送信するように設定できます。

プッシュ通知
プッシュプラットフォーム(Android、iOS、Webプッシュ、Kindleなど)を使用するCampaignsまたはCanvasesの場合、Push notificationsを選択して、CampaignまたはCanvas内のすべてのプッシュプラットフォーム間で共有されるレート制限を適用できます。

プッシュ通知の制限を選択した場合、個別のプッシュチャネルのレート制限は設定できません。同様に、個別のプッシュチャネルの制限を選択した場合、共有プッシュ通知の制限は設定できません。
レート制限インターフェイスの更新
Brazeは、マルチチャネルCampaignsとCanvasesにレート制限がどのように適用されるかについて、より透明性とコントロールを提供するためにレート制限インターフェイスを更新しました。
- 既存のCampaignsとCanvases: すべての既存のCampaignsとCanvasesはこのインターフェイスに移行されました。配信動作は同じままです。ダッシュボードには、Campaignが共有ロジックを使用しているかチャネルごとのロジックを使用しているかが表示されます。
- 新しいCampaignsとCanvases: すべての新しいCampaignsとCanvasesには、希望するレート制限ロジックを選択するための手動トグルがあります。CampaignまたはCanvasのレート制限を設定または更新する際は、意図した動作に合ったレート制限の動作を選択してください。
レート制限に関する考慮事項
レート制限を設定する際に留意すべき点と、期待される動作について以下に示します。
- SMS送信は、サブスクリプショングループごとに50,000のレート制限が適用されます。一部のSMSプロバイダーは他の制限を適用する場合があります。
- 以下のメッセージは、レート制限によるスロットリングの対象外であり、レート制限にカウントされません。
- テスト送信
- シードグループ
- 「最初のインプレッション時」に作成するように設定されたContent Cards(これはアプリのインプレッションレートによって制御されます。カード作成オプションの違いについては、カード作成を参照してください。)
- 以下については配信速度レート制限はサポートされていません。
- SMS自動応答
- SLAに基づくメッセージ(トランザクションメールなど)
- アプリ内メッセージ
- フィーチャーフラグ
- バナー
レート制限とコネクテッドコンテンツのリトライ
コネクテッドコンテンツのリトライがオンになっている場合、Brazeは設定されたレート制限を尊重しながら、各再送信のコール失敗をリトライします。75,000メッセージを1分あたり10,000のレート制限で送信するシナリオを考えてみましょう。最初の1分間にコールが失敗するか遅延し、4,000メッセージしか送信されなかったとします。
遅延を補うために残りの6,000メッセージを2分目に送信したり、すでに送信予定の10,000メッセージに追加したりする代わりに、Brazeはその6,000メッセージを「キューの最後尾」に移動し、必要に応じてメッセージ送信にかかる合計分数に1分を追加します。
| 分 | 失敗なし | 1分目に6,000件の失敗 |
|---|---|---|
| 1 | 10,000 | 4,000 |
| 2 | 10,000 | 10,000 |
| 3 | 10,000 | 10,000 |
| 4 | 10,000 | 10,000 |
| 5 | 10,000 | 10,000 |
| 6 | 10,000 | 10,000 |
| 7 | 10,000 | 10,000 |
| 8 | 5,000 | 10,000 |
| 9 | 0 | 6,000 |
コネクテッドコンテンツのリクエストは独立してレート制限されず、Webhookのレート制限に従います。つまり、Webhookごとにユニークなエンドポイントへのコネクテッドコンテンツコールが1つある場合、1分あたり5,000のWebhookと5,000のコネクテッドコンテンツコールが期待されます。キャッシュがこれに影響し、コネクテッドコンテンツコールの数を減らす場合があることに注意してください。また、リトライによりコネクテッドコンテンツコールが増加する場合があるため、コネクテッドコンテンツのエンドポイントがある程度の変動に対応できることを確認することをお勧めします。
レート制限は速度制限であり、正確な送信速度を定義するものではありません。 一般的に、メッセージは任意の1分間に均等に分散され、大多数のケースでは設定された制限値またはそれに非常に近い値で送信されます。ただし、常にそうとは限りません。たとえば、メッセージが非常に大きい場合(多くのContent Blocks、コネクテッドコンテンツタグ、またはカタログアイテムタグを含むメールなど)や、多くのLiquid中止がある場合(中止されたメッセージもスロットを消費し、実効送信レートを低下させる可能性があります)です。
実際には、持続的な送信レート(1分あたりの完了メッセージ数)は、リトライ、ネットワークの変動、ダウンストリームエンドポイントのレイテンシー、および分単位の平滑化により、設定されたレート制限よりも低くなる場合があります。期待よりも大幅に低いスループットが一貫して見られる場合は、コネクテッドコンテンツの応答時間、エラーレート(429など)、およびリトライの動作を確認してください。
フリークエンシーキャップについて
ユーザー群が成長し続け、メッセージングがライフサイクル、トリガー、トランザクション、コンバージョンCampaignsを含むように拡大するにつれて、通知が「スパム的」または煩わしく見えないようにすることが重要です。ユーザーのエクスペリエンスをより細かくコントロールすることで、フリークエンシーキャップを使用すると、オーディエンスに負担をかけることなく、望むCampaignsを作成できます。
機能の概要
フリークエンシーキャップはCampaignまたはCanvasコンポーネントの送信レベルで適用され、各ワークスペースの設定 > フリークエンシーキャップルールから設定できます。
デフォルトでは、新しいCampaignsが作成されるとフリークエンシーキャップはオンに切り替えられます。ここから、以下を選択できます。
- キャップするメッセージングチャネル: プッシュ、メール、SMS、Webhook、WhatsApp、LINE、またはこれらのチャネルのいずれか。
- 特定の時間枠内に、各ユーザーがチャネルから送信されたCampaignまたはCanvasコンポーネントを受信する回数。
- 特定の時間枠内に、各ユーザーがタグごとに送信されたCampaignまたはCanvasコンポーネントを受信する回数。
この時間枠は分、日、または週(7日間)で測定でき、最大期間は30日です。
フリークエンシーキャップの各行はAND演算子で接続され、ワークスペースごとに最大10のルールを追加できます。同じメッセージタイプに対して複数のキャップを含めることができます。たとえば、ユーザーを1日あたり1回以下のプッシュ、1週間あたり3回以下のプッシュにキャップできます。中止されたメッセージはフリークエンシーキャップにカウントされないことに注意してください。

キャンバスステップでユーザーがフリークエンシーキャップに達した場合の動作
Canvasユーザーがグローバルフリークエンシーキャップ設定によりフリークエンシーキャップに達した場合、ユーザーは即座に次のキャンバスステップに進みます。フリークエンシーキャップによってユーザーがCanvasから退出することはありません。
配信ルール
トランザクションメッセージなど、フリークエンシーキャップに達していても常にユーザーに届けたいCampaignsがある場合があります。たとえば、配達アプリでは、ユーザーが受信したCampaignsの数に関係なく、商品が配達されたときにメールまたはプッシュを送信したい場合があります。
特定のCampaignがフリークエンシーキャップルールを上書きするようにしたい場合は、そのCampaignの配信をスケジュールする際にBrazeダッシュボードでFrequency CappingをOFFに切り替えることで設定できます。
その後、このCampaignをフリークエンシーキャップにカウントするかどうかを尋ねられます。フリークエンシーキャップにカウントされるメッセージは、インテリジェントチャネルフィルターの計算に含まれます。
API Campaignsを送信する場合(多くの場合トランザクション的なもの)、APIリクエストでoverride_frequency_cappingをtrueに設定することで、Campaignがフリークエンシーキャップルールを無視するように指定できます。
デフォルトでは、フリークエンシーキャップに従わない新しいCampaignsとCanvasesは、フリークエンシーキャップにカウントもされません。これはCampaignとCanvasごとに設定可能です。
この動作は、CampaignまたはCanvasのフリークエンシーキャップをオフにした場合のデフォルト動作を変更します。変更は後方互換性があり、現在ライブのメッセージには影響しません。

マルチチャネルCampaign内の異なるチャネルは、フリークエンシーキャップに対して個別にカウントされます。たとえば、プッシュとメールの両方を含むマルチチャネルCampaignを作成し、両方のチャネルにフリークエンシーキャップを設定している場合、プッシュは1つのプッシュCampaignとしてカウントされ、メールメッセージは1つのメールメッセージCampaignとしてカウントされます。Campaignは1つの「任意のタイプのCampaign」としてもカウントされます。ユーザーが1日あたり1つのプッシュと1つのメールCampaignにキャップされている場合、このマルチチャネルCampaignを受信すると、その日の残りはプッシュまたはメールCampaignsの対象外となります(Campaignがフリークエンシーキャップルールを無視する場合を除く)。
アプリ内メッセージとContent Cardsは、任意のタイプのCampaignsまたはCanvasコンポーネントのキャップとしてカウントされず、キャップに対してもカウントされません。
グローバルフリークエンシーキャップはユーザーのタイムゾーンに基づいてスケジュールされ、24時間ではなくカレンダー日で計算されます。たとえば、1日あたり1つ以下のCampaignを送信するフリークエンシーキャップルールを設定した場合、ユーザーはローカルタイムゾーンの午後11時にメッセージを受信し、1時間後に別のメッセージを受信する資格があります。
ユースケース
すべてのCampaignsまたはキャンバスステップから、ユーザーが1週間あたり3回以下のプッシュ通知Campaignsまたはキャンバスステップを受信するようにフリークエンシーキャップルールを設定したとします。
ユーザーが今週3つのプッシュ通知、2つのアプリ内メッセージ、1つのコンテンツカードを受信する予定の場合、それらすべてのメッセージを受信します。
このシナリオでは、すべてのCampaignsまたはキャンバスステップから、ユーザーが1週間あたり2回以下のプッシュ通知Campaignsまたはキャンバスステップを受信するフリークエンシーキャップルールを使用します。
以下のシナリオが発生した場合:
- ユーザーが1週間の間に同じCampaign
Campaign ABCを3回トリガーします。 - このユーザーは月曜日に1回、水曜日に1回、木曜日に1回
Campaign ABCをトリガーします。

期待される動作は以下のとおりです:
- このユーザーは月曜日と水曜日にトリガーされたCampaign送信を受信します。
- このユーザーは木曜日の3回目のCampaign送信を受信しません。その週にすでに2回のプッシュCampaign送信を受信しているためです。
タグによるフリークエンシーキャップ
フリークエンシーキャップルールは、CampaignsとCanvasesに適用した特定のタグを使用してワークスペースに適用でき、基本的にカスタム名のグループに基づいてフリークエンシーキャップを設定できます。
タグによるフリークエンシーキャップでは、メインタグとネストされたタグにルールを設定できるため、Brazeはすべてのタグを考慮します。たとえば、メインタグAをフリークエンシーキャップとして使用するように選択した場合、制限を決定する際にすべてのネストされたタグ(たとえば、タグBとC)の情報も含めます。
通常のフリークエンシーキャップとタグによるフリークエンシーキャップを組み合わせることもできます。以下のルールを考えてみましょう。
- すべてのCampaignsとキャンバスステップから、1週間あたり3回以下のプッシュ通知CampaignsまたはCanvasコンポーネント。
かつ - タグ
promotionalが付いた1週間あたり2回以下のプッシュ通知CampaignsまたはCanvasコンポーネント。

その結果、ユーザーはすべてのCampaignsとキャンバスステップから1週間あたり3回以下のCampaign送信を受信し、タグpromotionalが付いた2回以下のプッシュ通知CampaignsまたはCanvasコンポーネントを受信します。
Canvasesはコンポーネントごとではなく、Canvasレベルでタグ付けされます。そのため、各CanvasコンポーネントはすべてのCanvasレベルのタグを継承します。
競合するルール
ルールが競合する場合、最も制限的で適用可能なフリークエンシーキャップルールがユーザーに適用されます。たとえば、以下のルールがあるとします。
- すべてのCampaignsとCanvasコンポーネントから、1週間あたり1回以下のプッシュ通知CampaignまたはCanvasコンポーネント。
かつ - タグ
promotionalが付いた1週間あたり3回以下のプッシュ通知CampaignsまたはCanvasコンポーネント。

この例では、すべてのCampaignsとCanvasコンポーネントから1週間あたり1回以下のプッシュ通知CampaignまたはCanvasコンポーネントを受信するように指定しているため、ユーザーは特定の週にタグ「promotional」が付いた1回を超えるプッシュ通知CampaignまたはCanvasコンポーネントを受信しません。つまり、最も制限的な適用可能なフリークエンシールールが、特定のユーザーに適用されるルールとなります。
タグカウント
タグによるフリークエンシーキャップルールは、メッセージが送信される時点で計算されます。つまり、タグによるフリークエンシーキャップは、ユーザーが過去に受信したCampaignsまたはCanvasesに現在付いているタグのみをカウントします。送信時にCampaignsまたはCanvasesに付いていたが、その後削除されたタグはカウントしません。ユーザーが過去に受信したメッセージにタグが後から追加された場合、最新のタグ付きメッセージが送信される前であれば、カウントされます。
ユースケース
以下のCampaignsとタグによるフリークエンシーキャップルールを考えてみましょう。
Campaigns:
- Campaign Aは
promotionalタグが付いたプッシュCampaignです。月曜日の午前9時に送信される予定です。 - Campaign Bは
promotionalタグが付いたプッシュCampaignです。水曜日の午前9時に送信される予定です。
タグによるフリークエンシーキャップルール:
- ユーザーはタグ
promotionalが付いた1週間あたり1回以下のプッシュ通知Campaignを受信する必要があります。
| アクション | 結果 |
|---|---|
ユーザーがメッセージを受信した後、Campaign Bが送信される前に、promotionalタグがCampaign Aから削除された。 |
ユーザーはCampaign Bを受信します。 |
ユーザーがメッセージを受信した後、promotionalタグが誤ってCampaign Aから削除された。Campaign Bが送信される前の火曜日に、タグがCampaign Aに再追加された。 |
ユーザーはCampaign Bを受信しません。 |
大規模な送信
タグによるフリークエンシーキャップルールは、CampaignsまたはCanvasコンポーネントからチャネルあたり100メッセージなどの大規模な場合、適切に適用されない場合があります。
たとえば、タグによるフリークエンシーキャップルールが以下の場合:
タグ
Promotionalが付いた2回以下のメールCampaignsまたはCanvasコンポーネントを1週間あたりにユーザーに送信。
1週間の間にフリークエンシーキャップがオンのCampaignsとキャンバスステップからユーザーに100通以上のメールを送信すると、2通以上のメールがユーザーに送信される場合があります。
チャネルあたり100メッセージは、ほとんどのブランドがユーザーに送信する量よりも多いため、この制限の影響を受ける可能性は低いです。この制限を回避するには、1週間にユーザーが受信するメールの最大数のキャップを設定できます。
たとえば、以下のルールを設定できます。
すべてのCampaignsとキャンバスステップから、1週間あたり3回以下のメールCampaignsまたはCanvasコンポーネント。
このルールにより、フリークエンシーキャップがオンのCampaignsまたはCanvasコンポーネントから、ユーザーは最大で1週間あたり3通のメールを受信するため、1週間あたり100通以上のメールを受信するユーザーはいなくなります。
よくある質問
アクティブなCanvasの送信スロットルを変更した場合、すでにCanvas内にいるユーザーに影響しますか?
はい、Canvasのレート制限を増減すると、キャッシュにより変更から約30秒以内に新しいメッセージに対して更新された制限が有効になります。
フリークエンシーキャップによってユーザーがCanvasから退出しますか?
いいえ。Canvasユーザーがグローバルフリークエンシーキャップ設定によりフリークエンシーキャップに達した場合、ユーザーは即座に次のキャンバスステップに進みます。フリークエンシーキャップによってユーザーがCanvasから退出することはありません。
Canvasでフリークエンシーキャップに達したユーザーを特定するにはどうすればよいですか?
フリークエンシーキャップに達したユーザーは、そのステップの送信イベントを生成しません。これらのユーザーを特定するには、Currentsを使用してメッセージのフリークエンシーキャップイベントを追跡できます。または、Segment Extensionを作成して、Canvasに入ったが期待されるメッセージを受信しなかったユーザーを分析できます。