Use Case
Build a Double Opt-In Flow
Build a Double Opt-In Flow to Increase Engagement
If you're seeing high unsubscribe rates or low engagement among your email, SMS, or WhatsApp audiences, consider sending a confirmation message that requires an action to confirm opt-in after users express interest.
Leveraging this kind of triggered messaging helps you build a healthy subscriber list and reach highly engaged customers, while avoiding wasted sends on less engaged users. Double opt-in keeps your list clean and effective, building trust and credibility with your audience. Despite the extra step, the benefits in data quality, compliance, and user engagement make double opt-in essential.

By requiring users to confirm their subscription, you collect valid, interested email addresses, leading to better engagement rates. This process supports your brand’s General Data Protection Regulation (GDPR) and compliance practice, reducing legal risks and minimizing spam complaints, while improving your sender reputation and deliverability.
Industry Examples
Double opt-in is relevant across all industries, including:
- Retail: Double opt-in ensures a high-quality, engaged subscriber list for newsletters and product releases.
- Transportation: Double opt-in improves communication reliability and deliverability for service announcements and real-time updates.
- Software: Double opt-in improves data quality and engagement rates for onboarding, notifications, and feature announcements.
- Financial Services: Double opt-in improves data quality, enhances security, and builds trust with genuinely interested subscribers.
Use Case: Increase Email Engagement with a Double Opt-In Flow
In the following use case, learn how to leverage Global Subscription States, in-app messages, and email to build a double opt-in flow.

How It’s Done
In the following video, learn how to build a double opt-in flow campaign.
Step-by-Step Instructions
Select the options below for step-by-step instructions on how to perform this use case.
To successfully execute this use case, you will need the following: