Elido
13 min di letturaTutorial

Convenzioni di denominazione UTM: regole per dati campagna puliti

Una guida alla governance delle convenzioni di denominazione UTM: regole di minuscolo, vocabolari controllati, una tabella di tassonomia, e come applicare tag coerenti su un team

Ana Kowalska
Marketing solutions engineering
Un URL taggato suddiviso in chip utm_source, utm_medium e utm_campaign con un timbro di convenzione

Una convenzione di denominazione UTM è l'insieme di regole che decide come il tuo team scrive i tag delle campagne, in modo che lo stesso canale produca sempre la stessa stringa. E' importante perche' i valori UTM sono sensibili alle maiuscole e a forma libera, il che significa che niente impedisce a tre persone di taggare lo stesso canale come facebook, Facebook e FB. Il tuo strumento di analytics tratta poi quelli come tre fonti separate, e il tuo numero di Facebook è sbagliato in tre posti contemporaneamente.

Questo è l'intero problema in una frase: i tag incoerenti frammentano i report. La soluzione non è piu' disciplina. La soluzione è una convenzione scritta piu' uno strumento che la applica. L'insieme di regole di base è breve. Tutto in minuscolo. Nessuno spazio, un delimitatore. Definisci un vocabolario controllato per utm_source e utm_medium in modo che le persone scelgano da un elenco invece di inventare valori. Tieni i dati personali fuori dall'URL. Documentalo una volta e bloccalo dove vengono creati i link. Il resto di questo post riempie ogni regola, ti dà una tabella di tassonomia che puoi copiare, e spiega come applicare la convenzione in modo che sopravviva al contatto con una settimana di lancio frenetica.

Questo è il complemento di governance al walkthrough di tracciamento UTM end-to-end e al post sulla funzionalita' del costruttore UTM. Quelli coprono la pipeline e gli strumenti. Questo riguarda le regole di denominazione stesse.

Perche' una convenzione di denominazione UTM conta#

Apri qualsiasi proprieta' GA4 che ha gestito campagne per un anno senza governance, e troverai lo stesso disastro. La dimensione source ha facebook, Facebook, FB, fb, facebook.com e meta, tutti dello stesso canale. Il medium ha email, Email, e-mail e newsletter in competizione per la stessa idea. Ogni variante è la propria riga. Ogni riga contiene una fetta del traffico. Sommarle di nuovo insieme è un pomeriggio manuale e soggetto ad errori ogni volta che qualcuno chiede "come ha fatto Facebook".

Il costo non è solo disordine. Le piattaforme a pagamento leggono i tuoi dati di conversione per ottimizzare la spesa. Se meta' dei tuoi clic sui social a pagamento finisce sotto utm_medium=social e l'altra meta' sotto paid-social, il raggruppamento di canali predefinito di GA4 classifica alcuni come organici, il tuo reporting a pagamento sottoriporta, e la domanda finanziaria "perche' la spesa a pagamento non appare nei ricavi attribuiti" non ha una risposta pulita. Approfondiamo quali di quei numeri fidarsi in analytics dei short link: cosa misurare davvero.

I parametri UTM sono vecchi. La convenzione è uscita da Urchin, il prodotto di web analytics che Google ha acquisito nel 2005 e integrato in quello che è diventato Google Analytics. L'acronimo sta ancora per Urchin Tracking Module. Lo script originale __utm.js non aveva un livello di template e nessuna validazione; la regola era sempre "digitalo in modo coerente", e gli strumenti non lo hanno mai applicato. Due decenni dopo, la maggior parte dei team si affida ancora alla memoria. Questo è il gap che una convenzione colma.

I cinque parametri UTM e cosa dovrebbe contenere ciascuno#

Ci sono cinque parametri. Tre sono effettivamente richiesti per un reporting pulito; due sono facoltativi e abitualmente mal utilizzati. Ottenere la divisione del lavoro giusta è la maggior parte della battaglia, perche' la maggior parte della deriva inizia come confusione su quale valore appartiene dove.

Anatomia di un URL taggato UTM che mostra l'URL base piu' utm_source, utm_medium, utm_campaign, utm_content e utm_term, ciascuno etichettato con cio' che dovrebbe contenere

utm_source nomina da dove è arrivato il clic: la piattaforma specifica, la pubblicazione o il partner. google, newsletter, partner-acme. Risponde a "quale proprieta' ha inviato questo".

