Events
Events help you track any user actions within your app.
Why set up event sending?
AppMetrica doesn't directly track user actions within your app. However, it can collect information about these actions through events, such as:
- The user views a specific screen.
- The user clicks a specific button.
These events are sent to AppMetrica and displayed in the Events report. Examples of sending events from Android, iOS, and Flutter.
Event nesting levels
To send an event with nested parameters, pass a key:value
pair. In the interface, key
and value
are considered nesting levels.
Note
AppMetrica supports sending events with multi-level nested parameters.
When passing parameters in JSON format, each new object in the value indicates a new nesting level, such as:
"{
"param1":"1", // nesting level 1
"param2":"abc",
"param3": {
"paramLevel2": "2", // nesting level 2
"param2Level2": {
"paramLevel3": "3", // nesting level 3
"param2Level3":{
"level": "4" // nesting level 4
}
}
}
}"
The AppMetrica web interface displays up to five nesting levels for events. So if an event has six or more levels, only the top five are shown in the report.
Note
You can use the Reporting API to get up to ten event nesting levels.
Interpretation of numeric and string values
In the AppMetrica interface, the values {"count": 3}
and {"count": "3"}
are interpreted the same way. However, when exporting data using the Reporting API or Logs API, parameters are exported in the same form as they were sent to the server.
If the same event is passed multiple times with different numeric parameter values, the parameter values are not aggregated in the web interface. Each of them is recorded and calculated separately.
Note
You can use the Reporting API to export additional fields: the total and average of all numeric values.
Partially matched nested events
You can pass varying parameter values with the same event.
If the server receives events with repeated parameters, their values are accumulated, and the report displays the count of each unique value.
If the server receives events with duplicate parameters but different nesting levels, their values are added together based on duplicate parameters.
For example, the first event has two nesting levels:
{
"param1": "param2"
}
The second one has three nesting levels:
{
"param1": {
"param2": "value"
}
}
In the web interface, these events are displayed as a tree view:
Events are counted using the following algorithm:
- The event is recorded, along with two of its sublevels. 1 is added to each parameter.
- 1 is added to the event name and three of its sublevels.
Funnels
To analyze the chain of events and to compare conversion rates, use the Funnels report. Configure 1 to 10 steps by including one or more events from the app in each step. For multi-level events, use key and value filtering.
Use funnels to compare target event conversions on different versions of the app, assess trends in behavioral scenario conversions, or find out how much of the audience needed a particular app function (number of users and percentage).
This way you will find growth points and implement the best ideas for your user. For more information, see Funnels.
See also
- Sending events on Android
- Sending events on iOS
- Events report
- Funnel report
- Reporting API
- Logs API
- Limiting custom events
If you didn't find the answer you were looking for, you can use the feedback form to submit your question. Please describe the problem in as much detail as possible. Attach a screenshot if possible.