# Ready event

In cases where you would like to ensure that code runs after a tag has been initialized, you can use the **ready** event to register a callback that runs for every tag initialization.

In contrast to the [edgetag-initialized](/implementation/browser/browser-events.md) HTML custom event, this callback will also be fired if the callback is registered after the tag has already initialized, ensuring that it will always fire regardless of when it is registered.

### Properties

| Property          | Description                                                                  |
| ----------------- | ---------------------------------------------------------------------------- |
| destination       | EdgeTag URL for the tag that has been initialized                            |
| userId            | user ID                                                                      |
| sessionId         | current session ID                                                           |
| isNewUser         | true if this is the user's first visit to the site                           |
| isNewSession      | true if this is the start of the user's session on this site                 |
| consent           | Describes the user's consent configuration and is opt-in.                    |
| consentCategories | Describes the user's consent category configuration and is opt-in.           |
| consentSettings   | Describes the channel categories and whether consent is enabled for the tag. |

### Example

```javascript
edgetag('ready', (params) => {
  if (params.isNewUser) {
    // this will only ever trigger once on the first visit
    window.alert('Hello and welcome to our shop!')
  } else if (params.isNewSession) {
    // this will only trigger on subsequent visits once per session
    window.alert('Hi and welcome back to our shop!')
  }
})
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.edgetag.io/implementation/browser/ready-event.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
