# Migrate Tracking Plans from Spreadsheet


This guide will help you migrate your Tracking Plans created using the [Tracking Plan Spreadsheet]({{< ref "data-governance/tracking-plans/tracking-plan-spreadsheet.md" >}}) to the new format.

## Overview

RudderStack lets you easily migrate your Tracking Plans created using the [Tracking Plan Spreadsheet]({{< ref "data-governance/tracking-plans/tracking-plan-spreadsheet.md" >}}) to the new format where you can edit events, properties, and Tracking Plan rules in the RudderStack dashboard.

## Migrate Tracking Plans

{{< warning >}}
Note that:

- Only [Admins]({{< ref "access-management/member-management.md#member-roles" >}}) can migrate Tracking Plans.
- Make sure to see the [Migration considerations](#migration-considerations) before you migrate your Tracking Plans.
{{< /warning >}}

You will see the **Migration now available** banner below the Tracking Plans created using the spreadsheet:

{{< image src="images/data-governance/tracking-plan-migration-banner.webp" alt="Tracking Plan migration banner" >}}

Go to the Tracking Plan and click **Migrate** to start the migration process.

{{< image src="images/data-governance/tracking-plan-migration-process.webp" alt="Tracking Plan migration process" >}}

Once the Tracking Plan is migrated successfully, you can view all the events and properties in the dashboard, and [make changes]({{< ref "data-governance/tracking-plans/view-edit-tracking-plans.md" >}}) as required.

## Migration considerations

Once you migrate, note that:

- RudderStack deletes the old Tracking Plan.
    - You **cannot** use the spreadsheet to view or manage the newly created Tracking Plan.
    - You can manage your Tracking Plans via the dashboard or the [Data Catalog API]({{< ref "api/data-catalog-api/" >}}).
- You will **not see** the historical violations or event counts once you migrate your Tracking Plan to the new format in the RudderStack dashboard.
- RudderStack supports up to [three levels of nesting]({{< ref "data-governance/tracking-plans/view-edit-tracking-plans.md#add-nested-event-properties" >}}) in the event properties of object or array data type. The Tracking Plan **cannot** be migrated if one or more of your event mappings have more than three levels of nesting and you will see the following error:

{{< image src="images/data-governance/tracking-plan-migration-error.webp" alt="Tracking Plan migration error" >}}

- RudderStack does not permit certain [keywords](#advanced-keywords) in the event's JSON schema. You will get an "**Unsupported rules found for event**" error if you try to migrate Tracking Plans having these keywords.

## FAQ

#### Which keywords are not supported while migrating the Tracking Plan to the new format in the dashboard? {#advanced-keywords}

While migrating your Tracking Plans to the new format, you will encounter an error if your Tracking Plan rules contain any of the following advanced keywords as event property names:

- `oneOf` / `allOf`
- `if` / `then` / `else`
- `$def` / `$ref`
- `const`
- `default`

See the [JSON schema]({{< ref "api/data-catalog-api/json-schema.md" >}}) guide for the list of all supported keywords.

<br />
