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 Functions, make sure "Implement with Avo" is checked. Having "Implement with Avo" checked adds the event to your type-safe generated Avo Functions file for that source. If you don't want the event to be implemented with Avo Functions, leave "Implement with Avo" 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:
💡 Read about how Avo Functions handle different tracking methods.
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.
Avo wraps the SDKs of your current analytics tools so you get one function for each event. By doing so, Avo 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' });
And here is a list of methods that are wrapped in each analytics tool when Avo.signupStarted
is called:
Amplitude
JavaScriptCopy1234logEvent('Signup Completed', {'Authentication Method': 'Facebook',Email: 'hi@avo.sh',});
Appsflyer
JavaScriptCopy1234trackEvent('Signup Completed', {'Authentication Method': 'Facebook',Email: 'hi@avo.sh',});
Facebook Analytics
JavaScriptCopy1234fbq('trackCustom', 'Signup Completed', {'Authentication Method': 'Facebook',Email: 'hi@avo.sh',});
Firebase Analytics
JavaScriptCopy1234logEvent('Signup Completed', {'Authentication Method': 'Facebook',Email: 'hi@avo.sh',});
Fullstory
JavaScriptCopy1234event('Signup Completed', {'Authentication Method': 'Facebook',Email: 'hi@avo.sh',});
Intercom
JavaScriptCopy1234Intercom('trackEvent', 'Signup Completed', {'Authentication Method': 'Facebook',Email: 'hi@avo.sh',});
Mixpanel
JavaScriptCopy1234track('Signup Completed', {'Authentication Method': 'Facebook',Email: 'hi@avo.sh',});
Segment
JavaScriptCopy1234track('Signup Completed', {'Authentication Method': '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.
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 will occur first and then the log event call.
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.
Below are details for what Avo 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 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
Adding the Log Page View action will trigger page tracking on web and screen tracking on mobile. Log Page View is only available in Segment, other supported platforms do not offer page tracking at the moment.
When Log Page View is set on events, Avo 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: ".
Call 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.