> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trackfunnels.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Import UTM Links from a CSV

> Move your existing UTM history from a spreadsheet or another link-building tool into TrackFunnels.

You do not need to rebuild your campaign history when adopting TrackFunnels. Upload a CSV containing your existing destination URLs and individual UTM fields to add them to Your Saved Links.

Imported values become available as suggestions in the Link Builder and contribute to the unique-value summaries in your account.

<Warning>
  An import cannot currently be reversed as a single action. Review the pre-import report carefully before confirming it.
</Warning>

## Before you import

Open the CSV import option beside the Link Builder form and download the provided template.

The template uses these columns:

| Column         | Requirement | Description                                                     |
| -------------- | ----------- | --------------------------------------------------------------- |
| `Date Created` | Optional    | Original creation date in `mm/dd/yy` format                     |
| `URL`          | Required    | Destination URL without relying on a combined tagged-URL column |
| `Source`       | Required    | Value to import as `utm_source`                                 |
| `Medium`       | Optional    | Value to import as `utm_medium`                                 |
| `Campaign`     | Optional    | Value to import as `utm_campaign`                               |
| `Content`      | Optional    | Value to import as `utm_content`                                |
| `Term`         | Optional    | Value to import as `utm_term`                                   |

TrackFunnels imports individual field values. Do not place a complete UTM-tagged URL into the template as a substitute for the UTM columns.

## Why the template has no Channel column

Channel is used only inside the Link Builder to present the appropriate medium. It is not a UTM parameter and is not stored after a link is generated.

For this reason, historical CSV rows do not require a Channel value and TrackFunnels does not try to infer one during import.

## Prepare the file

1. Keep the template column names unchanged.
2. Add one link per row.
3. Include a valid URL and Source for every row.
4. Format original creation dates as `mm/dd/yy`.
5. Place each UTM value in its corresponding column.
6. Save the completed file as CSV.

Example:

| Date Created | URL                          | Source     | Medium   | Campaign        | Content           | Term                   |
| ------------ | ---------------------------- | ---------- | -------- | --------------- | ----------------- | ---------------------- |
| `04/12/26`   | `https://example.com/demo`   | `google`   | `cpc`    | `spring-launch` | `responsive-ad-a` | `analytics-consulting` |
| `04/15/26`   | `https://example.com/report` | `linkedin` | `social` | `spring-launch` | `company-post`    |                        |

<Tip>
  Review capitalization and separators before importing. TrackFunnels preserves capitalization, so `Google` and `google` can still be reported separately in GA4.
</Tip>

For help cleaning an existing taxonomy, read [Maintaining UTM Data Quality](https://trackfunnels.com/learn/utm-parameters/maintaining-utm-data-quality) and [Creating a UTM Naming Convention](https://trackfunnels.com/learn/utm-parameters/creating-a-utm-naming-convention).

## Upload and review the CSV

<Steps>
  <Step title="Select the CSV file">
    Notice the import option beside the Link Builder. Use it to upload your completed CSV.
  </Step>

  <Step title="Review the pre-import report">
    TrackFunnels validates the file and reports how many rows were accepted, rejected, or identified as duplicates.

    A row with an invalid URL or missing required value is rejected rather than imported.
  </Step>

  <Step title="Download rejected rows">
    If the report contains rejected rows, download them so you can correct the underlying values. You can import the corrected rows in a later upload.
  </Step>

  <Step title="Confirm the import">
    Review the totals and provide final confirmation. Accepted rows are then added to Your Saved Links.
  </Step>
</Steps>

## How duplicates are handled

TrackFunnels deduplicates rows when the destination URL and every UTM field are identical to an existing link or another row in the import.

Links using the same UTM combination with different destination URLs are not duplicates.

## What happens after import

Accepted links:

* Appear in Your Saved Links
* Retain the original dates supplied in `Date Created`
* Contribute to unique URL, Source, Medium, Campaign, Content, and Term counts
* Make their UTM values available as suggestions during future link creation

The import does not add or infer a Channel value.

## Correct rejected rows

Use the downloaded rejected-rows file to identify entries that need attention. Correct the invalid or missing values and upload those rows again.

Because a completed import cannot be reversed as a batch, do not confirm the import until the accepted, rejected, and duplicate counts look reasonable.

## Next steps

<CardGroup cols={2}>
  <Card title="Manage Imported Links" icon="folder-open" href="/features/saved-links">
    Search, filter, edit, or delete links after they have been imported.
  </Card>

  <Card title="Build a New UTM Link" icon="link" href="/features/utm-link-builder">
    Reuse imported values through suggestions in the Link Builder.
  </Card>

  <Card title="UTM Governance and Team Workflow" icon="users" href="https://trackfunnels.com/learn/utm-parameters/utm-governance-and-team-workflow">
    Define a repeatable process for creating and maintaining campaign values.
  </Card>

  <Card title="Free UTM Course" icon="graduation-cap" href="https://trackfunnels.com/learn/">
    Explore 29 chapters covering UTM fundamentals, governance, GA4, attribution, and channel-specific practices.
  </Card>
</CardGroup>