utm_medium nomina come ci è arrivato: la categoria di marketing. cpc, email, social, referral, affiliate. Risponde a "che tipo di canale è questo". Source è il nome proprio, medium è la categoria a cui appartiene.

utm_campaign nomina l'iniziativa di cui fa parte il link. spring-sale-2026, q3-product-launch. Questo è il valore per cui si suddividono i report, quindi il suo formato conta di piu' per la regex downstream.

utm_content distingue le varianti all'interno di una stessa campagna e source: il creativo, il posizionamento, il braccio A/B. hero-banner, carousel-v2, footer-link. Usalo quando hai piu' di un link che punta alla stessa destinazione dalla stessa campagna e hai bisogno di distinguerli.

utm_term è stato costruito per le parole chiave di ricerca a pagamento ed è meglio tenerlo a quello. Se non stai gestendo la ricerca a pagamento, lascialo null invece di farne un cassetto della spazzatura per metadati che non si adattano altrove.

L'errore strutturale piu' comune è scambiare source e medium. utm_source=cpc è sbagliato perche' cpc è una categoria, non un posto. utm_medium=google è sbagliato perche' google è un posto, non una categoria. Il pairing corretto è utm_source=google, utm_medium=cpc. Decidi la regola una volta, scrivila accanto a ogni parametro nel tuo doc, e lo scambio smette di accadere.

Standard dei parametri UTM: maiuscolo, spazi e delimitatori#

Tre regole di formattazione eliminano la maggior parte della deriva, e tutte e tre sono economiche da applicare una volta e costose da saltare.

Tutto in minuscolo. GA4 tratta Email e email come valori diversi, quindi la deriva delle maiuscole moltiplica silenziosamente i tuoi canali. Non c'è ragione di consentire le maiuscole in un valore UTM; scegli il minuscolo e non deviare mai.

Nessuno spazio, mai. Uno spazio in un URL si codifica in %20, quindi utm_campaign=spring sale arriva nei tuoi report come spring%20sale, che rompe la regex del nome della campagna che i team usano per raggruppare i funnel e sembra rotto in ogni dashboard. Sostituisci gli spazi alla fonte.

Un delimitatore, usato ovunque. Scegli un trattino o un underscore per separare le parole all'interno di un valore e impegnati. Mescolarli ti dà spring-sale e spring_sale come campagne separate, che è lo stesso problema di frammentazione con un cappello diverso. I trattini sono la scelta comune perche' corrispondono alle abitudini degli slug URL e si leggono in modo pulito: q3-launch-dach. Qualunque scegli, la regola è la coerenza, non il carattere specifico.

Questi standard sono in linea con la guida UTM di Google, che dice ai team di essere coerenti e usare il minuscolo. Il consiglio è corretto. Cio' che il Campaign URL Builder di Google non fa è applicare nulla di tutto cio', motivo per cui una convenzione su carta deriva nel momento in cui arriva una scadenza.

Vocabolari controllati per source, medium e campaign#

Una convenzione di denominazione che dice "usa minuscolo e trattini" permette ancora a qualcuno di inventare utm_source=the-newsletter quando il valore concordato è newsletter. La soluzione è un vocabolario controllato: un elenco fisso di valori consentiti per i parametri in cui l'insieme è prevedibile in anticipo.

utm_medium dovrebbe essere un enum chiuso. Le categorie di marketing che usi sono contabili e stabili. Un elenco predefinito sensato:

  • cpc per la ricerca a pagamento
  • paid-social per i posizionamenti a pagamento sulle piattaforme social
  • social per i social organici
  • email per newsletter e mail del ciclo di vita
  • referral per i link di partner e passaparola
  • affiliate per il traffico della rete di affiliati
  • display per banner e programmatic
  • qr per i codici su stampa e packaging

Se un valore non è nell'elenco, dovrebbe essere rifiutato, non accettato silenziosamente. Quella singola regola elimina la confusione social vs paid-social che rovina il raggruppamento dei canali.

utm_source è semi-controllato. Per le piattaforme dovrebbe essere un enum (instagram, linkedin, tiktok, youtube, facebook, x), perche' e' li' che la deriva di maiuscole e abbreviazioni vive peggio. Per partner e pubblicazioni, legalo a un elenco reale, i tuoi account partner nel CRM o il tuo media plan, in modo che una source fuori lista forzi una decisione esplicita invece di un'intuizione.

