❌ Troubleshoot

Why did my message fail to deliver?

5 min readUpdated June 2026All plans
When a message fails, Tanvik shows a Failed status and automatically refunds the cost to your wallet. You never pay for messages that don't deliver. This guide explains each failure reason and how to fix it.
Common failure reasons
ErrorMeaningFix
Not opted inContact hasn't consented to receive WhatsApp messages from youCollect opt-in before messaging
Session window closedIt's been more than 24 hours since the customer last messaged youSend a template instead of a session message
Insufficient wallet balanceNot enough credits to send the messageRecharge your wallet
Invalid phone numberNumber format is wrong or doesn't exist on WhatsAppCheck number has country code + is on WhatsApp
Template not approvedYou tried to send a template that's still pending or rejectedWait for approval or fix and resubmit
Blocked by userRecipient has blocked your WhatsApp numberCannot be sent — remove from contact list
Channel inactiveYour WhatsApp channel is disconnected or expiredGo to Channels and reconnect
Session window errors

WhatsApp only allows free-form messages (text, images, documents) within 24 hours of the customer's last inbound message. This is called the "session window".

If you try to send a regular message after 24 hours, it will fail with a session window error. The fix is to use a template message instead, which can be sent anytime regardless of when the customer last messaged.

Create a "re-engagement" template like "Hi {{1}}, hope you're well! We wanted to follow up on [topic]. Reply to this message to continue our chat." — once they reply, the 24-hour window reopens.
Opt-in errors

Tanvik checks opt-in status before every outbound message. If a contact hasn't opted in, the message is blocked (and refunded). You can see a contact's opt-in status by opening their profile in the Contacts section.

To fix: collect opt-in via your opt-in widget or link, then retry sending after the sync completes (usually under 1 minute).

Wallet errors

If your wallet balance drops below the cost of the next message in a broadcast, the broadcast pauses at that point. All messages sent before the pause are delivered and charged. All unsent messages are not charged.

To resume: recharge your wallet, then resume the broadcast from the Broadcast page.

Auto-refunds

Tanvik automatically refunds your wallet for every failed message — to the paisa. You can see all refunds under Wallet → Transactions, where they appear as "Refund" credits. There is no manual process needed.

Refunds typically appear in your wallet within 2–5 minutes of a delivery failure being confirmed by WhatsApp's API.