B2B Series: Adobe Launch - Part 5.2 - Adobe Launch Rules: Conditions
In the previous blog post, we learn about Events and the available event types in Adobe Launch. We saw how we have a wide array of different events available to determine when to trigger an Adobe Launch rule. In this blog post, we will cover all about Conditions.
What are Conditions in Adobe Launch?
Conditons, as we recall, are constraints that get applied to further restrict when Adobe Launch can or cannot trigger a rule. Think of it as a filter available to be super specific about when Adobe Launch can execute a Rule. The conditions can be as simple as telling Adobe Launch to trigger the rule only when the visitor is a new visitor. Or the traffic source equals to ‘Search’ etc. Let’s dig in to see what options are available for us!
Logic:
The first thing you notice when you open the Conditions window is the Logic Type. Using the logic type you can include or exclude the audience matching the condition by using the Regular or Exception logic.
For e.g., you’d like a Global Page Load rule to be triggered only on pages ending in .html and not on .aspx. You then need to use the exception logic to prevent Adobe Launch from firing the Global Page Load rule on .aspx pages.
Type of Conditions:
The next thing to select is the Condition Type. Conditions just like Event come in different flavors. Adobe Launch categorizes these conditions into a bucket called Condition Type and the choices are determined by the Extension that you have selected. We will look at options provided by the Core extension.
The different Condition Types in Core extension are categorized into:
- Data
- Engagement
- Other
- Technology
- URL
Let’s explore the options available under each category.
Condition Type: Data
The data condition type looks for different data points to trigger or make an exception of a rule.
Cookie: The ‘Cookie’ condition checks for the name:value of a cookie you have included.
Custom Code: The ‘Custom Code’ condition checks for the scope of the rule, and fires the rule if the code evaluates to true, or ignores the rule if the code returns a false. For e.g. building on the previous use case of checking for Page Type variable, we can trigger a rule if the pageType value equals content, else ask Adobe Launch to ignore other values. Custom code conditions like custom code events should be used sparingly. Read this ‘no Custom Code challenge’ by Jan Exner.
const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);
const pageType = urlParams.get('pageType');
if(pageType == 'content') {
return true;
}
Value Comparision: This condition, I believe, should be a preferred one for any Technical Consultant. Even Jim Gordon from jimalytics.com reaffirms the thought. I agree to it completely. The Value Comparision check is the easiest and a robust condition to configure. It checks for two values against one other, and if the expected value is returned then the rule is triggered. Else, Adobe Launch prevents the rule from being fired. You can even check for one data element against the other one, and that opens a whole new world of possibilities.
Let’s understand with an example: Say you want to fire a marketing pixel for visitors whose shopping cart total is more than $275. You can track the cart total in a data element (Hint: use an EDDL), add the data element as a left operand, select a operator and enter the value in the right operand box. That’s it. Now when Adobe Launch sees the value of shopping cart above $275 on the shopping cart page, it will trigger the rule.
Variable: At a first glance, the Variable condition looks similar to the Value Comparision condition. Both the conditions are checking for a JavaScript variable. But the main difference is in how they reference the variable. With Value Comparision you have an ability to check for a Data Element. But with Variable you need to put in the actual variable path. You can’t check for a Data Element value with this condition.
Condition Type: Engagement
The engagement condition type looks for different engagement parameters of the visitor to trigger or block the rule. The choices are self explanatory. However, there are still some finer aspects to consider.
Landing Page: As the name suggests, this condition checks for specific strings in the URL of the landing page and triggers the rule if the string is matched. You can also write regular expressions to include multiple scenarios.
New/Returning Visitor: Checks if the visitor is a new or returning visitor and triggers the rule. It sets a permanent cookie to determine if the user is new or returning.
Page Views: This condition evaluates the number of page views of a visitor during the lifetime of the visit or during current session. You have options to select greater than , less than or equal to parameters
Sessions: Similar to Page Views this option allows you to trigger a rule based on the number of sessions that are recorded
Time on Site: This option allows you to trigger a rule if the user has spent more, less or equal to a ‘X’ number of minutes on site. Though honestly I am unable to think of a use case for using this condition
Traffic Source: Returns true if the page traffic source matches the expected source in the condition
I will skip the rest of the condition types available in the Other and Technology buckets. The options are very simple and self-explanatory. We will look at the last option: URL
Condition Type: Engagement
The URL condition type checks for different parameters in the URL of the page to trigger or block the rule. Let’s look at the options available:
Domain: This option is populated from the domains we included when setting up the Adobe Launch container. You have an option to change the values by going back to the Configuration screen of the container
Hash: This option was a tricky one for me to understand. Until, I read the blog post by Jim Gordon. This condition checks for the hashed value with the (#) symbol appended
Path and Query String: Checks for the value included in the URL Path along with the query string parameter. In short evaluates for value included in document.location.pathname + document.location.search attributes
Path without Query String: Checks for the value included ONLY in the URL Path. In short evaluates for value included in document.location.pathname attribute
Protocol: Evaluates based on HTTP or HTTPS parameters
Query String Parameter: Evaluates based on document.location.search attribute of the page
Subdomain: Checks for sub-domain values. This is great help when you want Adobe Launch to trigger or ignore a Rule when a redirect happens to a subdomain of the site
That’s all for different types of conditions that are available in Adobe Launch. As I said earlier, using Conditions is optional. But it is good to have knowledge of how you can further restrict Adobe Launch from being triggered. We are at the end of our B2B series for Adobe Launch. In the next blog post, we will cover all about Action which will culiminate this series.
I hope these updates are helpful to you. At least for me writing down the process is clearing a lot of confusion and helping me to become a better Technical Architect. Please drop me a line at : ritesh(at)thelearningproject(dot)in and let me know what you think of the blog and different topics. See you in the next update!