Elido

Smart link rules (geo, device, time, language)

Send the same short URL to different destinations based on the visitor's country, device, time of day, or browser language.

3 min readUpdated 2026-05-15

What you'll configure

  • Priority-ordered rules per link using AND conditions across geo, device, OS, browser language, time window, and referrer.
  • A default destination that fires when no rule matches, so every visitor lands somewhere useful.
  • Per-rule analytics showing what percentage of visits each rule served, so you can verify your segmentation is working.

Smart link rules let you ship one short URL but route visitors to different pages depending on context. They're evaluated at the edge in under 1 ms — your redirect stays fast even with dozens of rules attached.

Open the targeting panel#

From any link's detail page, click Targeting. The panel lists every rule attached to the link in priority order. Rules higher in the list win.

You can drag-to-reorder, toggle a rule on/off without deleting it, and preview the resolved destination for a hypothetical visitor (country + device + time picker at the bottom of the panel).

Rule kinds#

Geo — match a visitor's country (or list of countries). Sources: MaxMind GeoIP2 City database, refreshed weekly. Accuracy is ~99% at the country level. You can also rule on continent (EU, NA, etc.).

Device — match a device class: mobile, tablet, desktop, or tv. Derived from the User-Agent header via a curated set of patterns.

OS — match the operating system: ios, android, macos, windows, linux. The same dataset that powers device detection.

Browser language — match the visitor's Accept-Language header. Useful when you want a single short link to fan out to per-language destinations.

Time window — open a different destination during a date range, or every weekday during business hours. Timezone is the link's workspace timezone (set in Settings → Workspace).

Referrer — match the inbound referrer host (twitter.com, linkedin.com, etc.).

Combining conditions#

Each rule is an AND of its conditions. To express OR, create multiple rules with the same destination. Example:

  • Rule 1 — country=DE, device=mobile → German mobile landing page.
  • Rule 2 — country=DE, device=desktop → German desktop landing page.
  • Default destination — English landing page (used when no rule matches).

The first matching rule wins. The default destination is what visitors hit when nothing matches.

Common patterns#

App Store routing. Detect iOS / Android and send to the respective store. Use the dedicated deep links feature instead if you want the link to open in the app when installed.

Per-country pricing pages. Country-based geo rules → /pricing/de, /pricing/uk, /pricing/us. Fall back to a global pricing page.

Campaign sunset. Add a time rule with a future end date: the link opens the campaign landing page until then, then flips to a "campaign ended" page.

Internal-vs-external. Combine an IP rule (matching your office network) with a non-default destination — staff who click the link get the internal portal, everyone else gets the public site.

Limits#

  • 50 rules per link (Pro).
  • 200 rules per link (Business).
  • Country lists are not counted as separate rules — one rule can target up to 250 countries.

Analytics#

Every redirect logs which rule matched. The link's Analytics → Rules tab shows the percentage of visits served by each rule, useful for measuring whether your geo segmentation is doing anything. If most of your visits hit the default destination, your rule order is probably wrong.

Troubleshooting#

My geo rule for Germany routes German visitors to the default. GeoIP misses for VPN users and some mobile carriers. Open the link's Analytics → Click log view and check the resolved country for sample visitors — if MaxMind reports Unknown or a different country, the rule won't match.

iOS visitors hit the Android rule. Reorder. The first matching rule wins, so if Android sits above iOS and both match a phone (some User-Agents do for hybrid testing), Android takes the visitor.

Preview shows the right destination but a real click goes somewhere else. The preview uses a synthetic User-Agent. Some real-world UAs are ambiguous; for example, some Samsung browsers report as Desktop despite being on a phone. If a specific user keeps getting the wrong destination, paste their UA into the preview to confirm.

Was this helpful?
Need more? Email the team - replies within one working day.Contact support