utm_campaign non puo' essere un enum chiuso perche' le campagne vengono create continuamente, ma dovrebbe comunque seguire un pattern. Una forma utile è quarter-theme-region: q3-launch-dach, q4-blackfriday-eu. Il pattern rende le campagne ordinabili e consente a una regex di raggruppare un intero trimestre o regione in un'unica espressione.

Una vera tabella di tassonomia UTM#

Ecco una tassonomia che puoi adattare oggi. Mappa ogni canale comune ai valori esatti che il tuo team dovrebbe produrre, che è cio' che trasforma una convenzione da prosa in qualcosa che una persona puo' seguire sotto scadenza.

Canaleutm_sourceutm_mediumPattern utm_campaignutm_contentutm_term
Newsletternewsletteremailquarter-themecreative-variantnull
Email ciclo di vitalifecycleemailflow-namestep-idnull
Instagram organicoinstagramsocialquarter-themepost-idnull
Meta a pagamentofacebookpaid-socialcampaign-idad-idnull
Google Search adsgooglecpccampaign-idad-id{keyword}
Referral partnerpartner-{name}referraldeal-idplacementnull
Affiliatoaffiliate-{net}affiliateprogram-namesub-idnull
QR su stampaprintqrquarter-collateralplacementnull

Le colonne pattern sono deliberate. utm_content porta l'identificatore della variante in modo da poter confrontare i creativi all'interno di una campagna; per i canali a pagamento, usa l'ID annuncio nativo della piattaforma invece di un'etichetta umana, perche' l'etichetta appartiene all'ad manager e l'ID stabile appartiene all'URL. Mantieni utm_term null a meno che tu non stia gestendo la ricerca a pagamento, dove contiene la parola chiave corrispondente.

Errori comuni UTM che frammentano i report#

I modi di fallire si ripetono in ogni team che ho verificato. Nominarli qui di seguito e scrivere la soluzione accanto a ciascuno è la maggior parte di cio' che serve un documento di convenzione.

Un confronto buono-contro-cattivo dei valori UTM: vocabolario controllato in minuscolo coerente a sinistra, deriva delle maiuscole, spazi e un'email del cliente a destra

La deriva delle maiuscole è quella grande. Facebook, facebook e FB diventano tre source perche' i valori sono sensibili alle maiuscole e non vincolati. La soluzione è una trasformazione lowercase applicata al momento dell'assemblaggio e un enum che non contiene FB.

Mettere il medium nella source, o la source nel medium. utm_source=cpc e utm_medium=google invertono entrambi il modello. La soluzione è il vocabolario controllato piu' la regola source-è-il-dove, medium-è-il-come scritta dove le persone possono vederla.

Spazi e delimitatori misti in utm_campaign. Spring 2026 DACH diventa Spring%202026%20DACH, e spring-sale vs spring_sale divide una campagna in due. La soluzione è una trasformazione slug che mette in minuscolo, sostituisce gli spazi e normalizza il delimitatore prima che il valore venga mai commesso.

Dati personali nella query string. Questo è un problema di conformita', non di ordine. Un valore UTM vive nell'URL, che viene registrato dai web server, si trova nella cronologia del browser, viene inoltrato nelle intestazioni di riferimento, ed è frequentemente incollato in chat in testo normale. Un indirizzo email, un nome o qualsiasi altro identificatore in un campo utm_ sono dati personali in un posto non protetto. Le linee guida sulla trasparenza e la minimizzazione dei dati dell'EDPB puntano nella stessa direzione: non raccogliere o esporre dati personali di cui non hai bisogno, e un URL è circa il posto peggiore in cui tenerli. Mantieni gli UTM ai metadati della campagna. Se devi collegare un clic a una persona, fallo server-side contro un ID, non in un parametro query. Il lato del consenso di questo si trova in Consent Mode v2 per il tracciamento.

utm_term come discarica. Senza una regola, raccoglie tutto cio' che non si adattava altrove. Definisci a cosa serve (parola chiave di ricerca a pagamento, null altrimenti) e la tentazione svanisce.

Applicare tag UTM coerenti con i template#

Una convenzione che vive solo in un documento deriva. Le persone dimenticano, i nuovi assunti non la leggono mai, e una scadenza del venerdì batte le buone intenzioni. L'applicazione deve spostarsi nello strumento che assembla i link, in modo che le regole si applichino indipendentemente dal fatto che chiunque le ricordi.

