Security and Compliance

Collecting Contact Data from Campaigns

If you use several channels for communication with customers, you can invite subscribers of one channel to join you in another channel. For example, ask email subscribers to subscribe to your web push notifications or ask the app users to subscribe to your email. To do so, you can build segments based on contact data or use Velocity in emails.

Sending Bulk Campaigns to Dynamic Segments

Let’s create an email campaign that offers email subscribers to subscribe to web push notifications. You need to create a dynamic segment with conditions based on a channel.

Note. You can choose any channels instead of Email and Web Push, depending on those you use for communication with customers.

1. Go to Contacts > Segments, click Add segment and select Dynamic.

Create a new dynamic segment

2. Enter the segment name and optionally purpose and tags.

3. In Include, click Add condition. Go to Channels > Email domain and select All contacts with email.

How to include segment conditions

4. In Exclude, click Add condition. Go to Channels, select the domain of a website you use for the web push subscriptions, and select All contacts with site.com.

How to exclude segment conditions

5. Your segment have to look as follows. Click Done.

Ready segment

6. Create an email offering to subscribe to your web push notifications and send it to this segment. Embed the link to your site. When subscribers click it, they will be navigated to your site, where they can subscribe using 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 block.

Template with a subscription invitation

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

Code editor

3. Add before the table:

<!--#set($filtered = [])
        #foreach($item in $data.get('mediaList'))
        #if($item.get('mediaType') == 'WEB_PUSH')
        #if($filtered == [])-->

Code before the table

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


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 example

This way, all subscribers receive the email, but the block with the invitation is visible 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 including 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 example

Sending Bulk Campaigns with Velocity Code to Collect Phone Numbers

To engage users who have not provided their phone number, you can send an email with a 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 block code, add before the table:

<!-- %SMS% -->
<!-- #set($sms = $data.get('SMS')) -->
<!-- #if(!$sms) -->

Add the following code at the end of the table before closing td:



This option can only be used to collect phone numbers.

Any Questions?
We’re always happy to help!
Discount services
Schedule a Call
Fill in the form, and our specialists will call you back as soon as possible.
Discount services
Chat Support
We’re waiting for your questions!
Discount services
Contact the support team