# The event plan

> Public channel — documentation of app 4.1.0. Follow the availability notices of each service.

Source: [The event plan](/en/services/analytics/plan-evenements/)

On the website, and through your agent in app 4.0.0 or later, once your game is connected.

The module measures arrivals, departures, purchases and errors on its own. Your game’s own steps (tutorial finished, round won, shop opened) are **events** your agent adds to the code. The **event plan** is their list, and says for each one whether it arrives as planned.

## How your agent uses it

1.  **It designs the plan with you**: each event, what it is for, where it fires in the game, and what it carries.
2.  **It declares it**, then **writes the code** that sends each event.
3.  **It marks each event written**, with the place in the code that sends it.
4.  **You publish and play.** The plan is checked on the data received from your published game.

Just ask it to “make my game’s event plan”. It never says an event works before it is conforming.

## The five states

The Event plan panel opens the “Your game” page of your stats. Its first line counts the conforming events and the deviations; each event follows with its state:

| State | What it means |
| --- | --- |
| **Planned** | Declared, not written in the code yet. |
| **Written** | Your agent says it wrote the code. Nothing has arrived yet. |
| **Received** | Sends arrive, without a problem, but a planned piece of data has not been seen. |
| **Conforming** | Sends arrive, with every planned piece of data, in the right format. |
| **Deviation** | Sends arrive with a problem. The line below says which one. |

**Conforming comes only from the data received**, never from your agent’s word. The plan is read over the last 7 days. When your agent changes the shape of an event (its data, their format, its role), it goes back to **Planned**, and only the sends that follow count.

## The causes of a deviation

| Cause shown | What happens |
| --- | --- |
| “The prop … arrives as …; the plan declares it as …” | A piece of data arrives in another format than planned (text instead of a number). |
| “The prop … is missing from … occurrences” | A piece of data planned as required is missing. |
| “Received with the role … instead of …” | The code sends the event with another role than the plan’s. |
| “… occurrences quarantined” | Sends are set aside: they do not count in your figures. |
| “Not received for … h while the game is running” | The event stopped arriving while your game still has players. |

A deviation is fixed in the code: ask your agent to fix it, then publish. A sampled or turned-off event is not counted as stopped: the panel says so separately.

## A test in Studio

The module sleeps in Studio: a test sends nothing today, and the check is done on your published game. If sends from Studio exist, the event carries the mention “in Studio test”. **A test in Studio never counts in your game’s figures**, nor in its event ceiling.

## Good to know

-   **True or false, or text?** A true/false piece of data arrives as the word `true` or `false`. A text that only holds those two words cannot be told apart from a true/false: both are accepted.
-   The plan only exists once your game is connected: see [Connect your game](/en/services/analytics/brancher/).
-   Writing the plan belongs to the project owner. An editor the stats are shared with reads it, and so does their agent, without being able to change it.

## Learn more

-   [Game analytics](/en/services/analytics/)
-   [Connect your game](/en/services/analytics/brancher/)
-   [Analytics tiers](/en/services/analytics/paliers/)
