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

# La convención

> La forma que debe tener todo valor UTM en el espacio de trabajo, y si un enlace que la rompe se rechaza o solo se marca.

La convención es la respuesta del espacio de trabajo a "cómo luce un valor UTM bien formado".
Tiene cuatro ajustes, se aplica a cada enlace creado en el espacio de trabajo — desde la consola,
el asistente, la API o el MCP — y está en la parte superior de la página de Reglas,
[https://app.utmkit.co/rules](https://app.utmkit.co/rules).

## Los cuatro ajustes

* **Mayúsculas**: `lower`, `upper` o `any`.
* **Separador**: el carácter entre palabras, `hyphen`, `underscore` o `any`.
* **Parámetros requeridos**: cualquiera de `utm_source`, `utm_medium`, `utm_campaign`, `utm_term`
  y `utm_content` que un enlace no pueda omitir.
* **Una violación**: el modo. `block` rechaza el enlace; `warn` lo crea y reporta el problema.

Un valor pasa el formato cuando son palabras de letras a–z y dígitos unidas por el separador, sin
nada antes, después o duplicado. `spring-launch` pasa con los valores por defecto; `Spring Launch`
y `spring--launch` no.

Un espacio de trabajo que nunca tocó la página corre con los valores por defecto: minúsculas,
guion, nada requerido, bloqueo. La página lo dice claramente: son los valores por defecto, y están
en vigor.

## Cambiarla

Propietarios y administradores ven **Editar la convención**; todos los demás ven las reglas y no
pueden cambiar nada. El editor cambia cómo debe lucir el *siguiente* enlace. Los enlaces ya
creados conservan los valores incrustados en ellos; la [auditoría](/es/rules/audit-existing-urls)
es lo que encuentra los que ya no cumplen.

También puedes pedirle [al asistente](/es/get-started/the-assistant) que configure mayúsculas, un
separador, parámetros requeridos, valores aprobados o una regla de dependencia con tus propias
palabras, y te muestra la regla que registró como una tarjeta. Solo agrega: retirar un valor
aprobado o quitar una regla de dependencia sigue siendo trabajo de esta página.

Si un colega guarda la convención mientras tienes el editor abierto, tu guardado se rechaza y se
te pide recargar y aplicar tu cambio de nuevo, en lugar de sobrescribir el suyo en silencio.

<Tip>
  La convención también da forma a los valores derivados. Una campaña llamada "Spring Launch" aporta
  `utm_campaign=spring-launch` con los valores por defecto y `SPRING_LAUNCH` con mayúsculas y guion
  bajo. Ver [Campañas](/es/campaigns).
</Tip>

## Qué le pasa a un enlace que la rompe

En modo **block** el enlace no se crea. El rechazo nombra el parámetro, el valor y la regla que
rompió, en una sola oración sobre la que puedes actuar:

* Un valor con la forma incorrecta: *utm\_source 'Newsletter' no coincide con la convención de UTM
  de este espacio de trabajo (minúsculas, letras y dígitos unidos por '-').*
* Un parámetro requerido que falta: *utm\_medium es obligatorio según la convención de UTM de este
  espacio de trabajo y no fue proporcionado.*
* Un valor fuera de la lista aprobada, o uno que una regla de dependencia prohíbe: la oración
  enumera qué está permitido en su lugar. Ver [Valores aprobados](/es/rules/approved-values) y
  [Reglas de dependencia](/es/rules/dependency-rules).

En modo **warn** el enlace se crea y la misma oración lo acompaña: el asistente la transmite en la
conversación, y la API la devuelve junto al enlace. Warn no es "apagado"; es el modo para un
espacio de trabajo que adopta reglas sobre enlaces que ya tiene.

Un chequeo corre por encima de tus propias reglas. Un valor que sigue la convención pero que
Google Analytics archivaría en el canal equivocado — `utm_medium=newsletter`, que cae en
*Unassigned* en lugar de *Email* — se reporta con esa consecuencia y las grafías que funcionan, y
se rechaza en modo bloqueo como cualquier otra violación.

<Note>
  Aprobar un valor o registrar una regla de dependencia debe respetar el formato por sí mismo:
  `Facebook` no se puede aprobar bajo una convención en minúsculas.
</Note>

## Desde la API y el MCP

`GET /api/v1/rules/convention` lee los cuatro ajustes y `PUT /api/v1/rules/convention` los
cambia; el cuerpo es parcial por diseño, así que una regla que no nombres queda intacta. Las
lecturas necesitan `rules:read`, las escrituras `rules:write`. Las herramientas del MCP son
`get_convention` y `set_convention`; `set_convention`, como toda escritura de reglas, también
requiere que quien tenga el token sea propietario o administrador, así que el token de un miembro
se rechaza para su rol incluso cuando lleva el permiso.
