Import a CSV of Your Existing Tracking Plan
Import your tracking plan from various sources to get started quickly
Import existing tracking specs into Avo to get started quickly. We know that tracking plans come in all shapes and sizes. If you don’t see your format below you can try converting your existing spreadsheet to one of our supported formats or reach out and we’ll support you.
What To Import
You can import your event schemas, user properties, group properties, and name mapping.
Import Tracking Plan
Import your existing event schemas, aka tracking plan, to get started quickly.
When importing events that already exist in Avo, the importer will only import new properties, categories and tags for the event. The importer will never archive or delete existing events or properties, or remove properties, categories or tags from existing events. You can also import user properties, group properties, and name mapping.
See supported formats for importing event schemas, aka tracking plans.
Import User Properties
User properties are helpful to segment behaviors by current state of users, as opposed to the state at the time of an event trigger. Read about user property use cases and how they work.
See supported formats for importing user properties.
Import Group Properties
Group analytics are important for b2b companies and can be useful in many other cases. Read about group analytics use cases and how it works.
See supported formats for importing group properties.
Import Name Mapping
Different names to different destinations: You might need to send events and properties with different names to different destinations if: a/ You have legacy event structures in specific analytics tools, which you can’t change now because you need to data continuity in these tools. b/ Analytics destinations require specific event or property names for some functionality. Read more about name mapping and its use cases.
Reach out if you want to apply a large set of name mappings for event and property names.
Where To Import From
Importing from Amplitude
- Export your Tracking Plan from Amplitude. Open up Amplitude Data and then click the download arrow:
- In the popup, select “Schema of all events and their properties” or “Schema of all user properties” and click download:
- Finally open the Importer from your Avo workspace and drag the downloaded .csv file to the drop zone or click it and select the file:
- Review your events and properties and finish the import 🎉
Importing from Mixpanel
- Open up Mixpanel Lexicon (in the top right corner of your Mixpanel workspace click Data Management > Lexicon) and then click the export button:
- In the popup, select “Events & Properties” and Send CSV. Also check “User Profile Properties” if you want to include user properties:
- Within few minutes you should receive an email from Mixpanel with a CSV export. Open the Importer from your Avo workspace and drag the downloaded .csv file to the drop zone or click it and select the file:
- Review your events and properties and finish the import 🎉
Importing from a Google Sheet
Avo supports importing various tracking plan formats. See supported formats for importing tracking plans.
How to import from a Google Sheet
- Open the sheet containing your Events and Event Properties. Click File > Download > Comma-separated values (.csv)
- Open the Importer from your Avo workspace and drag the downloaded .csv file to the drop zone or click it and select the file:
- Review your events and finish the import 🎉
Supported Formats
Following are the spreadsheet formats the Avo Importer currently supports.
We know that tracking plan spreadsheets come in all shapes and sizes. If you don’t see your format below you can try converting your existing spreadsheet to one of these formats, by renaming columns etc, or you can reach out to us and we’ll get the importing done for you.
Note:
- The order of the columns in your sheet does not matter
- There must be a header row in your sheet with the exact column names as described for one of the format below
- Any additional columns are ignored
You can learn more about common Tracking Plan spreadsheet formats on our blog.
Avo’s Ultimate Tracking Plan Template
Required columns
Column Name | Description | Allowed Values | Example Value |
---|---|---|---|
Event Name | The name of your event | Any string | App Opened |
Event Description | The description of your event | Any string | Sent when the user opens the app |
Event Category | The category your event belongs to, if any | Any string | App Lifecycle |
Sources | The name of the sources this event should be sent from | Comma separated strings | iOS, Android, Web |
Property Name | The name of a property that should be sent | Any string | Device Type |
Property Description | The description of the property | Any string | The type of client user is currently using |
Property Value Type | The type of the property | string, int, float, bool, object, any | string |
Is Property Required? | True if the property should always be sent with your event | true, false | true |
Is Property Array? | True if property should be array of values | true, false | false |
Property Enumeration Options | Finite list of all values allowed for the property, if applicable | Comma separated strings | iOS, Android, Web, Desktop, Fire |
Optional columns for property bundles
You can create and attach event property bundles to events by including the columns below in your import. View example sheet with property bundles
Column Name | Description | Allowed Values | Example Value |
---|---|---|---|
Property Bundle Name | The name of the property bundle you’d like to import, defined at the top of your file, followed by the properties you’d like to include in the bundle | Any string | A/B Testing Properties |
Property Bundle Description | The description of the property bundle | Any string | Required on all A/B tested events |
Event Property Bundle Name | The name of the property bundle you’d like to attach to an event you’re importing | Any string | A/B Testing Properties |
Other optional columns
Column Name | Description | Allowed Values | Example Value |
---|---|---|---|
Property Type | The type of the property as it is sent to your downstream destination | Event, User, System | Event |
Event Tags | The tags attached to your event (separate multiple tags with ’;‘) | Any string | Owner:Growth |
Pinned Value | The pinned value of the property on this event | Any string | iOS |
Amplitude Taxonomy Template
Required columns
Column Name | Description | Allowed Values | Example Value |
---|---|---|---|
Event Name | The name of your event | Any string | App Opened |
Trigger + Event Description | The description of your event and when it should be sent | Any string | Sent when the user opens the app |
Event Category | The category your event belongs to, if any | Any string | App Lifecycle |
Platform | The name of the platforms this event should be sent from | Comma separated strings | iOS, Android, Web |
Property Name | The name of a property that should be sent with your event | Any string | Device Type |
Property Description | The description of the property | Any string | The type of client user is currently using |
Property Type | Control whether the event should be sent as Event property or User property | Event property, User property | Event |
Sample Values | List of all values allowed for the property, if applicable | Comma separated strings | iOS, Android, Web, Desktop, Fire |
Mixpanel Tracking Plan Template
Required columns
Column Name | Description | Allowed Values | Example Value |
---|---|---|---|
Event Name | The name of your event | Any string | App Opened |
Event Definition | The definition of your event and when it should be sent | Any string | Sent when the user opens the app |
Platform | The name of the platforms this event should be sent from | Comma separated strings | iOS, Android, Web |
Property Name | The name of a property that should be sent with your event | Any string | Device Type |
Property Definition | The description of the property | Any string | The client type |
Data Type | The type of the property | string, int, float, bool, object, any | string |
Sample Values | List of all values allowed for the property, if applicable | Comma separated strings | iOS, Android, Web, Desktop, Fire |
Properties Import Format
CSV format for importing event, user and/or system properties.
Note:
- The order of the columns in your sheet do not matter
- There must be a header row in your sheet with the exact column names as described for one of the format below
- Any additional columns are ignored
Required columns
Column Name | Description | Allowed values | Example Value |
---|---|---|---|
Property Type | Control whether the property should be sent as Event property, User property or System property | Event, User, System | User |
Property Name | The name of the property | Any string | Device Type |
Property Description | The description of the property | Any string | The client type |
Property Value Type | The type of the property | string, int, float, bool, any | string |
Property Value Is List | True if property should be array/list of values | true, false | false |
Property Required | True if the property should always be sent with your event, false if sometimes sent | true, false | true |
Property Allowed Values | Finite list of all values allowed for the property, if applicable | Any string | iOS, Android, Web, Desktop, Fire |
Group Property Import Format
CSV format for importing.
Note:
- The order of the columns in your sheet does not matter
- There must be a header row in your sheet with the exact column names as described for one of the format below
- Any additional columns are ignored
Required columns
Column Name | Description | Allowed Values | Example Value |
---|---|---|---|
Group Type | The group type (e.g. “Workspace” if you have a Workspace group) | Any string | Workspace |
Property Name | The name of the property as you want it sent to the analytics destination | Any string | Member Count |
Property Description | The description of the property | Any string | The number of members of a workspace |
Property Value Type | The type of the property | string, int, float, bool, object, any | int |
Is Property Array? | ”Y” or “N” for whether this property is an array of property values | true, false | true |
Sent with Events | ”/” separated list of events with which this group property should be updated | Any string separated by ”/“ | Invite Accepted / Member Removed |
Property Enumeration options | Finite list of all values allowed for the property, if applicable | Comma separated strings | Email, Phone Number, SSO |
Import Methods
You can select from two import methods when importing your tracking plan:
- Add only: This is the default import method. The importer will only append new items from the imported file to your tracking plan. No destructive changes will be made to existing items in your tracking plan.
- Add and update: This import method will append new items from the imported file to your tracking plan and update existing items with the same name to match the imported file. Note that this import will not remove any items from your tracking plan.
The Add and Update import method is currently in a close beta. Please reach out to us if you’d like to try it out.
Troubleshooting
How do I prevent importing duplicates of my properties?
The importer attempts to merge properties from imported events using the following criteria:
- The property name matches
- The property type matches
- The description matches
If these three criteria are not fulfilled, the importer doesn’t merge the properties. The reason we decided to include the description in this criteria is that a property that shares a name and a type, can still have a totally different meaning based on the description, and documenting that difference clearly in the tracking plan is critical to ensure everyone share the same understanding of what the property should contain in different context.
In the case where you have aligned your names and types, but the description is different, you can:
- If the properties should be merged and you are in a position to reset your tracking plan: Unify the description in your import file, reset the tracking plan , and re-run the import. This will result in the properties being merged on import.
- If the properties should be merged: Use the “Replace property with…” feature in the context menu of the property modal
- If the properties should not be merged: Provide unique name and descriptions to better differentiate between these properties in the tracking plan
What’s Next?
Now you have a tracking plan in Avo and it’s time to learn how to manage it.