> For the complete documentation index, see [llms.txt](https://docs.edgetag.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.edgetag.io/implementation/browser/ready-event.md).

# 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
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
