Skip to main content
A Tagged URL field is computed. It takes a base URL from another field, then appends query parameters whose values come from other fields on the same record. This is how you turn a plain destination into a fully UTM-tagged link like …/deals?utm_source=newsletter&utm_medium=email&utm_campaign=awareness-us.

When to use it

  • Attaching UTM parameters (utm_source, utm_medium, utm_campaign, and so on) to a campaign’s destination URL.
  • Assembling any URL from a base plus one or more field-derived query parameters.
  • Producing a tagged destination for a Short URL field to wrap, so the short link redirects to an already-tagged URL.
Don’t use a Tagged URL field to compose a plain string. If you only need to join values (for example, to build the utm_campaign value itself), use a Concatenation field.

How it is configured

A Tagged URL field is computed, so it is always required and submitters never type into it. In the field editor you set:
SettingRequiredDefaultWhat it does
url_field_idYesNoneThe base URL. You select another field on the taxonomy whose type is URL, Tagged URL, or Short URL.
parametersYesNoneThe ordered list of query parameters to append. Each entry has a key and a field to read the value from. The list can be empty if you only want to pass the base URL through.
parameters[].keyYesNoneThe query parameter name, for example utm_source. Keys must be unique within the field.
parameters[].value_field_idYesNoneThe field whose value becomes this parameter’s value. Any field type is allowed; the value is read as a string.
uniqueNofalseWhen on, the computed URL must be unique across the account’s records.
When the submission is saved, Terminus reads the base URL, then walks the parameter list in order. For each parameter, it reads the value field. If that value is blank, the parameter is skipped and its key does not appear in the output. Otherwise the key=value pair is appended to the URL’s query string. Values are URL-encoded automatically.

A worked example

In the Campaign URL Builder, a tagged_url field combines the campaign’s destination_url with three UTM parameters.
type: tagged_url
settings:
  url_field_id: destination_url
  parameters:
    - { key: utm_source,   value_field_id: utm_source }
    - { key: utm_medium,   value_field_id: utm_medium }
    - { key: utm_campaign, value_field_id: utm_campaign }
For a submission where destination_url is https://shop.acme.example/deals, utm_source is newsletter, utm_medium is email, and utm_campaign is awareness-us-black_friday, the field computes:
https://shop.acme.example/deals?utm_source=newsletter&utm_medium=email&utm_campaign=awareness-us-black_friday
The utm_campaign value here is itself produced by a Concatenation field, and a Short URL field then wraps this Tagged URL so the campaign gets a branded short link.

Gotchas

  • The base URL field can itself be computed. url_field_id accepts URL, Tagged URL, and Short URL fields, which lets you chain them (raw URL, then tagged URL, then short URL). The trade-off is that if the upstream field produces a blank value, the Tagged URL output is empty too.
  • Blank parameter values are dropped, not rendered empty. If utm_source is blank on a submission, the output has no utm_source= at all rather than an empty utm_source=. To guarantee a key is always present, make its value field required.
  • Values are always URL-encoded. Each parameter value is encoded when the URL is built, so a value with spaces or reserved characters is made URL-safe automatically. You don’t (and can’t) turn this off per parameter, so don’t pre-encode values yourself or they will be double-encoded.
  • Query parameters already on the base URL are kept. If the base URL is …/deals?ref=partner, the output keeps ref=partner and appends your declared parameters after it. Duplicate keys are not removed; the declared parameters are appended last.
  • Renaming a parameter key only affects new submissions. Existing approved records keep their stored URL. There is no automatic backfill.