# Recommended Events

We suggest you implement as many of these recommended event as make sense for your app's user experience.&#x20;

Over time, we plan on adding built-in optimization options, which take into account user engagement history including these events. By tracking these events from the beginning of your integration, you'll have more data for your own optimizations/conditions, and will be able to take advantage of our new optimizations as they become available.

<table><thead><tr><th width="237">Name</th><th>Description</th></tr></thead><tbody><tr><td>signed_in</td><td>When the user logs into your app with existing credentials.</td></tr><tr><td>log_out</td><td>When the user logs out of your app.</td></tr><tr><td>sign_up</td><td>When the user completes the sign-up flow for a new account.</td></tr><tr><td>in_app_purchase</td><td>When the user completes an in app purchase of a digital good (unlock feature, etc)</td></tr><tr><td>subscribe</td><td>When the user subscribes to a recurring payment  plan / subscription.</td></tr><tr><td>unsubscribe</td><td>When the user cancels a recurring payment  plan / subscription.</td></tr><tr><td>search</td><td>When the user searches in your app.</td></tr><tr><td>tutorial_complete</td><td>When the user completes your app's tutorial or onboarding.</td></tr><tr><td>add_to_cart</td><td>For shopping apps with a cart.</td></tr><tr><td>physical_purchase</td><td>For when the user makes a purchase of a physical item (not in app digitual purchase).</td></tr><tr><td>level_up</td><td>For games, when the user levels up.</td></tr></tbody></table>


---

# 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.criticalmoments.io/events/recommended-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.
