Targeting conditions guide – Best practices, condition types, operators and more

If you're a marketer using ConvertFlow, the power is in your hands to:

1. Create and launch CTA campaigns on your website without coding, using the visual builder.

2. Control who sees which CTA campaign, how they progress through each funnel, etc. using targeting conditions.

In this guide, you'll discover how to use targeting conditions, the various condition types and more:

How to create targeting conditions

"Targeting conditions" are logic statements in ConvertFlow's interface that you create to define granular visitor segments.

You'll be using targeting conditions when launching CTA campaigns, for conditional actions, skip logic and more.

Adding targeting conditions

To add a targeting condition, click the "+ Add Condition" icon, choose a condition type, enter any extra values needed for that condition type and then click "Create Condition +".

Choosing the condition operator

When you select a condition type, ConvertFlow will automatically set an ANY/ALL operator for your new targeting condition. 

You can also choose an operator for your new condition by switching the "Add to ALL/ANY required group" dropdown.

Condition operators let you determine if a condition is required to be met, or if the condition doesn't need to be met as long as another condition is being met.

For example, imagine you're targeting a popup to your home page, that only displays if the visitor was referred from either Facebook or Google.

Your condition setup would look like this:

The "If page is" condition is added with the ALL operator, and the "If referral source contains" conditions are added as ANY operators.

This limits the popup CTA campaign to only the home page, and only allows it to display if the visitor's referral source is either Google or Facebook.

Testing and troubleshooting targeting conditions

As you add more targeting conditions, it can become more difficult to understand why certain CTA campaigns are showing and why others are not.

To make troubleshooting easier, we created the ConvertFlow admin widget. This shows on your website when you're logged into ConvertFlow.

By clicking the blue ConvertFlow admin widget icon, it will open up and you'll be able to select your CTA campaign to see whether it's showing or not.

By selecting the CTA campaign, you'll see which conditions were met and which ones weren't. 

These conditions are categorized into ALL/ANY groups for easy reference of how the condition logic functions.

When using targeting conditions that reference the tracked visitor's site history, geolocation or ESP/CRM segmentation data, it's useful to be able to see your current visitor session's data.

To do this, click on the visitor profile in the admin widget to see a breakdown of who you are tracked as, as well as your site history, geolocation, ESP/CRM data etc.

Targeting condition type reference guide

ConvertFlow has a lot of different targeting condition types. 

To see how these various condition types work, here is a reference guide of each targeting condition type, organized by category:

Current visit

If page is: true if the page URL matches the given URL
If page is NOT: true if the page URL does NOT match the given URL
If URL contains: true when the page URL contains the given keyword
If URL does NOT contain: true when the page URL does NOT contain the given keyword
If device type is: true when the width of the browser is for the given device type
If visiting ConvertFlow landing page: true if the person is visiting a specific landing page built in ConvertFlow

Geolocation

If visiting from city: true when the visitor IP city location contains the keyword you specify
If NOT visiting from city: true when the visitor IP city location does NOT contain the keyword you specify
If visiting from country: true if the visitor IP country code matches the selected country
If NOT visiting from country: true if the visitor IP country code does NOT match the selected country

Site activity

