Help Center
The nine GA4 parameters are built in. When your CRM or data warehouse needs its own parameter in the URL, you build it here, and reference fields keep its values in sync automatically.
A custom parameter is a URL parameter you define yourself, next to the standard UTMs: ?mycrmparameter=springsale alongside utm_campaign and the rest. You create it in the setup wizard's syntax builder on the custom parameter tab, and it behaves like a first-class citizen:
utm_campaign, it is composed of one or more fields joined by a separator you choose.Typical uses: a CRM campaign code, an internal reporting id, a partner or affiliate tag, anything downstream systems parse out of your landing URLs.

mycrmparameter) and the display label (this titles its step in the builder).utm_campaign: each field has a type, and the separator joins them in order.Every field in a syntax structure (standard or custom parameter) has one of seven types:
| Type | Behavior in the builder |
|---|---|
| Select | Dropdown of allowed values; can be multi-select with its own delimiter. |
| Text | Free input, validated against characters that would break the syntax. |
| Date | Date picker. |
| Constant | A fixed value, always emitted, never asked for. |
| Channel-linked | Bound to the selected channel's brand behavior; used for the brand type field, once per configuration. See Brand type. |
| Auto ID (generated) | A unique 8-character link id minted fresh for every URL, once per configuration. Powers per-link lookups through the API. See Campaign IDs & Lean URLs. |
| Reference | Mirrors another field's value automatically. Read on. |

A reference field never asks for input. You pick a source field when you configure it, and at build time it carries whatever the source field holds. In the builder it renders as a read-only card naming its source and showing the live mirrored value.
The classic setup: your CRM parameter must contain the same value as the campaign description inside utm_campaign. Without references you would type it twice and eventually the two would drift. With a reference, the description is entered once on the campaign step and the CRM parameter picks it up automatically, on every URL, including every row of a bulk batch.

Where to build all this: the syntax builder's tabs (standard parameters, custom parameters, field types, separators) are covered on the Syntax builder page.
Anything your stack needs in the URL beyond the standard UTMs: a CRM campaign code, an internal tracking id, a partner tag. The parameter gets its own name, its own fields, its own separator, and its own step in the builder, and it rides on every generated URL.
A field that automatically mirrors another field's value. You never type into it: whatever the user enters in the source field appears in the reference at build time. Typical use: your CRM parameter must carry the same value as the campaign description, entered once, never out of sync.
No. References are single-hop by design: the target can be any field type except another reference. This keeps the value flow easy to reason about and rules out circular setups. Trakr's validation flags a reference chain as an error.
No, and that is the point: a reference always tracks its source field, per row. If a bulk row overrides the source field, the reference in that row follows the override automatically.
It pins a fixed value that is always emitted and never asked for in the builder. Use it for structural tokens every URL must carry, like a fixed team code inside your campaign name.