Docs

Links

Create, edit, find, disable and delete deep links, with every field explained.

A link is a short URL, like https://shop-acme.golander.link/summer-sale, that opens your app at a specific screen when the app is installed and falls back to the store or a web page when it is not. For the ideas behind links (slugs, routes, parameters and per platform behavior) see Links concept. This page covers managing them in the dashboard.

Open Links in the rail (G L). The page lists every link in the current environment, newest first.

Columns

ColumnShows
LinkA status dot, the short link (domain/slug) and the title, or "Untitled". Click it to open the link page.
Opens atThe deep link path, for example /product/123
CampaignCampaign and channel, for example summer_2026 · instagram, or "None"
TagsThe link's tags
ClicksClicks in the last 30 days
CreatedHow long ago the link was created

The status dot is green for Active, grey for Disabled and amber for Expired. Disabled and expired links also show the status next to their title.

Click a column header to sort by it (Link sorts by slug). Use Columns to hide Opens at, Campaign, Tags, Clicks (30d) or Created. On narrower screens some columns are hidden automatically.

Search and filter

  • Search links... matches the slug, title, deep link path, campaign, channel and tags.
  • All campaigns and All tags filter by one campaign or tag. Each filter only appears once at least one link has a campaign or tag.
  • Clear resets the search and filters.

The count under the table, for example 12 of 40 links, tells you how many links match.

Row actions

Each row has a copy button (Copy short link) and a More actions menu with:

  • Edit: opens the link dialog.
  • QR code: opens the QR code dialog.
  • Analytics: opens the link page.
  • Delete: deletes the link, after a confirmation.

With no links yet, the page shows "No links yet" and a Create your first link button.

Open the link dialog in any of these ways:

  • Press C anywhere in the project.
  • Click Create link on the Links page or the Overview, or the plus button at the bottom of the rail.
  • Choose Create link in the command palette (⌘ K).
  • Open any project URL with ?new=1, for example /acme/shop/links?new=1. The setup checklist uses this.

The dialog is titled New link and says where the link will be created, for example "Created in test mode for Acme Shop." Fill in the fields (all described below), then click Create link or press ⌘ ⏎ (Ctrl ⏎ on Windows and Linux) from any field.

On success you see "Link created" with the short URL and a Copy action. The link works on the next click: the dashboard refreshes the edge cache right after saving. If that refresh fails, the toast says "Saved, but the edge could not be refreshed. It may serve the previous version for a few minutes."

You can copy the short link before saving with the Copy button in the dialog footer.

The preview panel

The right side of the dialog updates as you type:

  • QR code for the short link.
  • Where it goes: what happens on iOS, Android and desktop, in plain words. For example "Opens Acme Shop at /product/123" and "Not installed: App Store". A platform whose app is not set up shows "iOS app not configured" (or Android) with an amber dot.
  • Social card: roughly how the link looks when shared in a chat app.

Opens in your app at

The path your app's router receives, for example /product/123. This is the link's deep link path.

  • Must start with /. Up to 2048 characters.
  • Leave it as / to open the app's start screen.

The SDK hands this path to your app as link.path (and link.route). See Receiving links.

The domain and slug that make up the short URL.

  • Domain: your project's link domain. If the project has more than one verified domain (for example a custom domain), pick one from the list. Otherwise it is shown read only. Only verified domains can hold links.
  • Slug: the part after the domain. A random 7 character slug is filled in for you. Click Random slug (the dice button) for a new one, or type your own.

Slug rules:

  • 1 to 64 characters: letters, numbers, _ and -, starting with a letter or number.
  • Random slugs avoid look-alike characters (0, O, 1, l, I) so they are easy to type by hand.
  • These slugs are reserved: .well-known, api, v1, favicon.ico and robots.txt (for example "api" is reserved, pick another slug).
  • A slug is unique per domain across test and live. A taken slug shows shop-acme.golander.link/summer-sale is already taken.

If the project has no link domain at all, saving shows "This project has no link domain yet. Add one under Domains."

Title

Optional, up to 200 characters, for example "Summer sale, Instagram story". Titles help you find links in the table and appear on link pages. The title is also the fallback for the social preview title.

Parameters

Optional key and value pairs your app receives with the link, like productId or referrer. Click Add for a new row, and the X button to remove one.

  • Rows with an empty name are ignored.
  • Values are saved as text.
  • The SDK merges these with any query parameters on the opened URL, and the URL's values win. See Receiving links.

When the app is not installed

Three optional fallback URLs:

  • iOS: where iPhone and iPad users go when the app is not installed.
  • Android: where Android users go when the app is not installed.
  • Web and desktop: where desktop users go, and the last resort for phones.

