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.

New dynamic segment

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.

How to include segment conditions

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.

How to exclude segment conditions

5. Your segment would look as follows. Click Done.

Ready segment

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.

Triggered Campaign

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.

Block with a subscription invitation

2. Left-click the stripe and click Code editor.

Open 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 == [])-->

Code before the table

4. Add at the end of the table before closing td:

<!--#end-->

Code after the table

5. Go to Automation > Workflows and create a new workflow that consists of the following blocks:

  • Start;
  • Task Get contact;
  • Email. Select the created email in Message;
  • End.

Workflow

This way, all subscribers will receive the email but the block with an invitation will display only to subscribers without tokens.

Note!

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:

  • Start;
  • 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;
  • End.

Workflow

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:

<!--#end-->

Note!

This option can only be used to collect phone numbers.

Any Questions?
We’re always happy to help!
Request a Callback
Fill in the form, and our specialists will call you back as soon as possible.
Request a Callback
Chat Support
We’re waiting for your questions!
Send a Chat Message
Email
Contact the eSputnik support team
Send an Email