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

# Pick a Short URL slug mode

> Choose how a Short URL field generates its slug so the right person controls it at the right time.

A Short URL field turns an approved campaign into a short link like `https://your-domain/aB3xK9q2`. The part after the slash is the **slug**. The field's `slug_mode` setting decides who writes that slug and when: the system, the submitter, or both.

<Info>
  There are three slug modes: `auto_editable` (the default), `auto_only`, and `manual_only`. Pick one when you create or edit the Short URL field, in the field's **Slug mode** dropdown.
</Info>

## What you'll build

A Short URL field whose slug behavior matches your workflow, plus the right `slug_size` for the auto-generated modes.

## Steps

<Steps>
  <Step title="Open the Short URL field's settings">
    In your governance model, open the **Short URL** field (or create one). You set the slug mode in this field's settings, alongside its **Destination URL field** and **Domain**.
  </Step>

  <Step title="Choose a slug mode">
    Use the **Slug mode** dropdown to pick how slugs are produced:

    | Mode                      | Who writes the slug                         | What the submitter sees                                             |
    | ------------------------- | ------------------------------------------- | ------------------------------------------------------------------- |
    | `auto_editable` (default) | System generates one; submitter may edit it | A pre-filled slug in an editable box, with a dice button to re-roll |
    | `auto_only`               | System only; submitter cannot edit          | Read-only text, shown as `(will be generated on save)` until saved  |
    | `manual_only`             | Submitter types it                          | An empty text box they must fill in                                 |
  </Step>

  <Step title="Set the slug length (auto modes only)">
    For `auto_editable` and `auto_only`, set **Slug size** to control the length of the generated slug. It accepts `4` to `50` characters and defaults to `10`. The **Slug size** field is hidden for `manual_only`, where the submitter chooses the whole slug.
  </Step>

  <Step title="Save and publish">
    Save the field and publish a revision so submitters get the new behavior. See [Publish a revision](/guides/publish-revision).
  </Step>
</Steps>

## What each mode means for the submitter

* **`auto_editable` (default).** A random slug is filled in automatically the first time the field is shown. The submitter can overwrite it with something memorable (for example, replace `aB3xK9q2` with `blkfri26`) or click the dice button to roll a new random one. Their edit sticks. Pick this when you want a good default but still let people choose a clean slug for marquee campaigns. This is the right choice for most workflows.
* **`auto_only`.** A random slug is generated and the submitter cannot change it. The field shows read-only text and reads `(will be generated on save)` until the value exists. Pick this when slugs should be opaque and nobody needs to customize them. This is the only mode that makes the field computed.
* **`manual_only`.** Nothing is generated. The submitter types the slug into a plain text box. Pick this for vanity slugs or partner codes that must be hand-chosen. Submitters may hit a "short URL already taken" error and need to pick again.

## Worked example: Campaign URL Builder

Your Campaign URL Builder taxonomy has a Short URL field that points at a tagged destination URL. You want most campaigns to get a tidy automatic slug, but let a campaign manager override it for a big launch.

1. Set the Short URL field's **Slug mode** to `auto_editable`.
2. Set **Slug size** to `8`.
3. Publish, then start a submission. The Short URL field shows something like `your-domain/k7Qm2Rf9`, already filled in.
4. For the Black Friday launch, the manager clears it and types `blackfriday`. On approval, the link goes live as `https://your-domain/blackfriday`.

For a campaign that needs no custom slug, the manager leaves the generated value as-is. If you would rather no one ever touches the slug, switch the field to `auto_only` instead.

## Gotchas

* **The slug is frozen once the submission is approved.** After approval, the link's domain and slug cannot change in any mode. To send a live link somewhere new, change its **Destination URL field** value. To fix a typo in a slug, you create a new link.
* **`slug_size` only applies to the auto modes.** It is ignored for `manual_only`, and the input is hidden there. Setting it alongside `manual_only` is rejected when the field is saved. Valid range is `4` to `50`, default `10`.
* **Slugs must be URL-safe.** Manual slugs accept only letters, numbers, hyphens, and underscores. Spaces, slashes, emoji, and most punctuation are rejected when the submission is checked.
* **Slugs are unique per domain.** Two live links on the same domain cannot share a slug. On the default shortener domain the match is case-sensitive, so `Promo` and `promo` are distinct. Custom domains treat slugs as the same regardless of case.
* **Leave Domain blank to use the account default.** Set the field's **Domain** only when you want links minted on a branded custom domain that has already been added and verified.
* **Only `auto_only` makes the field computed.** In the other two modes the slug is a submitter input, so the field appears as an entry column rather than in the computed-preview panel.

## Related

* [Short URL field reference](/reference/fields/short-url)
* [Tagged URL field reference](/reference/fields/tagged-url)
* [Analytics](/guides/analytics)
