オプトインとオプトアウト
WhatsAppのオプトインとオプトアウトの処理は非常に重要です。WhatsAppは電話番号の品質評価を監視しており、評価が低いとメッセージ送信数の上限が引き下げられる可能性があります。
高品質な評価を維持する方法の1つは、ユーザーがビジネスをブロックしたり報告したりすることを防ぐことです。これは、高品質なメッセージング(ユーザーにとって価値のある内容など)を提供し、メッセージの頻度を管理し、顧客が今後のコミュニケーションの受信をオプトアウトできるようにすることで実現できます。
WhatsAppの購読ステータスに関するクロスチャネルの概要については、購読ステータスを参照してください。このページでは、オプトインとオプトアウトの設定方法、および「regex」修飾子と「is」修飾子の違いについて説明します。
オプトインは、外部ソースまたはBrazeの方法(SMSやアプリ内メッセージ、ブラウザ内メッセージなど)から取得できます。オプトアウトは、Brazeで設定したキーワードやWhatsAppマーケティングボタンを使用して処理できます。オプトインとオプトアウトの設定に関するガイダンスについては、以下の方法を参照してください。
オプトインの方法
オプトアウトの方法
Braze WhatsApp チャネルのオプトインを設定する
WhatsApp のオプトインについては、WhatsApp の要件に準拠する必要があります。また、以下の情報を Braze に提供する必要があります。
- すべてのユーザーの
external_id、電話番号、および更新された購読ステータス。電話番号と購読ステータスを更新するには、SDK または/users/trackエンドポイントを使用します。
インバウンドの WhatsApp メッセージを受信しても、ユーザーが WhatsApp 購読グループに自動的に登録されるわけではありません。ユーザー更新ステップ、Webhook、または API 呼び出しを使用して、購読ステータスを明示的に更新する必要があります。
Meta では、オプトインの文言について次の要件を定めています。
- 自社からのメッセージ受信にオプトインすることを明確に示すこと
- 自社のビジネス名を含めること (「メッセージをお送りします」のような一般的な表現は不可)
- 適用される現地の法律に準拠すること
Meta では、WhatsApp 固有の同意を求める代わりに、これらの要件を満たす一般的なメッセージング同意を認めています。ただし Braze では、ユーザーがどこでメッセージを受け取るかを把握できるよう、WhatsApp チャネル固有の同意を収集することをおすすめします。

Braze は /users/track エンドポイントを改善し、購読ステータスを更新できるようにしました。詳しくは購読グループをご覧ください。ただし、/v2/subscription/status/set エンドポイントを使用してオプトインのプロトコルをすでに作成している場合は、引き続きそちらを使用できます。
ユースケースごとに同意を管理する
WhatsApp の購読ステータスは、送信元の電話番号に関連付けられた購読グループに適用されます。同じ番号を共有するマーケティング、ユーティリティ、その他のユースケースは区別されません。たとえば、ユーザーを購読グループから登録解除すると、メッセージのカテゴリーにかかわらず、その番号からのメッセージでそのユーザーをターゲットにできなくなります。
ユースケースごとに同意を個別に管理するには、次のいずれかの方法を選択します。
- ユースケースごとに別々の WhatsApp 電話番号と購読グループを使用します。
- 1つの電話番号を使用し、ユースケースごとの同意をカスタム属性に保存して、同意していないユーザーを該当するキャンペーンまたはキャンバスのオーディエンスから除外します。
カスタム属性は WhatsApp 購読グループの代わりにはなりません。Braze を通じてメッセージを受信するには、ユーザーが引き続きその電話番号の購読グループに登録されている必要があります。
Braze 外部でのオプトイン方法
アプリや Web サイト (アカウント登録、チェックアウトページ、アカウント設定、クレジットカード端末) から Braze へ。
メールやテキストメッセージのマーケティング同意をすでに取得している場所には、WhatsApp 用のセクションを追加します。ユーザーがオプトインした後は、そのユーザーの external_id、電話番号、および更新された購読ステータスが必要です。これを行うには、Braze の導入方法に応じて、/subscription/status/set エンドポイントを利用するか、SDK を使用します。
外部で作成したオプトインリスト
以前に WhatsApp を使用したことがある場合は、WhatsApp の要件に従ってオプトインしたユーザーのリストをすでに作成しているかもしれません。その場合は、CSV をアップロードするか、API を使用して以下の情報を Braze に取り込みます。
カスタマーサポート WhatsApp チャネルでのアウトバウンドメッセージ
カスタマーサポートチャネルで、解決済みの問題のフォローアップとして、マーケティングメッセージにオプトインするかどうかを尋ねる自動メッセージを送信します。ここでの機能は、選択したカスタマーサポートツールで利用できる機能や、ユーザー情報の保存場所によって異なります。
- WhatsApp Business の電話番号からメッセージリンクを提供します。
- 顧客が「はい」と返信してオプトインを示すクイック返信アクションを提供します。
- カスタムキーワードトリガーを設定します。
- いずれの方法でも、次の手順でパスを完了する必要があると考えられます。
/users/trackエンドポイントを呼び出して、ユーザーを更新または作成します/subscription/status/setエンドポイントを利用するか、SDK を使用します
インバウンド WhatsApp メッセージ
顧客に WhatsApp 番号へインバウンドメッセージを送信してもらいます。
新しいチャネルでユーザーに確認メッセージを送信するかどうかに応じて、キャンバスまたはキャンペーンとして設定できます。
- インバウンドメッセージをアクションベースの配信トリガーとするキャンペーンを作成します。
- Webhook キャンペーンを作成します。Webhook の例については、購読グループを参照してください。

Braze を活用したオプトイン方法
SMS メッセージ
キャンバスで、次のいずれかの方法を使用して、WhatsApp メッセージの受信にオプトインするかどうかを顧客に尋ねるキャンペーンを設定します。
- 顧客セグメント: 米国外の購読済みマーケティンググループ
- カスタムキーワードトリガーの設定
ユーザープロファイルの購読ステータスの更新については、購読グループを参照してください。
アプリ内メッセージまたはブラウザー内メッセージ
WhatsApp の利用へのオプトインを顧客に促すアプリ内メッセージまたはブラウザー内ポップアップを作成します。
HTML アプリ内メッセージと JavaScript「ブリッジ」を使用して、Braze SDKと連携します。必ず WhatsApp の購読グループ ID を使用してください。
電話番号取得フォーム
アプリ内メッセージ用のドラッグ&ドロップエディターで電話番号取得フォームテンプレートを使用して、ユーザーの電話番号を収集し、WhatsApp 購読グループを拡大します。
Braze WhatsApp チャネルのオプトアウトを設定する
WhatsApp の「Offers and Announcements」トグル
WhatsApp では、アプリ設定に「Offers and Announcements」トグルが用意されており、ユーザーはマーケティングメッセージをオプトアウトできます。このトグルは Braze の購読グループとは独立して動作します。
- Braze の購読グループは、Braze の統合 (API、ユーザー設定センター、または SDK) を通じて管理され、メッセージングでターゲットにするユーザーを制御します。
- WhatsApp のネイティブトグルは Meta によって制御され、Braze の外部でプラットフォームレベルで適用されます。
これら 2 つのレイヤーは、設計上自動的に同期されません。ユーザーが WhatsApp で「Offers and Announcements」トグルをオフにすると、Braze でのユーザーの購読ステータスが「Subscribed」と表示されていても、Meta はプラットフォームレベルでマーケティングメッセージの配信をブロックします。ユーザーの設定は配信時点で尊重されます。

Braze は送信が試行されて Meta がエラーを返すまでオプトアウトのシグナルを受信しないため、メッセージの送信が試行されるまでは、WhatsApp のトグルでオプトアウトしたユーザーが Braze の購読数に反映されない場合があります。つまり、このフィードバックループが発生するまでは、リーチの推定値がわずかに過大になる可能性があります。
一般的なオプトアウトキーワード
特定の単語をメッセージで送信したユーザーが今後のメッセージングをオプトアウトできるように、キャンペーンまたはキャンバスを設定できます。キャンバスでは、オプトアウトが正常に完了したことを確認するフォローアップメッセージを含めることができるため、特に便利です。
ステップ 1: 「Inbound WhatsApp Message」をトリガーとするキャンバスを作成する

キーワードトリガーを選択する際は、「Stop」や「No Message」などの単語を含めてください。この方法を選択する場合は、顧客がオプトアウト用の単語を把握していることを確認してください。たとえば、最初のオプトインを受信した後に、「これらのメッセージをオプトアウトするには、いつでも「Stop」とメッセージを送信してください。」のようなフォローアップの返信を含めます。

ステップ 2: ユーザーのプロファイルを更新する
購読グループで説明されているいずれかの方法を使用して、ユーザーのプロファイルを更新します。
マーケティングオプトアウトの選択
WhatsApp のメッセージテンプレート作成画面では、「marketing opt-out」オプションを含めることができます。このオプションを含める場合は必ず、購読グループを変更する後続ステップを持つキャンバスでテンプレートを使用してください。
- 「marketing opt-out」のクイック返信を含むメッセージテンプレートを作成します。


