Campaign tracking governance
UTM Taxonomy Template Generator
Choose your channels and create one reusable UTM naming standard for the whole team.
Template ready8
Choose channels
Select every channel your team actively uses.
Taxonomy table
Use this table as the source of truth for campaign setup.
| Channel | Platform | utm_source | utm_medium | utm_campaign | utm_content |
|---|---|---|---|---|---|
| Paid search | Google Ads | google | cpc | {initiative}_{audience}_{region}_{period} | {creative}_{placement} |
| Paid search | Microsoft Ads | bing | cpc | {initiative}_{audience}_{region}_{period} | {creative}_{placement} |
| Paid social | Facebook Ads | facebook | paid_social | {initiative}_{audience}_{region}_{period} | {creative}_{placement} |
| Paid social | Instagram Ads | instagram | paid_social | {initiative}_{audience}_{region}_{period} | {creative}_{placement} |
| Paid social | LinkedIn Ads | linkedin | paid_social | {initiative}_{audience}_{region}_{period} | {creative}_{placement} |
| Paid social | TikTok Ads | tiktok | paid_social | {initiative}_{audience}_{region}_{period} | {creative}_{placement} |
| Newsletter | newsletter | email | {initiative}_{audience}_{region}_{period} | {link}_{position} | |
| Lifecycle Email | lifecycle | email | {initiative}_{audience}_{region}_{period} | {message}_{link} |
Team guide
Copy a Markdown handoff for your team documentation.
# UTM Taxonomy
## Summary
- Channels: 3
- Rows: 8
- Sources: 8
- Mediums: 3
## Convention
- Campaign pattern: `{initiative}_{audience}_{region}_{period}`
- Example: `summer_launch_prospects_global_2026_q3`
- Validation regex: `^[a-z0-9]+(?:_[a-z0-9]+){3,}$`
## Channel mappings
| Channel | Platform | Source | Medium | Campaign | Content |
| --- | --- | --- | --- | --- | --- |
| Paid search | Google Ads | google | cpc | {initiative}_{audience}_{region}_{period} | {creative}_{placement} |
| Paid search | Microsoft Ads | bing | cpc | {initiative}_{audience}_{region}_{period} | {creative}_{placement} |
| Paid social | Facebook Ads | facebook | paid_social | {initiative}_{audience}_{region}_{period} | {creative}_{placement} |
| Paid social | Instagram Ads | instagram | paid_social | {initiative}_{audience}_{region}_{period} | {creative}_{placement} |
| Paid social | LinkedIn Ads | linkedin | paid_social | {initiative}_{audience}_{region}_{period} | {creative}_{placement} |
| Paid social | TikTok Ads | tiktok | paid_social | {initiative}_{audience}_{region}_{period} | {creative}_{placement} |
| Email | Newsletter | newsletter | email | {initiative}_{audience}_{region}_{period} | {link}_{position} |
| Email | Lifecycle Email | lifecycle | email | {initiative}_{audience}_{region}_{period} | {message}_{link} |Validator preset
Copy JSON rules for the UTM Naming Convention Validator.
{
"requiredParams": [
"utm_source",
"utm_medium",
"utm_campaign"
],
"allowedSources": [
"bing",
"facebook",
"google",
"instagram",
"lifecycle",
"linkedin",
"newsletter",
"tiktok"
],
"allowedMediums": [
"cpc",
"email",
"paid_social"
],
"caseStyle": "lowercase",
"separator": "underscore",
"campaignPattern": "^[a-z0-9]+(?:_[a-z0-9]+){3,}$"
}