# Custom JavaScript Events

If you want to track events that are not covered by Intelligems’ built-in custom event types, you can write any custom event using JavaScript. There are two ways to do this:

1. JavaScript custom event managed in Intelligems: this can be set up from the Events Manager. Make sure you leave the event name as-is in the generated code (`javascripteventGVYMQ` in this example):

   <figure><img src="/files/dIDEbPKcyJFAn5SjIAR6" alt="" width="332"><figcaption></figcaption></figure>
2. Events sent directly from your theme code: you can send events using JavaScript directly from your own site code, like this:

```html
<script>
   window.igEvents = window.igEvents || [];
   window.igEvents.push({"event": "myCustomEvent"});
</script>
```

This event will then appear in the Events Manager, where you must register it (acknowledging the event and giving it a name) before you can start using it in experiments.

{% hint style="info" %}
Custom event identifiers can be a maximum of 100 characters long
{% endhint %}


---

# 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.intelligems.io/analytics/custom-events/custom-javascript-events.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.
