# States

JENTIS's goal is to make tracking website interactions easy. A rather abstract but very helpful concept comes into play: states. Every event can be a State, and with each, JENTIS takes a snapshot of all properties and variables so you can retrace each data point. So, all tracking with JENTIS will stay in contact with a State, as all Tags, Triggers, and Variables all work in some context to a State.

The JENTIS States concept creates a uniform scope for working with data on the server side. During data computation (evaluating server-side variables, executing tags on triggers, etc.), the server can not conveniently access data from the client (website visitors' browser).

Users interacting with your website will open it, wait for it to load, click somewhere, and navigate. Generally speaking, all websites are built differently; it can be a single-page application or a classic link-per-link navigating website. Now it is up to you to use the core web protocols (such as “DOM Ready” or “Page Load”) events and define default JENTIS States or create your definitions. In any case, JENTIS comes with many built-in definitions, so technical skills are not mandatory.

Here is a basic guide to dive deep into this concept: [JENTIS States Framework](/core-concepts/jentis-states-framework.md)

If you are more into the use cases, here are some guides for you to get started:

* Listen to (GTM) Data Layer Events: [Listen to Datalayer Events](/use-cases-and-tutorials/events-and-custom-states/listen-to-datalayer-events.md)
* Clicks, Form Submits and Scroll Tracking: [Form Submit, Click and Other Actions](/use-cases-and-tutorials/events-and-custom-states/form-submit-click-and-other-actions.md)
* History Change States (Virtual Pageviews): [History Change State and Virtual Pageviews](/use-cases-and-tutorials/events-and-custom-states/history-change-state-and-virtual-pageviews.md)


---

# 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.jentis.com/jentis-dcp-elements/states.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.
