Advanced Action Set Logic
What's on this page
Qtip: If you don’t have access to any of the features described on this page, reach out to your Account Executive. For more information about the differences between Digital Feedback and CustomerXM for Digital, see Digital Feedback vs. CustomerXM for Digital.
About Advanced Action Set Logic
In the Editing Intercepts support page, we learned the basics of adding logic to an action set. On this page, you’ll learn how to work with multiple logic statements. You will also learn the difference between targeting logic and action logic, and how to add multiple exclusions to your intercept.
Multiple Logic Statements
A single logic statement only specifies one condition. For example, specifying that the URL must contain shoppingcart.aspx. However, there are times when the conditions under which you want your creative to appear are more complex and will call for multiple logic statements.
For example, targeting visitors whose current page is not the checkout page of a commerce site might have limited use by itself. However, by simply combining this with a condition that the Page Referrer (previous page they were on) is the shopping cart, you can target those who have abandoned their shopping cart.
Creating Multiple Conditions
And/Or Behavior
“And” statements are linked to the condition above and are required in addition to that condition. “Or” statements begin a new set of conditions. Consider the following example:
With this logic, two groups of visitors will qualify for this Creative: those with a specific IP address and those from California visiting a product page.
Logic always reads “And” statements before “Or” statements. In the example above, the location and current URL conditions are linked and must always be paired together for someone to see the Creative. But whether or not someone is from California or has “/products” in their URL doesn’t matter so long as their IP Address is 69.147.12.169.
If you wanted all people with the IP Address to also have “/products” in their URL, you would need to write that logic again and link it to the IP Address condition with “And.” See the example below.
Qtip: To preview a creative for which you don’t meet the conditions, simply add your IP address as an alternate “Or” condition. You can remove this when you’re done testing.
Logic Sets
In addition to linking statements by “And” and “Or,” you can organize them into different logic sets.
Using the logic in the example above, we have added a new condition that the visitor be on a mobile device. This condition applies to all visitors to the page, but we don’t want to add an “And” statement to every single condition.
To achieve this:
Targeting Logic & Action Logic
When multiple actions in an Intercept have one or more conditions that are the same, consider adding these conditions at the top of the intercept by clicking Add targeting logic. Logic added here will apply to all actions in the intercept.
Setting Up Multiple Exclusions
An exclusion is when you use “is not” and “does not” phrasing instead of “is” and “does.” For example, you may have a feedback button that should show on the entire website – except for the Search page and the Contact Us page.
To link exclusions together, be sure to use “And.”
In the above example, visitors on the Search and the Contact Us pages will not see the creative.
FAQs
When should I use logic on my action sets?
When should I use logic on my action sets?
For example, since creatives are not responsive to screen size, many users like to implement action set logic focused on whether a website viewer is/is not using a mobile device or whether the website is being displayed on a certain screen size. By using logic in this instance, you are able to target a properly formatted and sized creative to the appropriate person.
Action set logic based on location can even be used to make sure that website viewers are seeing a creative that is written in the language that most likely applies to them.
I activated my intercept, but it‘s not showing up on my site. Why not?
I activated my intercept, but it‘s not showing up on my site. Why not?
- Logic: intercept targeting logic and action set logic are the conditions that must be met in order for an intercept to be displayed to a visitor. Checking this logic will be helpful in discovering why the Intercept is not displaying on a page.
- Logic sets that use “Contains”: A common cause of logic error is the use of the “Contains” vs. “Is.” To say a condition “Contains” means that the parameter you are basing the logic off (i.e., Current URL) will have the specified value present in addition to more information. For example, if I had logic that read as Current URL contains ‘qualtrics’, this would cause the intercept to display on any URL that has the word qualtrics present. The other option you have is using Current URL is [URL]. This condition depends on the visited URL being an exact match. Any differences or additional characters will prevent the intercept logic from passing.
- Intercept Revisions: When making edits to intercepts, changes are not made live until the intercept is published. When publishing an Intercept, a version of the intercept, or a “revision,” is saved. Reviewing the revisions that have been made is very useful for identifying any changes that may have suddenly prevented the intercept from appearing.
- Debug Window: The debug window is an invaluable tool for testing why an intercept is not displaying on a particular page.
For intercepts whose deployment code was implemented before March 2019, to enable the debug window, append a query string to any given URL called Q_DEBUG. This must be prefixed with a ? or a & like the following examples: https://www.qualtrics.com?Q_DEBUG, https://www.qualtrics.com/blog?item=value&Q_DEBUG.
For intercepts whose deployment code was implemented after March 2019, run the following JavaScript snippet in the Console of your web page:The debug window breaks down all conditions required for intercepts running on the URL to appear. If you find that an intercept is not appearing, locate it in the debug window and identify any red failed warnings.
QSI.API.unload();
QSI.isDebug = true;
QSI.API.load();
QSI.API.run();Qtip: The Website Insights debugger does not function if the code has been implemented using a tag manager. Also, if the URL already has a query string with a ?, then the debugger will require a & instead. - Network Request: Most browsers possess a developer tools menu that allows a user to see a site’s source code, resources, cookies, and network calls. Website Insights possesses a distinct presence in the Network section of these tools. To check for these scripts running, open the developer tools and navigate to the Network section. Once here, reload the webpage and the menu should begin to populate with all network requests being made by the website. To identify Website Insights code, look for calls that begin with ?Q_ZID or ?Q_SID. This is the code itself running checks on the display logic. If you cannot find anything matching this format, then there is an issue with the implementation of your project code. You can refer to our support page on implementation for advice on where is best to place the code.
- Content Security Policy Issues: If you receive a console log that violates a Content Security Policy, there is most likely a restriction on your website that is blocking our intercepts from deploying. We recommend reaching out to your web-development team to resolve. To ensure your intercepts work, we generally recommend allowlisting the following items in your Content Security Policy headers:
- connect-src https://*.qualtrics.com
- frame-src https://*.qualtrics.com
- img-src https://siteintercept.qualtrics.com
- script-src https://*.qualtrics.com
- SPA URL Handling: If your site uses a single-page application (SPA) framework, make sure your code triggers history.pushState() when navigating between views. Some frameworks may re-render or update the URL without pushing a new history entry, which can prevent intercepts from firing. If you're using useEffect or similar lifecycle hooks, make sure your intercept logic runs after navigation is complete.
I have built my intercept but would like to test it before activation. How can I do that?
I have built my intercept but would like to test it before activation. How can I do that?
That's great! Thank you for your feedback!
Thank you for your feedback!