An event represents something that a user does or that happens in response to their actions. For example "Signup Attempted" is an action that the user did, while "Credit Card Validated" is something that happened to the user.
Tracking Plan Guide: How to Pick Your Events and PropertiesAn event is defined in the Events section of the Tracking plan and can be organized into categories. The definition of an event includes:
Add all sources you want the event to be sent from to the event in Avo. If you want the event to be implemented with Avo Codegen, make sure "Implement with Codegen" is checked. Having "Implement with Codegen" checked adds the event to your type-safe Avo Codegen file for that source. If you don't want the event to be implemented with Avo Codegen, leave "Implement with Codegen" unchecked.
Actions is Avo's umbrella term over all the tracking methods the analytics platforms offer, such as logging events, updating user properties, logging revenue, etc. In your Avo tracking plan you can configure which actions (tracking methods) should be triggered. Actions can be triggered on their own or together, for example it's common to update user properties along with logging an event.
See supported actions (tracking methods) below.
The default action when you add an event to your Avo tracking plan is to log an event.
To add an action, click +Add Action
in the Event modal and select the relevant action:
To remove an action, click settings in the Action and select Remove
:
Below is a list of possible actions, followed by a more detailed overview of each:
Logging an event is the fundamental action for behavioral analytics. An event describes an action that a user does in your application or something that happens for them. Additional information about the action, event properties, can be logged with the event.
When using Codegen, Avo creates one function for each event, that prepares all the required data to perform all associated actions and routes the data to the data destination. By doing so, Codegen makes your analytics as type-safe as possible, and takes care of sending the event to all your analytics tools.
Here's how sending and event called "Signup Completed" would look like:
JavaScriptCopy1Avo.signupStarted({ authenticationMethod: 'Facebook', email: 'hi@avo.sh' });
When associating the event with groups you can imply that the event is linked with a group. This would typically be done if only certain actions of the user are related to a group.
With Codegen, groups are applied to tracking events with the following methods according to analytics platform:
The Identify User action should be used when you want to identify users from your system in your analytics platform. This would typically be on done when users either Sign up or Login or in other ways users are becoming authenticated users according your system.
The Identify User action can be triggered individually or along with logging an event. It's common to trigger the Identify User action along with log Signup Completed
and a Login Completed
events - in such cases, the Identify user call should occur first and then the log event call.
In the Codegen when the Identify User action is selected, Avo will require a user property called
User Id
. Below is a list of Identify User methods used for each supported analytics platform:
The Unidentify User action should be used when you want to unidentify users from your system in your analytics platform. This would typically be done when users Log Out, but not limited to that.
If you forget to unidentify users in your analytics platform you could potentially track two or more users as the same user in your analytics platform if they share a computer.
Below is a list of Unidentify User methods used for each supported analytics platform:
The Update User Properties action is used when the state of the user in your analytics platform should be updated. User properties are often updated at the same time as logging an event but they can also be updated independently.
User properties are updated with the following methods according to analytics platform:
setUserProperties
fbq('setUserProperties')
setUserProperty
setUserVars
Intercom('update', userProperties)
people.set
identify
Avo is equipped with a familiar user interface to define and maintain Group Types and their properties and updating Group Properties is as easy as adding an action to your Event. Read more about Groups here.
Users can be associated with groups (and all subsequent calls) with the following methods according to analytics platform:
Furthermore, group properties can be updated with the following methods according to analytics platform:
💡 Note that Segment always links the user to a group when updating group properties.
It's recommended to add the Log Revenue action with events that represent a successful purchase, such as Purchase Completed
Below are details for what Avo Codegen automatically does for each analytics platform.
For the Amplitude destination, Avo will add 4 event properties that match the Amplitude logRevenue API with the prefix "Amplitude: ".
Call logRevenueV2 with these properties as well as all other event properties, and then call logEvent.
For the Segment destination, Avo Codegen will add 2 event properties that match the Segment revenue properties with the prefix "Segment: ".
Segment currency will have constraint that the currencies need to be in a valid ISO format. For compiled languages this will generate an enum to guarantee that the currency is a valid ISO format, for JavaScript this will be validated during runtime.
Enums are currently not supported on Android and iOS.
Call track with the Segment revenue properties set in the correct keys to make sure that Segment recognizes the event as a Revenue event.
For the Mixpanel destination, Avo will add 1 event property that matches the Mixpanel track_charge API with the prefix "Mixpanel: ".
Call people.track_charge with the price and all additional event properties and then call track
Add the Log Page View action to include page tracking on web and screen tracking on mobile.
When Log Page View is set on events, Avo Codegen will do the following for each platform
For the Segment platform, Avo will add 1 property that matches the Segment page property with the prefix "Segment: ".
Calls either page or screen (depending on your apps platform) with the Page Name property and then call track. If you want to only log a page view, not an event, you can remove the Log Event action from the event.