Link anatomy
This page explains what a link consists of and how its values resolve. For click-by-click steps, see Create & share a link and Manage links; for how the destination is chosen at click time, see Routing & fallbacks.
The composed URL
Every link resolves to a short URL with three parts:
https://<domain>/<orgKey>/<shortCode>
- Domain: your verified custom domain, or the OptoLink default domain if you have none. Zero verified domains is not a blocker: links work on the OptoLink domain until you add one.
orgKey: your organization's URL-safe identifier. This is why short codes only need to be unique within your organization:acme/promoandglobex/promoare different links.shortCode: either one you chose (3–100 characters, letters, digits,_,-) or an auto-generated 8-character code.
Fields on a link
| Field | What it does | Inherited? |
|---|---|---|
| Destination path | The in-app route the link opens | No |
| Short code | The slug in the URL, unique per org | No |
| Domain | Which of your verified domains the URL uses — chosen at creation | Via template |
| Channel | The install-source attribution | Snapshot at creation |
| Parameters | Key–value pairs passed to the app and used in matching | Merged with template |
| Attribution | Deferred delivery on/off, match window (default 24h) | Via template |
| Web fallback | Where to send devices without the app | Via template |
| UTM values | Source, medium, campaign, term, content | Via template |
| Social preview | OpenGraph title, description, image | Via template |
| Tags | Free-form labels for organizing and filtering | No |
| Expiry | A date after which the link stops resolving | No |
"Inherited" means the field is stored empty on the link and takes its value from the attached template. A field you override is stored on the link and wins.
How inheritance resolves
A link attaches to one template (a system starter or one your org saved). When OptoLink needs a field's effective value, it takes the first of:
- The value set on the link (your override)
- The template's value
- The built-in default
The same rule applies to parameters, with a twist: parameters merge rather than replace. Template parameters and link parameters combine key by key, and a link's value wins per key, so you can inherit a template's full parameter set and override two of them.
The consequence is deliberate: template edits propagate live. Change a template's OG image or match window and every link that inherits that field picks it up on the next read, with no re-publishing step. Override the field on a link when you want it frozen.
One field breaks the pattern: channel is snapshotted onto the link at creation and never tracks the template afterwards, because the install source of a campaign shouldn't shift under it.
Seeing where a value came from
The create form's preview (and the detail page) shows the effective values with a provenance badge on each: Override (set on the link itself), template, org, or default. When a link looks "wrong", the badge tells you which layer set it (often a template override you forgot about).
Defaults when nothing is set
- Deferred deep linking: off
- Match window: 24 hours
- Social preview fields: your organization's OG defaults
See Deferred deep linking & the match flow for what these control at click time.