> For the complete documentation index, see [llms.txt](https://ivory-docs.gitbook.io/ivory/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ivory-docs.gitbook.io/ivory/reference/supported-components.md).

# Supported Components

Events, conditions, and actions Ivory can create

Ivory creates standard Adobe Tags components using installed extensions.

## Events

| Event          | Extension | Description                                     |
| -------------- | --------- | ----------------------------------------------- |
| Click          | Core      | Element click detection                         |
| DOM Ready      | Core      | Fires when the DOM is fully parsed              |
| Window Loaded  | Core      | Fires when all page resources have loaded       |
| Library Loaded | Core      | Fires at the earliest execution point           |
| Direct Call    | Core      | Manual rule triggering via `_satellite.track()` |
| Custom Event   | Core      | Listen for custom JavaScript events             |
| Time-Based     | Core      | Time on page, inactivity                        |
| Form Submit    | Core      | Form submission detection                       |

## Conditions

| Condition        | Extension | Description                 |
| ---------------- | --------- | --------------------------- |
| Path             | Core      | URL path matching           |
| Browser          | Core      | Browser type detection      |
| Cookie           | Core      | Cookie existence/value      |
| Custom Code      | Core      | JavaScript condition logic  |
| Value Comparison | Core      | Compare data element values |
| Variable         | Core      | Check JavaScript variables  |
| Page Domain      | Core      | Domain matching             |
| Query String     | Core      | URL parameter checking      |

## Actions

### Adobe Analytics

| Action          | Description                          |
| --------------- | ------------------------------------ |
| Set Variables   | Set eVars, props, events             |
| Send Beacon     | Send page view or link tracking call |
| Clear Variables | Reset Analytics variables            |

### Core

| Action      | Description        |
| ----------- | ------------------ |
| Custom Code | Execute JavaScript |

## Data Element Types

| Type                   | Description                  |
| ---------------------- | ---------------------------- |
| JavaScript Variable    | Read from window object path |
| DOM Attribute          | Read element attribute       |
| Cookie                 | Read cookie value            |
| Local Storage          | Read from localStorage       |
| Query String Parameter | Read URL parameter           |
| Custom Code            | JavaScript return value      |

## Extension Support

The components listed above are the most commonly used defaults from the Core and Adobe Analytics extensions. Ivory provides enhanced guidance for these components to help ensure best practices in your implementation.

However, Ivory is not limited to these. Ivory automatically detects the extensions installed in your Adobe Tags property and can create and update components for any of them. This includes extensions like:

* Adobe Experience Platform Web SDK
* Adobe Target
* Adobe Audience Manager
* Third-party and custom extensions

If an extension is installed in your property, Ivory can work with its components.

## Requesting Components

When creating rules, reference components by their common name:

```
Create a rule with a click event...
Add a path condition for /checkout...
Set Analytics variables and send a beacon...
```

Ivory maps your request to the appropriate extension delegate.
