How to Create Campaigns to Collect Additional Contact Data
If you use several channels for customer communication, you can invite subscribers of one channel to join you on another channel. For example, ask email subscribers to subscribe to your web pushes or ask app users to subscribe to your email. To do so, build segments based on contact data or use Velocity in emails.
Bulk Campaign to a Dynamic Segment
Let’s create the email campaign that will offer email subscribers to subscribe to web push notifications. You need to create a dynamic segment with conditions based on the channel.
Note. You can choose any channels instead of Email and Web Push, depending on what you use for customer communication.
1. Go to Contacts > Segments, click Add segment and select Dynamic.
2. Enter the segment name and optionally purpose and tags.
3. In Include, click Add card. Go to Channels > Email domain and select All contacts with email.
4. In Exclude, click Add card. Go to Channels, select the domain of the website you offer web push subscription to and select All contacts with site.com.
5. Your segment would look as follows. Click Done.
6. Create the email offering to subscribe to your web pushes and send it to this segment. Include the link to your site. Subscribers will click it, go to your site and subscribe with a regular request prompt.
Option 1. Send one email with Velocity code.
1. Create an email with an invitation that will only display to email subscribers without a push token. The invitation should be created as a separate stripe.
2. Left-click the stripe and click Code editor.
3. Add before the table:
<!--#set($filtered = ) #foreach($item in $data.get('mediaList')) #if($item.get('mediaType') == 'WEB_PUSH') $!filtered.add($!item) #end#end #if($filtered == )-->
4. Add at the end of the table before closing td:
5. Go to Automation > Workflows and create a new workflow that consists of the following blocks:
- Task Get contact;
- Email. Select the created email in Message;
This way, all subscribers will receive the email but the block with an invitation will display only to subscribers without tokens.
To collect web push tokens, use only the task Get contact; otherwise, the Velocity block won't display.
Option 2. Send different emails.
You can either create two different emails – one for email subscribers with a token and another for subscribers without a token – or create one email and then schedule an extra campaign for the later segment.
1. Create a dynamic segment as explained above.
2. Create a workflow with the following blocks:
- Included in segment? Select the created segment. If the subscriber matches the segment condition that is has the token they will be excluded from the campaign;
- Email. Select the email with an invitation;
Bulk Campaign with Velocity Code to Collect Phone Numbers
To engage users who have not provided their phone number, you can send an email with the block asking for the number and permission to send SMS. Add the corresponding Velocity code to the email code, and it will hide the permission block for users who already receive your SMS.
In the stripe code, add before the table:
<!-- %SMS% --> <!-- #set($sms = $data.get('SMS')) --> <!-- #if(!$sms) -->
Add at the end of the table before closing td:
This option can only be used to collect phone numbers.