WhatsApp メッセージの有効期間:認証コード、リマインダー、配送連絡が遅れて届くのを防ぐ
お客様のスマートフォンが数時間オフになっていて、電源を入れた途端、とっくに期限切れの認証コードや、昼に受け取り済みの荷物の「あと 20 分で到着します」が届く。メッセージの有効期間は、WhatsApp に再送をあきらめる時点を伝える設定です。カテゴリーごとの初期値、連絡の種類に合う値、MonoChat での設定方法を紹介します。
MonoChatチーム 更新日: 2 分で読めます
海外から来日したお客様が、搭乗中に認証コードを依頼したとします。スマートフォンは機内モードのまま、4 時間後に着陸して電波をつかんだ途端、10 分で期限が切れたコードが WhatsApp に届きます。別のお客様には、昼にご近所へ預けて受け取り済みの荷物について、夜になってから「配送員が約 20 分後に到着します」と通知が届く。歯科クリニックの「1 時間後に診察が始まります」が、翌朝になって届くこともあります。
どのメッセージも、送った時点では間違っていません。間違いになるのは、届いたときです。WhatsApp は、オフラインのスマートフォンへの配信を粘り強く試み、ほとんどのテンプレートでは最長 30 日間続けます。メッセージの有効期間(TTL)は、WhatsApp に「ここで再送をやめる」と伝える設定です。
MonoChat のテンプレートビルダーでは、バージョン 3.8.46 から、マーケティングテンプレートに加えて、ユーティリティと認証のテンプレートでも有効期間を設定できます。このガイドでは、有効期間の仕組み、カテゴリーごとの初期値と範囲、連絡の種類に合う値、設定の手順を解説します。
WhatsApp はメッセージをどう再送するか
テンプレートメッセージを送ると、WhatsApp はまずお客様のスマートフォンへの配信を試みます。電源が切れている、接続がない、しばらくオフラインだったという場合、メッセージは WhatsApp 側で待機し、再送が繰り返されます。Meta は、この再送期間の長さをメッセージの有効期間と呼んでいます。
有効期間が過ぎると、次の 2 つが起こります。
- メッセージが破棄される。 Meta のドキュメントによると、初期値または独自設定の有効期間内に配信できなかったメッセージは、システムが破棄します。お客様の目には一切触れません。
- 配信済みのステータスが届かない。 Meta の案内は明快です。有効期間が終わるまでに配信済みの Webhook が届かなければ、メッセージは破棄されたものとみなします。
初期の再送期間が長いのは、領収書、明細、お知らせのように、何日たっても役に立つメッセージが大半だからです。このガイドが扱うのは、そうではないメッセージです。
カテゴリーごとの初期値と範囲
有効期間はテンプレートごとに Meta へ設定し、設定できる範囲はテンプレートのカテゴリーで決まります。
| カテゴリー | 初期値 | 設定できる範囲 | MonoChat での入力(秒) |
|---|---|---|---|
| 認証 | 10 分(2024 年 10 月 23 日より前に作成したテンプレートは 30 日) | 30 秒〜15 分 | 30〜900 |
| ユーティリティ | 30 日 | 30 秒〜12 時間 | 30〜43200 |
| マーケティング | 30 日 | 12 時間〜30 日 | 43200〜2592000(Marketing Messages API に登録済みのアカウントのみ) |
見落としやすい点が 3 つあります。
- 古い認証テンプレートは 30 日のまま。 2024 年 10 月 23 日より前に作成した認証テンプレートで有効期間を設定していなければ、コードが数週間遅れて届くことがあります。値を設定すれば解消します。
- ユーティリティには短い初期値がない。 有効期間を設定していない配送の連絡は、お知らせメールと同じ 30 日間再送されます。
- カテゴリーが変わると値が消える。 Meta がテンプレートを別のカテゴリーに移すと有効期間はクリアされ、新しいカテゴリーの範囲内で新しい値を設定するまで、そのカテゴリーの初期値に戻ります。
連絡の種類に合う値
有効期間は、お客様に読んでほしい時刻ではなく、メッセージが事実でなくなる、または役に立たなくなる時刻に合わせます。目安は次のとおりです。
| メッセージ | カテゴリー | 有効期間の目安 | 理由 |
|---|---|---|---|
| 有効期間 10 分のログイン・本人確認コード | 認証 | 600 秒以下 | Meta は、コードの有効期間と同じか、それより短い有効期間を推奨しています |
| 有効期間 5 分の支払い確認コード | 認証 | 300 秒 | 期限切れのあとに届くコードは、問い合わせを増やすだけです |
| 「ヤマト運輸のお荷物は約 30 分後にお届けです」 | ユーティリティ | 1800 秒 | それを過ぎれば、配達はもう終わっています |
| 「お席のご用意ができました」「ご注文の品をお渡しできます」 | ユーティリティ | 1800〜3600 秒 | お客様が近くにいる間だけ役に立ちます |
| 3 時間前に送る予約のリマインダー | ユーティリティ | 10800 秒 | 予約時刻を過ぎて届くと、かえって混乱させます |
| 当日の配達時間枠の確認 | ユーティリティ | 21600〜43200 秒 | 夜には時間枠が終わっています |
| 注文確認、領収書、請求書 | ユーティリティ | 空欄のまま | 数日後でも役に立ちます |
| 48 時間限定のセール | マーケティング | 172800 秒 | セールが終われば、オファーも終わりです |
覚えておきたい原則が 2 つあります。
- 遅れてもよいものは空欄にする。 明日届く領収書は、届かない領収書より役に立ちます。必ず届けたいメッセージに短い有効期間を設定してはいけません。
- 遅れるくらいなら届かないほうがよいものは、代わりの手を用意する。 破棄されたコードには、アプリ側の「コードを再送する」を、破棄された「配達員が近くに来ています」には、配達員からの電話を。有効期間を短くする前に決めておきましょう。
MonoChat での設定方法
MonoChat に WhatsApp Business (Cloud) チャネルとして接続された WhatsApp 番号が必要です。
1. テンプレートを開く。 設定 › チャット › チャネル を開き、チャネルの ⋮ メニューから テンプレートメッセージ を選びます。
2. テンプレートを作成する。 作成 をクリックし、カテゴリーを選びます。連絡には ユーティリティ、コードには 認証 です。コードの場合は ワンタイムパスワード の種類を、連絡の場合は 標準、または Meta の既製のユーティリティテンプレートから始める Meta のライブラリから を選びます(テンプレートライブラリのガイドをご覧ください)。
3. 有効期間を入力する。 名前と言語の下にある メッセージの有効期間(秒) に入力します。入力した数字が範囲外の場合、MonoChat はその場で、ユーティリティなら「30〜43200 秒の範囲で入力してください。」、認証なら「30〜900 秒の範囲で入力してください。」と表示します。WhatsApp の初期値のままにするなら、空欄にしておきます。
4. コードは有効期間をそろえる。 ワンタイムパスワードのテンプレートでは、コードの有効期間(分、1~90) に 1〜90 分を入力します。メッセージの有効期間は、それと同じか、それより短くしてください。コードの有効期間が 10 分なら、有効期間を 600 秒にしておくと、使えなくなったコードが届くことはありません。
5. 送信する。 メッセージ、ボタン、サンプルをこれまでどおり仕上げ(WhatsApp テンプレートの作成方法で各項目を順に解説しています)、送信します。有効期間はテンプレートに付いて回ります。チャット、フロー、一斉送信、自社システムのどこから送っても、そのテンプレートから作られるメッセージには同じ値が使われます。
マーケティングテンプレートでは、WhatsApp Business アカウントが Meta の Marketing Messages API に登録されている場合にだけ同じ項目が表示されます。MonoChat が自動で判定します。範囲は 43200〜2592000 秒です。
例:福岡の歯科クリニックの当日連絡
福岡の歯科クリニックが、予約カレンダーと連携した MonoChat のフローから、3 種類の WhatsApp メッセージを送っています。海外から来日して診療を受ける患者様にも、連絡は WhatsApp で届きます。
- 予約確認(ユーティリティ、有効期間なし)。患者様が翌日に読んでも役に立ちます。
- 3 時間前のリマインダー(ユーティリティ、10800 秒)。午前中ずっとスマートフォンがオフだった場合、診察が始まったあとに届くことはなく、そのまま破棄されます。
- 「先生の診察が 20 分遅れています」(ユーティリティ、1200 秒)。事実なのは、その後の 20 分間だけです。
フローは、それぞれを テンプレートメッセージを送信 ノードで送ります。患者様が「5 時に変更できますか?」と返信すると、その返信で 24 時間のカスタマーサービスウィンドウが開き、チーム受信トレイに届いて、受付担当者が自由なテキストで回答できます。
タイミングを気にしないのであれば、予約確認とリマインダーは同じテンプレートでもかまいません。ただし、有効期間はテンプレートごとに設定するため、必要な期間が違うメッセージは、別のテンプレートにする必要があります。
料金
Meta は、配信されたメッセージごとに、テンプレートのカテゴリーと受信者の国に応じた料金を請求します。料金ページには、企業が課金されるのはメッセージが配信されたときだけと記載されているため、有効期間が終わって破棄されたメッセージは課金されません。したがって、有効期間を短くしても費用が増えることはなく、遅れて届いても役に立たないメッセージの分だけ、むしろ節約できる場合があります。請求は Meta から御社に直接行われ、Meta の公式ビジネスパートナー(official Meta Business Partner)である MonoChat は手数料を上乗せしません。キャンペーンの費用は、一斉送信の料金計算ツールで試算できます。
チェックリスト
- 一定時間がたつと事実でなくなるメッセージを、すべて洗い出した(コード、「配送中」、「準備ができました」、当日のリマインダー、期間限定セール)
- 認証テンプレート:有効期間は コードの有効期間(分、1~90) と同じか、それより短くした
- 2024 年 10 月 23 日より前に作成した認証テンプレート:値を設定した(設定しないと 30 日のまま)
- 時刻に結びついたユーティリティの連絡:事実でなくなる時点で終わる有効期間を設定した
- 領収書、確認、請求書:空欄のままにした
- 必要な期間が違うメッセージは、別のテンプレートにした
- 破棄されたメッセージの代わりの手を用意した(アプリでの再送、電話、お客様が書き込んだときの新しいメッセージ)
- Meta がテンプレートのカテゴリーを変更したあと:有効期間を設定し直した
出典
- Meta for Developers:Configure message time-to-live(再送、カテゴリーごとの初期値と範囲、破棄されたメッセージ、配信済みの Webhook、認証テンプレートの推奨、カテゴリー変更。2026年11月6日閲覧)
- Meta for Developers:Pricing on the WhatsApp Business Platform(「Businesses are only charged when a message is delivered」。2026年11月6日閲覧)
- MonoChat ヘルプセンター:テンプレートメッセージ(メッセージの有効期間の項目と範囲、ワンタイムパスワードのコードの有効期間、Marketing Messages API。2026年11月6日閲覧)
- MonoChat 変更履歴 3.8.46(ユーティリティと認証テンプレートの有効期間。2026年11月6日閲覧)
MonoChatで実践する