Skip to main content

Glossary

One-line definitions for the terms the OptoLink docs use. Each entry links to the page that owns the full explanation.

App config​

Your per-platform registration for iOS and Android: bundle ID or package name, store URL, and the identifiers OS-verified linking needs (Apple Team ID, SHA-256 fingerprints), plus an optional URI scheme and web fallback URL. The backend serves it as association files, and the mobile SDKs verify your app against it. See Org profile & app config.

Association files​

The /.well-known/apple-app-site-association (iOS) and /.well-known/assetlinks.json (Android) files your link domain serves, which Apple's and Google's verification check at install time. On the OptoLink default domain one set covers every organization; on a verified custom domain they describe only your apps. See Routing & fallbacks.

Attribution​

Connecting an app's first open back to the link click that started the install. When it succeeds the open is matched and lands on the link's destination; when it doesn't, the app still opens but no link gets credit. See Attribution & match confidence.

Attribution window​

Not a term the docs use: the period a tap's click stays matchable for is called the match window. See Deferred deep linking & the match flow.

Built-in starter​

A template OptoLink ships for a common channel. Starters attach directly from the create page, can't be edited or deleted, and never count against your template quota. See Templates.

Channel​

The install source a link is attributed to: social, email, sms, qr, referral, push, web, in-app, or custom. A link freezes its channel at creation, so later template edits never shift a live campaign's source. See Link anatomy.

Click​

A recorded open of one of your short links, written alongside the redirect so it never delays the visitor. Bot clicks count in the total but are reported separately. See Clicks, events & analytics data.

Clipboard token​

A one-time opl_… token the redirect page copies to the device clipboard (and embeds in the Play Store referrer on Android) so click evidence survives the install. It's the strongest match signal, and a matched token is single-use. See Deferred deep linking & the match flow.

Confidence tier​

The grade a match gets for how strong its evidence is: exact (a deterministic one-to-one signal), high, medium, or low (increasingly thin probabilistic agreement; same-IP matches are always low), or none when no click could be tied to the open. Analytics labels the tiers Verified (deterministic), High, Medium, Low confidence, and No match. See Attribution & match confidence.

Conversion​

A custom event counted for a template when the device that sent it had matched through one of that template's links. Conversions appear in the analytics template breakdown. See Clicks, events & analytics data.

Custom domain​

Your own hostname, such as links.yourbrand.com, used instead of the OptoLink default. It's a plan feature from Solo up, passes through a team-run review (Requested → Approved → Verified) rather than an automatic DNS check, and deleting a live one starts a 30-day grace window. See Domains: default vs custom.

Custom event​

An event your app sends through the SDK, such as optolink.trackEvent("purchase_completed", ...). Events are counted per name and reported in the analytics Events tab. See Clicks, events & analytics data.

Default domain​

The shared OptoLink hostname every organization links from out of the box. It's included on every plan, needs no setup, and its association files cover all organizations at once, so app deep linking works before you add a custom domain. See Domains: default vs custom.

A link tapped when the app isn't installed: the tap routes through the app store, and the destination survives the install to open on first launch. Delivery is off by default and toggled per link or template. See Deferred deep linking & the match flow.

Destination​

The in-app route a link opens, written as a path like /premium/upgrade. It's the one required field on every link. See Link anatomy.

Device ID​

The stable UUID the mobile SDK mints for each install and sends with matches, events, and identity calls. A reinstall mints a fresh one, which is why reinstalls count as installs in analytics. See Flutter: API reference & changelog.

A link tapped when the app is already installed: the OS verifies your domain and opens the app straight to the destination, with no web page in between. See Deep linking: direct vs deferred.

Entitlement​

In these docs, an iOS or Android platform entitlement: the associated-domains or App Links capability your app ships so the OS will open your links. Entitlements ride the signed binary, so changing them takes a rebuild. Plan feature access is a different thing; that's a feature gate. See Flutter: install & initialize.

Error envelope​

The one JSON shape every error response uses: statusCode, error, message, timestamp, and path, plus requestId when you send one and details on validation failures. See Rate limits & errors.

Expiry​

A link date after which the link stops resolving, and the API answers 410. Unlike deactivation, expiry doesn't undo itself; you edit the date. See Routing & fallbacks.

External identity​

Your own user ID attached to the device with the SDK's setIdentity() call, so analytics can tie events to a user; clearIdentity() removes it. See the API reference for your SDK, for example Flutter: API reference & changelog.

Feature gate​

A plan capability that's on or off with no amount to run out of, such as API access. When a feature is off, the portal hides or blocks it and the API answers 403 with FEATURE_NOT_AVAILABLE. See Plans, quotas & entitlements.

Fingerprint matching​

The probabilistic side of matching: device attributes observed in the browser (platform, OS version, language, timezone, device model) are compared with what the app reports on first open. Agreement on everything counts as high; partial agreement goes through weighted scoring. See Deferred deep linking & the match flow.

Hosted checkout​

The payment provider's own checkout page, Stripe for USD and Paymob for EGP, reached by a full-page redirect from the plans page. See Billing & subscription.

Install​

A device seen for the first time. The SDK mints a fresh device identifier on every fresh install, so a reinstall shows up as a new install too. See Clicks, events & analytics data.

Install referrer​

The Android Play Store mechanism that carries the click's token through the install. When it arrives intact the match is deterministic (INSTALL_REFERRER); iOS has no equivalent channel. See Deferred deep linking & the match flow.

