You can use the following facts to target a specific segment of visitors and/or a specific part of your website.
Visits | User actions | Technology | User history & data | Misc |
Days | Custom fact | Browser language | Cookies | Audience history |
Month | Exit intent | Device | Data layer | Collision prevention |
Page Content | Goal history | Screen width | Geo data | Countdown |
Page views | Interaction | If block | ||
URL | Content in view | |||
Referral type | Scroll from top | |||
Referral URL | User inactivity | |||
Time | ||||
Total visits |
Visits
Days
Set the day(s) you want your project to be shown. In the example above Audience will be true if it's either Monday or Tuesday when the visitor visits the website.
Month
Set the month(s) you want your project to be shown. In the example above Audience will be true if it's January when the visitor visits the website.
Page Content
Set an element that needs to exist on the page for the project to be shown. Enter the CSS selector of the element and choose if you just want to check if it exists or if you also want it to match some specific text by choosing match type in the dropdown and enter the text that need to be matched in the second input field. In the example above Audience will be true if an element with the selector .search input exists on a page the visitor visits.
The difference between Exact match, Simple match, Contains & Regex
Page views
Set the number of pages that needs to be seen before the project should be shown. In the example above Audience will be true if a visitor visits more than 3 pages after being allocated to the project.
URL
Set an URL match to target a specific page or pages. In the example above Audience will be true if a visitor visits a page that has an URL that contains /checkout. The difference between Exact match, Simple match, Contains & Regex
Referral type
Choose a referral type (Organic, Social, or Referral (other). In the example above Audience will be true if a visitor is arriving from a search engine.
Referral URL
Target a specific referrer by URL. In the example above Audience will be true if a visitor is arriving from an URL that contains facebook.
The difference between Exact match, Simple match, Contains & Regex
Time
Set time of day your project should be shown. In the example above Audience will be true if a visitor visits the website between 12:00 and 14:00.
Total visits
Set the number of visits that need to be done before the project should be shown. In the example above Audience will be true if a visitor has visited* the website three times before and comes in a fourth time.
*A new visit is registered if more than 30 minutes has passed since last visit.
User actions
Custom fact
Write your own javascript statement and call factSuccess(); to make Audience true. This could be a API request where you want a specific answer to target specific visitors. Calling factSuccess makes the Audience fact evaluate to true.
Exit intent
Show your project if the user intends to leave the website (only for desktop). This becomes true when a user's mouse pointer leaves the page.
Goal history
Show your project if a goal of another project is fulfilled. In the example above, the project we are editing will only be visible for visitors that have been allocated our PDP project and successfully placed an order.
Interaction
Show your project if a visitor clicks on a specific element. Enter the CSS selector for the element as the value. If you want to set multiple elements that will trigger Audience you need to set these in seperate Interaction facts and then set the block matching to Match one of.
Content in view
Set an element that must be visible in view, and define the percentage of visibility required to trigger the audience action. This will only execute one time per page view.
Scroll from top
Set a percent or pixel limit the visitor needs to cross for your project to be shown. In the example above Audience will be true if the visitor scrolls 20% from the top of the page.
User inactivity
Set the number of seconds of inactivity by the visitor before your project is shown. In the example above Audience will be true if the visitor is inactive for 90 seconds.
Technology
Browser language
Checks the value in navigator.language (browser language setting). In the example above Audience will be true if the visitor has the browser language set to Swedish.
Device
Set the device(s) your project should be shown for. In the example above Audience will be true if the visitor visits the website on a tablet or mobile device.
Screen width
Set the screen width (on load) that your project should be shown for. In the example above Audience will be true if the visitor visits the website and has a screenwith between 768px and 1023px.
User history & data
Check if a cookie exists and/or match a value.
The difference between Exact match, Simple match, Contains & Regex
DataLayer
Check if a dataLayer key exists and/or match a value. In the example above Audience will be true if the visitor gets an event in dataLayer named add_to_cart.
The difference between Exact match, Simple match, Contains & Regex
Another example
Data layer event:
{
"ecommerce": {
"id": "123456-0123",
"name": "Super nice product",
"discount": 0,
"quantity": 1,
"currency": "SEK",
"price": 599
},
"event": "addToCart"
}
Let's say you want to register a conversion for add to cart, but only if the product value is over 500. You can now check for the key that holds this (in this example ecommerce.price), and then set to match only values over the intended value (in this example 500). Then you set to check for a specific event (in this example addToCart).

Advanced example
Data layer event:
{
"event": "purchase",
"ecommerce": {
"items": [
{
"item_id": "43141-0014",
"item_name": "Standard t-shirt",
"item_category": "t-shirt",
"price": 249,
"discount": 0,
"quantity": 1,
"size": "Medium"
},
{
"item_id": "754634-0508",
"item_name": "Original Sneaker",
"item_category": "shoes",
"price": 699,
"discount": 0,
"quantity": 1,
"size": "44"
},
{
"item_id": "563734-0056",
"item_name": "Perfect pants",
"item_category": "pants",
"price": 379,
"discount": 0,
"quantity": 1,
"size": "Medium"
}
],
"value": 1327,
"currency": "SEK"
},
"gtm.uniqueEventId": 434
}
Let's say you want to trigger a popup for visitors that have purchased a product that is from a specific product category. As the visitor might buy more than one product and not necessarily from the same category we will need to check all purchased products. You can now easily set that up via a data layer statement.
To set up as per the example above we set the key to the path for purchased products and then make use of the wildcard (x) to check for all products (in this case the key will be set to ecommerce.items[x].item_category) and then set the value to the category we want to target value (in this case shoes). Then we set to check for a specific event and enter the event name (in this case purchase).

Geo data
Target visitors from different countries, and regions, or include/exclude visitors on IP. In the example above Audience will be true if the visitor visits the website from Sweden.
Note: When entering an IP address you need to hit enter to set it.
The difference between Exact match, Simple match, Contains & Regex
Misc
Collision prevention
Prevent projects to be shown for the visitor if he/she already seen another project. In the example above a visitor may only be allocated this project if they haven't been allocated the Siteshopping - 1 - PDP project. See How to run multiple projects at the same time without collision for more info.
Audience history
Countdown
If block
A block used for grouping statements. If you use Match all, then all statements need to evaluate to true in that block, for the entire block to be true. If you use Match one of, then only one statement in that block needs to evaluate to true for the entire block to be true. You can also add more If blocks inside an If block to be able to set more advanced logik.