If you’ve ever worked with Adobe Launch (now called Adobe Data Collection) and stared at the Rules screen wondering how EVENTS, CONDITIONS, and ACTIONS actually fit together — you’re not alone. The naming can be confusing (especially when EVENTS doesn’t mean what you’d expect), but the logic is actually straightforward once you break it down.
In this blog post, I’ll walk you through the Rules system in Adobe Launch — what each component does, how they work together, and how to configure them.
What Is Rules in Adobe Launch?
Rules is the core of Adobe Launch. It’s a rule-based system that looks for user interactions and associated data. When the criteria defined in your rules are met, the rule triggers the appropriate extension, script, or client-side code.
Think of it as the brain of Launch — it controls when and where data is sent, and what gets triggered in response to user behavior.
Principles of Rules
Rules are built on a simple if…then… structure:
- IF = trigger conditions (when should this happen?)
- THEN = actions (what should happen when the conditions are met?)
The IF part contains two configuration options: EVENTS and CONDITIONS.
EVENTS
Despite the name, EVENTS in Adobe Launch don’t refer to “events” in the way you might expect from other analytics tools. Here, EVENTS should be understood as trigger conditions — the “when” of your rule. For example, a trigger could be a click, a form submit, a scroll, or a page load.
The setting interface of EVENTS is as follows:
The EVENTS configuration includes:
- Extensions: which extension the rule is based on. Core is the default, but if you’re tracking with a third-party extension, select that one.
- Event Type: the specific trigger behavior. Available Event Types depend on the selected Extension.
- Name: automatically generated as a combination of Extension-Event Type. You generally don’t need to change this.
- Order: trigger priority. Lower values fire first. Adobe recommends using positive numbers between 1 and 100 (default is 50). Simpler is better.
The specific configuration on the right side depends on the Event Type — different types have different settings.
Built-in Event Types (Core)
Here are the Event Types built into Core:
| Category | Event Type | Definition |
|---|---|---|
| BROWSERS | Tab Blur | Event is triggered when the content loses focus. |
| Tab Focus | Event is triggered when the content gains focus. | |
| FORM | Blur | An element lost focus (does not bubble). |
| Change | An element loses focus and its value changed since gaining focus. | |
| Focus | An element received focus (does not bubble). | |
| Submit | A form is submitted. | |
| KEYBOARD | Key Press | A key is pressed and that key normally produces a character value (use input instead). |
| MEDIA | Media Ended | Playback stopped because the end of the media was reached. |
| Media Loaded Data | The first frame of the media finished loading. | |
| Media Pause | Playback is paused. | |
| Media Play | Playback began. | |
| Media Stalled | The user agent is trying to fetch media data, but data is unexpectedly not forthcoming. | |
| Media Time Played | Trigger the event if the media is played for a specified length of time. | |
| Media Volume Change | The volume has changed. | |
| MOBILE | Orientation Change | The orientation of the device (portrait/landscape) has changed. |
| Zoom Change | When a pinch or spread gesture is performed on a mobile device. | |
| MOUSE | Click | A pointing device button is pressed and released on an element. |
| Hover | Trigger the event if the user hovers over a specified element. | |
| Mousedown | A pointing device is moved onto the element that has the listener attached or onto one of its children. | |
| OTHERS | Custom Code | Inside your code, call trigger() whenever you would like the rule to fire. |
| Custom Event | Trigger the event if a custom event type occurs. | |
| Data Element Change | A data element changed. This event lets you select a specific data element to use as a trigger. | |
| Direct Call | Designed to bypass event detection and lookup systems. | |
| Element Exists | Trigger the event if a specified element exists. | |
| Enters Viewport | Trigger the event if the user enters a specified viewport. | |
| History Change | Trigger the event if a pushState or hashchange occurs. | |
| Time On Page | Trigger the event if the user remains on the page for a specified number of seconds. | |
| PAGE LOAD | DOM Ready | Trigger when the DOM is ready and the user can interact with the page. |
| Library Loaded (Page Top) | Trigger the event as soon as the Launch library is loaded. | |
| Page Bottom | Trigger the event once _satellite.pageBottom(); has been called. When loading the Launch library asynchronously, this event type should not be used. |
|
| Window Loaded | Trigger the event when onLoad is called by the browser and the page has finished loading. |
Click the + icon on the right side of EVENTS to add multiple triggers. Multiple EVENTS use an OR relationship — as long as one of them triggers, the rule will fire.
CONDITIONS
CONDITIONS are additional filters that restrict when the rule can fire. They act as a second layer on top of EVENTS. For example, you might want a rule to fire only on certain pages, or only for certain types of users.
The setting interface of CONDITIONS is as follows:
Configuration options:
- Logic Type: Regular (includes matching items) or Exception (excludes matching items)
- Extensions: must be consistent with EVENTS
- Condition Type: which field to use for matching
- Name:automatically generated as Extension-Condition Type
The configuration on the right depends on the Condition Type. Different types require different input.
Built-in Condition Types (Core)
| Category | Event Type | Definition |
|---|---|---|
| DATA | Cookie | Specify the cookie name and value that must exist for an event to trigger an action. |
| Custom Code | Specify any custom code that must exist as a condition of the event. | |
| Value Comparison | Compares two values to determine whether this condition returns true. | |
| Variable | Specify the JavaScript variable name and value that must exist for an event to trigger an action. | |
| ENGAGEMENT | Landing Page | Specify the page the user must land on to trigger the event. |
| New/Returning Visitor | Specify whether the visitor should be a new visitor or a returning visitor for an event to trigger an action. | |
| Page Views | Configure the number of times the visitor must view the page before the action is triggered. | |
| Sessions | Trigger the action if the user’s number of sessions meets the specified criteria. | |
| Time On Site | Trigger the action if the user’s number of sessions meets the specified criteria. | |
| Traffic Source | Trigger the action if the user’s number of sessions meets the specified criteria. | |
| OTHER | Date Range | Specify a date range. Choose the date and time the event occurs after, the date it occurs before, and the time zone. |
| Max Frequency | Specify the maximum number of times the condition returns true. | |
| Sampling | Specify the percentage of the time the condition returns true. | |
| TECHNOLOGY | Browser | Select the browser the visitor must use for the action to be triggered. |
| Device Type | Select the device type the visitor must use for the action to be triggered. | |
| Operating System | Select the operating system the visitor must use for the action to be triggered. | |
| Screen Resolution | Select the screen resolution visitors must use on their devices for the action to be triggered. | |
| Window Size | Select the window size visitors must use on their devices for the action to be triggered. | |
| URL | Domain | Specify the visitor’s domain. |
| Hash | Specify one or more hash patterns that must exist in the URL. | |
| Path And Query String | Path And Query String | |
| Path Without Query String | Path Without Query String | |
| Protocol | Specify the protocol used in the URL. | |
| Query String Parameter | Specify the Query String Parameter used in the URL. | |
| Subdomain | Specify one or more subdomains that must exist in the URL. |
Click the + icon to add multiple CONDITIONS. Multiple CONDITIONS use an AND relationship — all conditions must be met for the rule to fire.
ACTIONS
ACTIONS are what happens after the rule triggers. This is the THEN part of your if…then… logic.
Each rule can have multiple ACTIONS, and the order between them matters.
The setting interface of ACTIONS is as follows:
Configuration options:
- Extensions: determines where data is sent. Options depend on which extensions are installed (Adobe Analytics, Adobe Target, Adobe Audience Manager, etc.)
- Action Type: defines the form of sending. Depends on the selected Extension.
- Name,:automatically generated as Extension-Action Type
The specific configuration on the right depends on the selected Action Type.
Final Words
Adobe Launch’s Rules system is built on a straightforward `if…then…` structure, but the terminology can be confusing at first. Here’s a simple way to remember it:
- EVENTS = when to trigger (trigger conditions, OR relationship)
- CONDITIONS = additional restrictions (AND relationship)
- ACTIONS = what to do when triggered
Once you understand that EVENTS are actually trigger conditions (not analytics events), the whole system makes much more sense.
I hope this guide helped clarify how Rules work in Adobe Launch. If you’ve run into specific configuration issues or have tips of your own, feel free to share them in the comments.


