The four settings
- Casing:
lower,upperorany. - Separator: the character between words,
hyphen,underscoreorany. - Required parameters: any of
utm_source,utm_medium,utm_campaign,utm_termandutm_contentthat a link may not leave out. - A violation: the mode.
blockrefuses the link;warncreates it and reports the problem.
spring-launch passes the defaults; Spring Launch and
spring--launch do not.
A workspace that has never touched the page runs on the defaults: lowercase, hyphen, nothing
required, block. The page says so plainly: they are defaults, and they are in force.
Changing it
Owners and admins see Edit the convention; everyone else sees the rules and can change none. The editor changes what the next link has to look like. Links already created keep the values baked into them; the audit is what finds the ones that no longer comply. If a colleague saves the convention while you have the editor open, your save is refused and you are asked to reload and apply your change again, rather than silently overwriting theirs.What happens to a link that breaks it
In block mode the link is not created. The refusal names the parameter, the value and the rule it broke, in one sentence you can act on:- A value in the wrong shape: utm_source ‘Newsletter’ does not match this workspace’s UTM convention (lowercase, letters and digits joined by ’-’).
- A required parameter left out: utm_medium is required by this workspace’s UTM convention and was not provided.
- A value outside the approved list, or one a dependency rule forbids: the sentence lists what is allowed instead. See Approved values and Dependency rules.
utm_medium=newsletter, which lands in
Unassigned instead of Email — is reported with that consequence and the spellings that work,
and is refused in block mode like any other violation.
Approving a value or recording a dependency rule must itself respect the format:
Facebook
cannot be approved under a lowercase convention.From the API and the MCP
GET /api/v1/rules/convention reads the four settings and PUT /api/v1/rules/convention changes
them; the body is partial by design, so a rule you do not name is left alone. Reads need
rules:read, writes rules:write. The MCP tools are get_convention and set_convention;
set_convention, like every rules write, also requires the token holder to be an owner or admin,
so a member’s token is refused for its role even when it carries the permission.