How to implement Amplitude in one day?
We are using Amplute for couple of years and it's working great for us at TimeCamp. Here are details of practicies we follow.
Design
Make a list of events you want to track.
There should be up to 30 events at the beggining - don't create an event for every little thing, move such micro events as attributes.
Use consistent naming convenction for example Time Entry Created
.
Examples:
- Time Entry Created
- Timer Started
- Report Generated
- Task Created
- Account Created
Make a list of user attributes. (30 minutes)
Examples:
- Is Account Owner
- Account Id
- User Id
- Account Plan
- Country
- Account Role
- Language
- NPS
- Refferer
- Landing Page
PS. Don't include email or other user identification for GDPR pseudonymization.
Implement
When user create an account send event Account Created
in the backend programming language using API to Amplitude.
Create a simple function in your programming language in the backend like sendAmplitudeEvent(string name, array params, int userId)
and trigger it for every place you want to track. It can trigger rabbitMQ or similar tasks queue, so your source code doesn't have to wait for Amplitude API response.
Inside this function also update user attributes with current values. But don't do this every time you fire an event to Amplitude. Limit updating user attributes for example once per day.
Reporting
Create master Dashboard with basic reports like:
- New free trials per day
- Weekly active users
- Top events
- Number of active users by plan
- Retention
- Main funnel