- このメッセージテンプレートを使用するキャンバスを作成します。
- 前述の例の手順に従い、トリガーテキストを「STOP PROMOTIONS」にします。
- 購読グループで説明されているいずれかの方法を使用して、ユーザーの購読ステータスを更新します。
オプトインとオプトアウトのワークフローを設定する
WhatsApp の「START」と「STOP」のキーワード応答ワークフローは、次の2つの方法で設定できます。
ユーザー更新ステップ
ユーザー更新ステップを使用すると、ユーザーが購読グループの電話番号にキーワードを送信したときに、そのユーザーの電話番号を WhatsApp 購読グループに追加できます。
ユーザー更新ステップでは、電話番号が購読グループに追加されるまでユーザーがキャンバスの次のステップに進まないため、競合を回避できます。また、他の方法よりも設定するステップが少ないため、Braze では通常この方法をおすすめしています。
- アクションベースのステップ Send a WhatsApp Inbound Message を含むキャンバスを作成します。Where the message body を選択し、Is に「START」と入力します。

「STOP」メッセージの場合は、オプトアウトを確認するメッセージステップとユーザー更新ステップの順序を逆にしてください。逆にしないと、ユーザーが先に購読グループからオプトアウトされ、確認メッセージを受信できなくなります。

- キャンバスで Set Up User Update ステップを作成し、Action で Advanced JSON Editor を選択します。

- User Update object に次の JSON ペイロードを入力し、
XXXXXXXXXXXを購読グループ ID に置き換えます。
{
"attributes": [
{
"subscription_groups": [
{
"subscription_group_id": "XXXXXXXXXXX",
"subscription_state": "subscribed"
}
]
}
]
}
- 続けて WhatsApp メッセージステップを追加します。

考慮事項
Braze はユーザー更新ステップのリクエストをバッチ処理するため、更新が完了するまでの速度は一定ではない場合があります。購読の更新直後に確認メッセージを送信する必要がある、時間的制約のあるオプトインフローでは、ユーザー更新ステップの代わりに Webhook による方法を使用してください。
2つ目の WhatsApp キャンペーンをトリガーする Webhook キャンペーン
Webhook キャンペーンを使用すると、ユーザーが購読グループの電話番号にキーワードを送信したときに、そのユーザーの電話番号を WhatsApp 購読グループに追加した後、2つ目のキャンペーンへのエントリをトリガーできます。

STOP メッセージにはこの方法を使用する必要はありません。確認メッセージはユーザーが購読グループから削除される前に送信されるため、他の2つのステップのいずれかを使用できます。
- アクションベースのステップ Send a WhatsApp Inbound Message を含むキャンペーンまたはキャンバスを作成します。Where the message body を選択し、Is に「START」と入力します。

- キャンペーンまたはキャンバスで Webhook メッセージステップを作成し、Request Body を Raw Text に変更します。

- Webhook URL に顧客のエンドポイント URL を入力し、その後にエンドポイントリンク
campaigns/trigger/sendを続けます。たとえば、https://dashboard-02.braze.eu/campaigns/trigger/sendのようになります。

- Raw Text に次の JSON ペイロードを入力し、
XXXXXXXXXXXを購読グループ ID に置き換えます。campaign_idは、2つ目のキャンペーンを作成した後に置き換える必要があります。
{
"campaign_id": "XXXXXXXXXXX",
"recipients": [
{
"external_user_id": "{{${user_id}}}",
"attributes": {
"subscription_groups": [
{
"subscription_group_id": "XXXXXXXXXXX",
"subscription_state": "subscribed"
}
]
}
}
]
}
- WhatsApp キャンペーン (2つ目のキャンペーン) を作成し、トリガーを API に設定します。この
campaign_idを必ずコピーして、1つ目のキャンペーンの JSON ペイロードに貼り付けてください。
考慮事項
- キャンバス API トリガーの JSON ペイロード内からの属性更新はまだサポートされていないため、WhatsApp の応答メッセージには WhatsApp キャンペーンのみをトリガーできます (ステップ2のとおり)。
- WhatsApp テンプレートを応答メッセージとして送信するには、承認を受けている必要があります。これは、クイック応答では受信メッセージのトリガーが同じキャンペーンまたはキャンバス内にある必要があるためです。ユーザー更新ステップを使用すると、Meta の承認なしでクイック応答メッセージを送信できます。
「regex」修飾子と「is」修飾子の違いを理解する
この表では、修飾子の動作を示すトリガーワードの例として STOP を使用しています。
| 修飾子 | トリガーワード | アクション |
|---|---|---|
Is |
STOP |
大文字と小文字に関係なく、「stop」が単語全体として使用されている場合を検出します。たとえば、「stop」は検出しますが、「please stop」は検出しません。 |
Matches regex |
STOP |
大文字と小文字が完全に一致する「STOP」の使用をすべて検出します。たとえば、「STOP」と「PLEASE STOP」は検出しますが、「stop」は検出しません。 |
Matches regex |
(?i)STOP(?-i) |
大文字と小文字に関係なく、「STOP」の使用をすべて検出します。たとえば、「stop」、「please stop」、「never stop sending me messages」を検出します。 |