Each must be a full http:// or https:// URL. As the dialog says, leave iOS and Android empty to send people to the store listing from Platforms.

Here is the order Lander follows when the app is not installed, or when the click reaches the edge for any other reason:

PlatformGoes to
iOSiOS fallback, else the App Store (when your iOS app has an App Store ID), else the web fallback, else a Lander landing page
AndroidAndroid fallback, else the Play Store (your Play Store URL, or one built from the package name), else the web fallback, else a Lander landing page
DesktopWeb fallback, else a Lander landing page
Link preview botsA small page with the link's social preview tags

When the app is installed and your Universal Links or App Links are verified, the operating system opens the app directly and none of these apply. Fallback URLs are screened against Lander's blocklist when you save. A blocked destination fails with an error naming the blocked host.

The iOS row has one more option: with the "Continue in app" page turned on in your project's deferred deep linking settings, iOS users see a small page with an App Store button and an "open the app" button instead of a direct App Store redirect. See Deferred deep linking.

Campaign, Channel and Tags

Optional labels for reporting and filtering:

  • Campaign: up to 100 characters, for example summer_2026. Shown in the Links table, filterable, and the basis of the Campaigns page.
  • Channel: up to 100 characters, for example instagram.
  • Tags: a comma separated list, for example promo, q3. Up to 20 tags of up to 50 characters each.

Campaign and channel are also sent to your app with the link (link.campaign and link.channel in the SDK).

UTM parameters

Click UTM in the dialog footer to add the five standard fields: Source, Medium, Campaign, Term and Content. They are stored as the parameters utm_source, utm_medium, utm_campaign, utm_term and utm_content, and "sent to your app with the other parameters, so campaign attribution survives the install".

Remove the section with its X button, which also clears the values.

Expiration

Click Expiration to add Stops working after, a date and time in your local time zone. After that moment the link counts as expired:

  • The short link answers with a "Link no longer available" page (HTTP 410) instead of redirecting.
  • The SDK gets a link_expired answer instead of the link.
  • The Links table shows it as Expired.

Remove the section to clear the expiry.

Social preview

Click Social preview to control the card chat apps and social networks show when the link is shared:

  • Title: up to 200 characters. Falls back to the link title.
  • Description: up to 500 characters.
  • Image URL: a full http:// or https:// URL to the image.

Lander serves these as Open Graph tags to crawlers and link preview bots. People still get redirected as usual.

Only shown when editing. Turn Link enabled off to stop a link without deleting it. A disabled link answers with the same "Link no longer available" page as an expired one, but keeps its settings and click history, and you can turn it back on at any time.

Choose Edit from a row's More actions menu, or click Edit on the link page. The dialog is titled Edit link ("Changes are live at the edge as soon as you save.") and has every field from above plus Link enabled. Click Save changes or press ⌘ ⏎.

You can change anything, including the slug and domain. Changing either changes the short URL, so the old URL stops working. Printed QR codes and links you already shared use the old URL, so think twice before renaming a live link.

The link stays in the environment it was created in.

QR codes

Choose QR code from a row's menu, or QR on the link page. The dialog shows the code and the short URL, with:

  • Copy link
  • SVG: downloads <slug>-qr.svg
  • PNG: downloads <slug>-qr.png

Downloads are print ready: 1024 by 1024 pixels, dark on white, with the standard quiet zone around the code. A scan is a normal visit to the short link, so it counts as a click on that link.

Choose Delete from a row's More actions menu. The confirmation reads:

Delete this link?
<domain>/<slug> stops working right away and its click history is removed.
Disable it instead if you may need it again.

Click Delete link to confirm. This cannot be undone. Lander has no archive: to retire a link but keep its history, turn off Link enabled instead.

Export to CSV

CSV export needs the Growth plan or higher; on Starter the button shows a lock and opens Billing.

Click Export CSV on the Links page to download every link in the current environment (filters in the table do not apply). The file is named lander-<project>-<env>-links-<YYYY-MM-DD>.csv and has these columns:

short_url, domain, slug, title, status, deep_link_path, params, campaign, channel, tags,
ios_fallback_url, android_fallback_url, web_fallback_url, expires_at, clicks_30d, created_at

status is active, disabled or expired. params is JSON. tags are separated by ;. clicks_30d is the last 30 days of clicks.

Limits

  • Any project member can create, edit and delete links, marketers included.
  • A project can create up to 1000 links in any rolling 24 hours. Contact support if you need more.
  • Links can also be created from your server with a secret key, or from inside your app with the SDK. See API keys and Creating links.

Next steps

On this page