Skip to main content
A Concatenation field is computed. It joins the values of other fields on the same record, in the order you list them, separated by a character you choose. The classic use is a campaign name like awareness-us-black_friday, built from a few dropdowns and a text field.

When to use it

  • Building one canonical string out of several inputs, for example a UTM campaign name from goal, country, and a short label.
  • Producing a deterministic identifier that should always follow the same shape across submissions.
  • Feeding a clean value into a Tagged URL parameter.
Don’t use a Concatenation field to attach query parameters to a URL. The output is a plain string and is not URL-aware. Use a Tagged URL field, which handles the base URL and parameter encoding for you.

How it is configured

A Concatenation field is computed, so it is always required and submitters never type into it. In the field editor you set: Each part references another field, not a literal string. Adding the same field twice is prevented, and you cannot add a new part until every existing part has a field selected. When the submission is saved, Terminus reads each referenced field’s current value on that record, applies your empty-value rule, and joins the results with the separator.

A worked example

In the Campaign URL Builder, a UTM Campaign Concatenation field joins a Goal dropdown, a Country dropdown, and a Campaign Label text field into one tracking string: For a submission where Goal is awareness, Country is us, and Campaign Label is black_friday, the field computes:
If the submitter leaves Country blank, Remove extra separators drops that part and the separators around it collapse:
With Remove extra separators off, the same blank value would produce awareness--black_friday (two dashes where the country used to be). Turn it off and set an Empty field replacement instead when you want a visible placeholder like na in that gap. The resulting value is then a clean input for the utm_campaign parameter of a Tagged URL field.

Gotchas

  • You cannot use both empty-value strategies at once. Remove extra separators and Empty field replacement are mutually exclusive. The editor hides the replacement input while Remove extra separators is on.
  • Parts can only reference other fields. There is no literal-text part. To inject a fixed string, use a Constant field as one of the parts, or put the character in Separator (it then appears between every part).
  • The separator is inserted as-is, not URL-encoded. If the output flows into a URL, keep the separator URL-safe (-, _, .) and avoid spaces or &. Encoding only happens later, inside a Tagged URL field.
  • A part that points at a missing or blank field contributes nothing useful. With Remove extra separators off, a blank part becomes an empty segment; with it on, the part is dropped. Reordering or removing parts only affects records created afterward; existing approved records keep their stored value.