What you’ll learn: what a computed field is, how one computed field can feed another, and how the four-level chain that turns user input into a QR code is wired.What you’ll build:
utm_campaign (Concatenation), tagged_url (Tagged URL), short_url (Short URL), and qr_code (QR Code), in that dependency order.Prerequisites: Part 6: User-addable picklists.Why this matters
Every part up to here has been about what a user types. This part is the payoff: no user input, four new fields, and the shape of the final record. A campaign creator fills in a name, a goal, a country, a date, and a URL, and the system produces a canonical UTM campaign string, a fully tagged URL, a branded short URL, and a QR code, every time, without touching any of those values. When the marketing team says “our UTM format changed,” you edit theutm_campaign setup once at the GM level and every future record follows. That is the leverage computed fields buy you.
Concepts first
Computed fields
A computed field has no input cell on the submission form. Its value is derived from other fields on the same row, recomputed as the user types (a live preview) and again authoritatively when the submission is saved. Computed fields are always required and cannot be edited by submitters; they can be hidden if you do not want them shown. The value is stored on the record once the submission is approved, so downstream systems read a computed field the same way they read any other.Dependency chains
A computed field’s inputs can themselves be computed fields. When the row is saved, Terminus fills in each computed field as soon as its inputs are ready, repeating until every value settles. That is howqr_code can depend on short_url, which depends on tagged_url, which depends on utm_campaign: four levels deep, resolved in one pass. You never maintain an order; Terminus works it out from how the fields reference each other (and rejects a setup that would depend on itself).
The four types used here
Terminus ships more computed field types than this tutorial covers. The four used in the Campaign URL Builder are:- Concatenation: joins other fields’ values with a separator.
- Tagged URL: takes a base URL and appends query parameters sourced from other fields.
- Short URL: creates a shortened link that redirects to a destination URL (here, the tagged URL).
- QR Code: generates a QR image whose payload is a Short URL.
The chain we’re building
Five user-input fields feedutm_campaign. utm_campaign plus destination_url feed tagged_url. tagged_url feeds short_url. short_url feeds qr_code. Build them in that order.
Step-by-step
Create utm_campaign (Concatenation)
Open the
Marketing GM and click Create new field. Name: utm_campaign. Type: Concatenation. Under Field parts, add, in order: goal, country, region, launch_date, campaign_name. Separator: -. Turn on Remove extra separators. Save.Create tagged_url (Tagged URL)
Click Create new field. Name:
tagged_url. Type: Tagged URL. Base URL field: destination_url. Add three parameters: utm_medium sourced from the utm_medium field, utm_source sourced from utm_source, and utm_campaign sourced from utm_campaign. Save. The parameter key on the left is what appears in the query string; the field on the right supplies the value. Parameter values are percent-encoded by default.Create short_url (Short URL)
Click Create new field. Name:
short_url. Type: Short URL. Destination URL field: tagged_url (the computed field you just created, one step up the chain). Leave Domain on your account default. Slug mode: auto, editable. Slug size: 8. Save.📸 Screenshot coming soon: part 07 computed field preview
Check your work
- Four new computed fields exist on the
MarketingGM:utm_campaign,tagged_url,short_url,qr_code. - The GM now has twelve fields total: eight user-input (from Parts 3 to 6) plus the four computed ones.
- Each field’s settings screen shows a live preview. Enter sample values for the user-input fields there and the preview updates as the chain resolves end to end.
- No field is on a taxonomy yet. That is still Part 8.
What you just built
The full computed chain. The governance model now carries every rule needed to turn a handful of campaign inputs into a fully tagged, shortened, QR-coded link. Below is the chain with a sample submission’s values flowing through it. Sample output forcampaign_name = "Black Friday 2026", goal = awareness, country = us, region = california, launch_date = 2026-11-15, destination_url = https://shop.acme.example/deals, utm_medium = email, utm_source = newsletter:
go.acme.example and the slug aB3xK9q2 are illustrative. Your account has its own shortener domain, and each record gets its own slug.)
Gotchas
- A computed field needs its inputs filled to produce a value. If
regionis blank,utm_campaignstill computes (thanks to Remove extra separators), but ifdestination_urlis blank,tagged_urlhas no base to attach parameters to and its preview stays empty until a URL is entered. - A QR Code’s source must be a Short URL field, not a plain URL. The Source field picker offers Short URL fields. Encoding a long tagged URL directly would bake the full query string into the image and defeat the point of the short link.
- Short URLs are draft until the submission is approved. The slug is reserved on the row and shown in the preview, but the redirect is not live until approval promotes the row to a record. Grabbing a QR code from an unapproved submission will not resolve yet. See the submission pipeline for how a draft becomes a record, and the short URL reference for the field itself.
- Reordering Concatenation parts is a real change, not a display tweak. If you swap
countryandregioninutm_campaignafter approved records exist, those old records keepawareness-us-california-…; only new records get the new order. There is no retroactive recompute, so pick the order carefully.
Next up
Part 8: Your first submission. Assemble three taxonomies, setfilter_options for real, and run a campaign from draft through to approved records. For tagged URLs in isolation, see the tagged URL recipe.