If person is an identified contact: true if ConvertFlow knows the email address of the visitor
If person is NOT an identified contact: true if ConvertFlow does NOT know the email address of the visitor
If person has viewed CTA: true if the person has already been displayed the selected CTA
If person has NOT viewed CTA: true if the person has NOT already been displayed the selected CTA
If person has converted with CTA: true if the person converted on the first step of the selected CTA
If person has NOT converted with CTA: true if the person has NOT converted on the first step of the selected CTA
If person has completed CTA: true if the person was tracked as having completed the selected CTA
If person has NOT completed CTA: true if the person was NOT tracked as having completed the selected CTA
If custom field value contains: true if their custom field value contains the given keyword
If custom field value does NOT contain: true if their custom field value does NOT contain the given keyword
If person has tag: true if the person visiting has the selected ConvertFlow tag
If person does NOT have tag: true if the person visiting does NOT have the selected ConvertFlow tag
If referral source contains: true if the person originally clicked from a site contain the given keyword
If referral source does NOT contain: true if the person did NOT originally click from a site containing the given keyword
If person has visited: true if their visit history contains a matching URL
If person has NOT visited: true if their visit history does NOT contain a matching URL
If person has visited with URL parameter: true if their visit history contains a URL parameter with a matching value
If person has NOT visited with URL parameter: true if their visit history does NOT contain a URL parameter with a matching value
If person has more than X page views: true if their total number of page hits is greater than the given number
If person has less than X page views: true if their total number of page hits is less than the given number
If person has more than X sessions: true if their total number of 30 minute sessions is greater than the given number
If person has fewer than X sessions: true if their total number of 30 minute sessions is less than the given number
If current session is more than X minutes: true if their current session is longer than the given number of minutes
If current session is less than X minutes: true if their current session is shorter than the given number of minutes
If person has more than X page views in current session: true if their total number of page hits in their current 30 minute session is greater than the given number
If person has fewer than X page views in current session: true if their total number of page hits in their current 30 minute session is less than the given number

ESP/CRM contact segments

ConvertFlow references the tags, lists, custom fields, etc. of identified contacts in your connected email service providers / CRMs. This targeting data is updated when automations are processed by our system, or at the beginning of a track contact's session.

If person has tag in INTEGRATION: true if the person visiting has the selected tag in the selected integration
If person doesn't have tag in INTEGRATION: true if the person visiting does NOT have the selected tag in the selected integration
If person is subscribed to list in INTEGRATION: true if the person is in the selected list in the selected integration
If person is NOT subscribed to list in INTEGRATION: true if the person is NOT in the selected list in the selected integration
If person is subscribed to campaign in INTEGRATION: true if the person is subscribed to the selected campaign in the selected integration
If person is NOT subscribed to campaign in INTEGRATION: true if the person is NOT subscribed to the selected campaign in the selected integration
If person is a member of segment in INTEGRATION: true if the person is in the selected segment in the selected integration
If person is NOT a member of segment in INTEGRATION: true if the person is NOT in the selected segment in the selected integration
If person is in workflow in INTEGRATION: true if the person is in the selected workflow in the selected integration
If person is NOT in workflow in INTEGRATION: true if the person is NOT in the selected workflow in the selected integration
If custom field contains value in INTEGRATION: true if their custom field value contains the given keyword in the selected integration
If custom field does NOT contain value in INTEGRATION: true if their custom field value does NOT contain the given keyword in the selected integration

WordPress

With WordPress connected, ConvertFlow can target CTAs based on the WordPress post classes included in the HTML markup. This requires WordPress post_class() to be added in your theme, which is the case for all official WordPress themes.

If visiting WordPress page: true if the current page has the matching WordPress page ID in the body tag
If NOT visiting WordPress page: true if the current page does NOT have the matching WordPress page ID in the body tag
If visiting WordPress post: true if the current post has the matching WordPress post ID in the body tag
If NOT visiting WordPress post: true if the current post does NOT have the matching WordPress post ID in the body tag
If visiting WordPress category: true if the current post has the matching WordPress category ID class
If NOT visiting WordPress category: true if the current post does NOT have the matching WordPress category ID class
If person is logged into WordPress: true if the body tag has the "logged-in" class
If person is NOT logged into WordPress: true if the body tag has the "logged-in" class

Javascript

If cookie value contains keyword: true if the specified cookie value contains the given keyword
If cookie value does NOT contain keyword: true if the specified cookie value does NOT contain the given keyword
If global variable value contains keyword: true if the specified global variable is a string that contains the given keyword
If global variable value does NOT contain keyword: true if the specified global variable does NOT return a string containing the given keyword