# Campaigns

> **TL;DR:** Campaigns group links that share the same `utm_campaign` value. The Campaigns dashboard shows aggregate click data across all links in a campaign, so you compare performance across marketing initiatives from one screen.

Group your links by campaign, track performance across UTM parameters, and see which campaigns drive the most clicks.

## What Are Campaigns

A campaign in Link Manager Pro is a collection of links that share the same `utm_campaign` value. Campaigns give you a unified view of click performance, UTM breakdowns, and traffic trends for all the links tied to a specific marketing effort.

Access Campaigns at **Link Manager Pro → Campaigns**.

## Managed vs Virtual Campaigns

Link Manager Pro has two types of campaigns:

| Type | Source | Editable | How It Appears |
|------|--------|----------|----------------|
| **Managed** | You create it manually | Yes — full CRUD | Always visible in the campaign list |
| **Virtual** | Auto-detected from links or affiliates that have a `utm_campaign` value | No — read only | Appears in the campaign list alongside managed campaigns |

### Managed Campaigns

You create managed campaigns through the Campaigns interface. Each managed campaign has its own name, slug, description, and UTM defaults. You have full control to edit and delete managed campaigns.

### Virtual Campaigns

Virtual campaigns appear automatically when Link Manager Pro detects links or affiliates with `utm_campaign` values that do not match any managed campaign. They exist only at query time — there is no saved record for a virtual campaign.

Virtual campaigns let you see campaign-level analytics for UTM values you have not explicitly organized yet. You can convert all virtual campaigns into managed campaigns at once (see [Syncing Virtual Campaigns](#syncing-virtual-campaigns)).

## Creating a Campaign

1. Go to **Link Manager Pro → Campaigns**.
2. Click **New Campaign**.
3. Fill in the campaign fields:

| Field | Description |
|-------|-------------|
| **Campaign Name** | Descriptive name for the campaign (e.g., "Spring Sale 2026"). Required. |
| **Campaign Slug** | Auto-generated from the name. Used as the `utm_campaign` value in URLs. |
| **Description** | Optional notes about the campaign's purpose or target audience. |

4. Under **Default UTM Parameters**, set values that are pre-filled when you select this campaign on a link:

| Field | Description |
|-------|-------------|
| **Source (utm_source)** | Default UTM source (e.g., "newsletter") |
| **Medium (utm_medium)** | Default UTM medium (e.g., "email") |
| **Term (utm_term)** | Default UTM term (e.g., "discount") |
| **Content (utm_content)** | Default UTM content (e.g., "header-banner") |

5. Click **Create Campaign**.

The new campaign immediately starts aggregating any links whose `utm_campaign` value matches the campaign slug.

## Viewing Campaign Analytics

Open any campaign from the list to see its full report. The campaign report includes:

### Summary Metrics

| Metric | Description |
|--------|-------------|
| **Total Clicks** | Sum of all clicks across every link in the campaign |
| **Unique Clicks** | Distinct visitors who clicked campaign links |
| **Links in Campaign** | Number of pretty links using this campaign |
| **Top Source** | The most used `utm_source` value across campaign links |

### UTM Variant Breakdown

The report shows a table of UTM variant combinations used by links in the campaign. Each row represents a unique combination of source, medium, term, and content values.

For each combination, you see:

| Column | Description |
|--------|-------------|
| **Source** | `utm_source` value for this variant (e.g., google, newsletter) |
| **Medium** | `utm_medium` value (e.g., email, cpc) |
| **Term** | `utm_term` value (e.g., discount, promo) |
| **Content** | `utm_content` value (e.g., header-banner, sidebar) |
| **Links** | Number of links using this combination |
| **Clicks** | Total clicks across those links |
| **Unique** | Distinct visitors across those links |

### Clicks Over Time

A date-range chart shows total and unique clicks over time for the campaign. You can adjust the date window using presets or a custom range. Days with no clicks still appear on the timeline.

## Campaign Links

The campaign report includes a paginated list of all links with a matching `utm_campaign` value. For each link, you see:

- Slug
- Target URL
- Clicks

Use this list to identify which individual links contribute the most to your campaign's performance.

## Syncing Virtual Campaigns

Virtual campaigns are auto-detected but not saved. You can convert them all into managed campaigns at once.

1. Go to **Link Manager Pro → Campaigns**.
2. Click **Sync Campaigns**.
3. Link Manager Pro loads a list of virtual campaigns that do not yet have a managed counterpart. Each entry shows its suggested name, slug, link count, and total clicks.
4. Click **Sync _N_ Campaigns** to convert all of them into managed campaigns.
5. A progress bar shows each campaign being created. When finished, you see a summary of how many succeeded and how many failed.
6. Click **Done** to close the dialog.

The converted campaigns use the virtual campaign's slug as the campaign slug and a human-friendly version of it as the name. Description and UTM defaults are left empty so you can fill them in later by editing each campaign.

If no virtual campaigns exist, you see a message confirming all campaigns are already synced.

## Campaign List

The main campaign list shows all managed and virtual campaigns together, with these columns:

| Column | Description |
|--------|-------------|
| **Campaign** | Name of the managed campaign or the detected `utm_campaign` value |
| **Type** | Whether the campaign is **Managed** or **Virtual** |
| **Links** | Number of links with a matching `utm_campaign` |
| **Total Clicks** | Sum of clicks across all campaign links |
| **Unique Clicks** | Distinct visitors across all campaign links |
| **Sources** | The `utm_source` values used by links in the campaign |

You can search campaigns by name or slug using the search field above the table. Click any row to open its report.

## Best Practices

### Use Consistent Naming

Establish a naming convention for your `utm_campaign` values and stick to it. Consistent naming ensures links group into the correct campaigns automatically.

**Good:** `spring-sale-2026`, `product-launch-q2`, `newsletter-weekly`

**Avoid:** `Spring Sale!`, `test123`, `campaign`

### Follow UTM Conventions

- Use lowercase values for all UTM parameters to avoid case-sensitivity splits.
- Keep `utm_source` and `utm_medium` consistent across campaigns (e.g., always `google` not sometimes `Google`).
- Use `utm_content` to differentiate link placements within the same campaign (e.g., `hero-banner` vs `sidebar-widget`).

### Convert Virtual Campaigns

Check the sync dialog regularly. Convert virtual campaigns into managed campaigns so you can add descriptions and UTM defaults for future links.

### Review Campaign Reports

Check campaign reports after each marketing push to measure which campaigns and UTM variants drive the most engagement. Use the time series to correlate click spikes with specific actions you took.

### Google Analytics Integration

UTM parameters automatically flow to Google Analytics when visitors click through your campaign links. Find campaign data in GA4 under **Reports → Acquisition → Traffic acquisition**, where you can change the primary dimension to Session campaign, source, or medium. Link Manager Pro tracks clicks at the redirect level. GA provides downstream metrics like conversions, bounce rate, and session duration. Use both together: Link Manager Pro for click volume at the redirect, GA for on-site behavior after the click.
