Frequently asked questions
Short answers to what new organizations ask most. Each answer links to the page that owns the detail.
Links
Do recipients need the app installed for a link to work?
No. With the app installed, the link opens your app on the link's destination. Without it, the tap goes to your registered store page, then to the link's web fallback. If you enable deferred delivery on the link, the destination also survives the install and opens on first launch. See Deep linking: direct vs deferred.
Can I choose my own short code?
No. Type your own in the create form: 3–100 characters, letters, digits, _, and -. The form checks availability while you type. Codes must be unique within your organization, not across OptoLink, because the URL carries your organization key. See Link anatomy.
What happens when I deactivate a link?
The short URL stops resolving immediately and visitors see "This link has been deactivated." The click history is kept, and you can reactivate at any time. A deactivated link still counts toward your plan's link quota; deleting is what frees the slot. See Manage links.
How do I test a link before sharing it?
Open the short URL yourself: a desktop browser shows the web fallback, and a real phone walks the same routing ladder your visitors get. The create form's preview also shows the final URL and every effective value as you type. For in-app and deferred-match testing, see Test your integration.
Domains
Can I use my own domain?
Yes, from the Solo plan up. You request the hostname in the portal, add the CNAME record the panel shows you, and the OptoLink team reviews, verifies, and deploys the domain. Until then, and if you never add one, links use the shared OptoLink default domain, which is included on every plan. See Custom domains.
How long does domain verification take?
It depends on the review queue, not DNS propagation. Adding the CNAME record never changes the status by itself; the domains list is where the decision appears, and it refreshes every 30 seconds. See Domains: default vs custom.
Plans & quotas
What counts against my quota?
Five counters: links, clicks per month, custom domains, team seats, and templates your organization saves (built-in starters never count). Hitting a link, domain, seat, or template limit blocks new creation with an upgrade prompt; existing links keep resolving. Clicks on paid plans keep flowing past the limit and bill as overage. See Plans, quotas & entitlements.
Why can't I create a link? It says "Register your app before creating a link."
Your organization has no registered app platform, and this gate runs before quota checks. Register iOS or Android (bundle ID or package name, plus store URL) in the setup wizard's app-config step, or later under Settings → General → App configuration, then retry. See Set up your organization and Org profile & app config.
Why are prices shown in EGP?
EGP is the default billing currency. Your currency also picks the payment provider: EGP bills through Paymob, USD through Stripe, and you don't choose the provider yourself. See Plans & pricing.
What plan do I need for the API or an SDK?
API access starts on Growth. Before that, the API keys page shows locked cards. Growth and above include both keys: the Server API Key for the link-management API and the Node SDK, and the Mobile SDK Integration Key for the Flutter, iOS, and Android SDKs. See API keys.
Apps & SDKs
Which platforms are supported?
iOS 15+ and Android (minSdk 23) apps, through native Swift, native Kotlin, or Flutter SDKs. For servers and scripts there's a Node.js SDK (Node 18+), and the link-management REST API works with any HTTP client. See SDK overview.
Does an SDK need anything configured first?
Yes. The mobile SDKs verify your app against the app config you register in the setup wizard or under Settings → General (bundle ID or package name, store URL, signing fingerprints), so register it before you start; it's also what makes app-link verification work on your domains. All SDKs require an OptoLink backend at v2.1.0 or newer. See Quickstart: connect your app with an SDK.
How fast do clicks show up in analytics?
Clicks are recorded as they happen, and reports surface recent activity shortly after; cached results hold for about a minute. All time buckets are UTC. See Clicks, events & analytics data.