Il pattern che regge è un template di workspace con i vocabolari controllati incorporati. Scrivi la convenzione una volta a livello di workspace, definisci utm_medium come un letterale dove non varia mai (email per il template newsletter), lega utm_source a un enum, e lascia che i segnaposto riempiano il resto dal payload del link. Un nuovo marketer non puo' quindi produrre un utm_source malformato, perche' il template rifiuta qualsiasi cosa fuori lista. Le trasformazioni lowercase e slug si applicano automaticamente, quindi la coerenza smette di dipendere dalla disciplina per persona.

Uno shortener che possiede il passo di assemblaggio puo' fare tre cose che un form standalone non puo': tenere il template, validare ogni input rispetto ad esso, e rifiutare di commettere un link che viola le regole. Quando Elido assembla il link, sia il valore risolto che quello finale vengono registrati, quindi un override per link lascia un audit trail con chi lo ha cambiato e quando. La sintassi completa del template, inclusi i template per canale e i percorsi dei segnaposto, si trova nella guida ai template UTM, e il caso piu' ampio per i marketer è sulla pagina delle soluzioni per i marketer. Per le analytics che dipendono da questa igiene, vedi Elido analytics.

L'ambito onesto: i template correggono l'igiene del tagging e l'audit. Non correggono l'attribuzione cross-device o l'inoltro server-side che sopravvive a Safari ITP, entrambi problemi separati trattati nel walkthrough end-to-end. Cio' che correggono è la cosa che rompe silenziosamente ogni report: lo stesso canale che arriva sotto cinque nomi diversi.

Un template di convenzione e foglio di calcolo da copiare-incollare#

Se non sei ancora pronto a spostare l'assemblaggio in uno strumento, inizia con una convenzione scritta e un foglio di tracciamento. Entrambi sono meglio della memoria, e sono l'artefatto che passi a uno strumento in seguito.

Il blocco della convenzione, abbastanza breve da incollare in un wiki di team:

CONVENZIONE UTM (v1)
- Tutti i valori in minuscolo. Nessuna eccezione.
- Parole separate da trattini. Nessuno spazio, nessun underscore, nessun altro delimitatore.
- utm_source: da dove è arrivato il clic. Enum per le piattaforme; lista CRM per i partner.
- utm_medium: come è arrivato qui. Solo enum chiuso:
    cpc | paid-social | social | email | referral | affiliate | display | qr
- utm_campaign: quarter-theme-region. es. q3-launch-dach
- utm_content: id variante (creativo, posizionamento, ad-id). Facoltativo.
- utm_term: solo parola chiave di ricerca a pagamento. null altrimenti.
- Non mettere mai nomi, email o dati personali in un UTM. Mai.

Il template del foglio di calcolo ha bisogno di una scheda per i vocabolari controllati e una per i link. Strutturalo cosi':

  • Una scheda vocab con una colonna per parametro controllato (source, medium), ciascuna contenente i valori approvati. Questa è la fonte di verita' unica a cui puntano le regole di validazione dei dati.
  • Una scheda links con colonne per l'URL di destinazione, ogni valore UTM (validato rispetto alla scheda vocab in modo che un refuso venga rifiutato all'inserimento), una colonna URL-assemblato che li concatena, e una colonna note in testo libero per il contesto.
  • Una regola di validazione dei dati nelle colonne medium e source in modo che le celle accettino solo valori dalla scheda vocab. Questo è il piu' vicino che un foglio di calcolo ottiene all'applicazione.

Quando il foglio supera l'inserimento manuale, i nomi delle colonne si mappano direttamente sui segnaposto del template, e lo stesso CSV si importa direttamente in un endpoint di creazione bulk. La convenzione che hai scritto il primo giorno diventa lo schema che lo strumento applica al centesimo giorno. I prezzi per i tier che includono i template di workspace sono sulla pagina dei prezzi.

Una convenzione di denominazione è un'infrastruttura noiosa, il che è esattamente il motivo per cui viene saltata ed esattamente il motivo per cui saltarla costa un trimestre di dati puliti. Scrivi le regole, bloccale dove vengono creati i link, e i tuoi report iniziano di nuovo a sommare.

Contenuti correlati sul blog#

Prova Elido

Accorciatore di URL ospitato nell'UE: domini personalizzati, analisi approfondite e API aperta. Piano gratuito - senza carta di credito.

Tag
utm naming convention
utm parameter standards
utm best practices
utm taxonomy
utm spreadsheet template
consistent utm tags

Continua a leggere