The static page link-preview crawlers (WhatsApp, X/Twitter, Slack and friends) get instead of the redirect: OpenGraph and Twitter card tags, no JavaScript, cached 60 seconds. Metadata falls back link → template → organization defaults. See Routing & fallbacks.

A saved preset for link settings: channel, attribution defaults, UTM and OpenGraph values, base parameters, tags, and a web fallback URL. Attached links inherit its values at read time, so editing the template updates every link that doesn't override. See Templates.

Match​

A recorded connection between one click and an app's first open. A matched open receives the link's destination and parameters, and the record is consumed, so one click can't match twice. See Attribution & match confidence.

Match ladder​

The fixed order the backend tries match signals in, strongest first: clipboard token, install referrer, exact fingerprint, weighted scoring, then same-IP as a last resort. Deterministic signals always beat probabilistic ones. See Deferred deep linking & the match flow.

Match method​

Which rung of the match ladder won: CLIPBOARD, INSTALL_REFERRER, FINGERPRINT_EXACT, FINGERPRINT_SCORED, IP_FUZZY, or NONE when nothing matched. The SDKs add DIRECT for opens that never needed matching, via Universal Links and App Links. See Resolution API.

Match record​

The evidence stored at click time when deferred delivery is on: the link's destination and parameters plus everything the browser reveals (platform, OS version, language, timezone, device model, IP). It lives for the link's match window, then it's gone. See Deferred deep linking & the match flow.

Match score​

The 0–100 weighted score a FINGERPRINT_SCORED match carries. Only scored matches have one; every other method reports no score. See Resolution API.

Match window​

How long a click stays matchable after the tap, in hours: 1 to 720, defaulting to 24. It's a per-link setting inherited from the template, and an expired window means the same first open comes back unmatched. See Deferred deep linking & the match flow.

Matched Rate​

The analytics card showing the share of match attempts that matched. It reads 0% when there have been no match attempts at all. See Attribution & match confidence.

Org key​

The 4-character alphanumeric segment your short URLs carry between the domain and the short code, acme in https://links.example.com/acme/promo. It scopes short-code uniqueness to your organization. See Resolution API.

Overage​

Clicks past a paid plan's monthly click limit, billed at the plan's per-click rate when the subscription period ends. Starter blocks at its limits instead of accruing overage, while link, domain, seat, and template limits block on every plan. See Plans & pricing.

Past due​

The subscription state after a renewal charge fails. Your plan's access stays on while Stripe retries the charge or you fix the card; if the period ends unpaid, the organization moves to the free Starter plan. See Billing & subscription.

Payment provider​

Stripe for USD, Paymob for EGP, chosen by your billing currency and never by you. Prices display in EGP by default. See Billing & subscription.

Plan​

The tier your organization subscribes to: Starter, Solo, Growth, Scale, or Enterprise. The plan sets your quotas and feature gates; Enterprise is arranged with the OptoLink team rather than self-serve. See Plans & pricing.

Portal​

The web app your whole team uses: links, templates, domains, API keys, team, billing, and analytics. Teammates who never touch code create and share links here. See Portal overview.

Provenance badge​

The link / template / org / default label shown next to each effective value in the create preview and on the link detail page. When a value looks wrong, the badge tells you which layer set it. See Link anatomy.

QR code​

The SVG or PNG rendering of a link's short URL, downloadable from the success page, the detail page, and the API. QR images are cached for 24 hours, so a freshly changed URL can keep serving the old code for up to a day. See Manage links.

Quota​

A counted plan limit: links, monthly clicks, custom domains, seats, and templates your organization saves. Hitting one blocks new creation with 402 QUOTA_EXCEEDED while everything you already created keeps working. See Plans, quotas & entitlements.

Redirect page​

The HTML page served at the short URL (/:orgKey/:shortCode). It never issues an HTTP redirect: the page runs the routing ladder itself (app, then store, then web fallback), plants the clipboard token, and serves link previews to crawlers. See Routing & fallbacks.

Resolution API​

The public endpoints behind every link: the redirect page, its /data JSON twin, POST /match, and the /.well-known/ association files. None of them require an API key. See Resolution API.

Role​

Your permission level in the organization: Viewer, Analyst, Developer, Admin, or Owner, least to most privileged. Every organization has exactly one owner, and billing actions are owner-only. See Team & roles.

Same-IP matching​

The last-resort match method (IP_FUZZY): attributing a first open to the most recent click from the same network address, always graded low. When one IP's recent clicks point at different links, OptoLink declines to guess and returns unmatched. See Deferred deep linking & the match flow.

Seat​

One slot in your plan's team-member limit. Every member and every pending invitation holds a seat, and removing a member or revoking an invitation frees it immediately. Starter's single seat is held by the owner, so Starter organizations can't invite. See Team & roles.

Short code​

The URL segment after your org key, unique within your organization: 3–100 characters of letters, digits, _, and -, or an auto-generated 8-character code. Uniqueness is per org, because acme/promo and globex/promo are different links. See Link anatomy.

Slug​

Another name for the short code. See Link anatomy.

URI scheme​

An optional app-config field, like myapp://, that lets the redirect page try opening your app by convention on browsers that support it. Custom schemes only route: only https Universal Links and App Links deliver a payload to the SDK. See Routing & fallbacks.

UTM values​

The five campaign parameters a link or its template carries: source, medium, campaign, term, and content. They ride the click into analytics as breakdown dimensions. See Link anatomy.

Web fallback​

Where a visitor without the app lands: the link's web fallback URL first, then the App Store or Google Play URL from your app config. It's a per-link field inherited from the template, and desktop visitors go straight to it. See Routing & fallbacks.