Marketers & growth teams

Smart routing rules, geo and device targeting, link A/B testing

A single branded short link can send different visitors to different destinations based on country, device OS, device type, or time window - and run weighted A/B experiments on the same URL without a separate redirect stack.

  • Route by country, device type, OS, or time window - first matching enabled rule wins
  • Weighted A/B experiments with sticky assignment, manual lifecycle, and no auto-winner logic
  • Preview routing decisions in the simulator before launch - no guessing what rule fires for a given visitor
Routing + experiment preview

Route by context, run weighted experiments, fall back to the canonical destination.

Live
Routing rules
Country = DEde.example.com/launch
Device type = Mobilemobile.example.com/launch
OS = iOSapps.apple.com/app-id
Experiment
Running
Variant A60%
Control landing
Variant B40%
New campaign page
Fallback (no rule matches)
example.com/launch

A single URL works fine when every visitor should reach the same destination. It breaks down the moment your audience spans multiple countries, devices, or campaign stages. The common workarounds - maintaining separate short links per region, manually swapping destinations, or running routing logic outside your link platform - each fragment the picture: analytics split across objects, campaign URLs multiply, and changes require coordination across teams.

Nimriz smart routing solves this at the redirect layer. Each link holds an ordered list of decisions. A decision is either a Route (one destination, optional conditions, enable or disable) or an Experiment (weighted variants, optional conditions, explicit lifecycle). At redirect time, the evaluator walks the list in order and returns the first matching enabled decision. If nothing matches, the link's default destination is used. The evaluation is deterministic: the same visitor context always produces the same outcome for a given ruleset.

Weighted A/B experiments run on the same short link as geographic and device routing rules. Routing rules fire first in priority order; the experiment handles whatever traffic is not caught by an earlier rule. Sticky cookie assignment keeps each visitor in the same variant for the duration of a run, so behavioral comparison across variants stays meaningful. Winner selection and promotion are always manual - Nimriz records which variant each click was attributed to, but does not claim statistical significance or auto-advance a variant.

Routing rules and A/B experiments are available on supported plans where enabled for your workspace. Deep links - routing visitors directly into a native iOS or Android app - are a destination option available on account-exclusive verified branded domains that are fully configured for app association. Shared or Nimriz built-in domains are not eligible for deep links.

Who it is for

Global and lifecycle marketer

Needs one short link to serve country-specific landing pages, localized offers, or region-gated content without creating and tracking a separate URL per market.

Mobile and app growth team

Needs to route mobile visitors directly into iOS or Android apps via deep links on branded domains, with a deterministic fallback to the app store or a web page when the app is not installed.

Performance marketer running A/B tests

Needs to split campaign traffic across two or more destination variants with explicit weights, sticky assignment, and variant-level click attribution - without setting up a parallel redirect infrastructure or creating multiple campaign URLs.

What you get

Context-based routing

Route visitors by country (ISO-2 code), device type, device OS, or UTC time window. Conditions on the same rule are AND-matched, so you can target German iOS mobile visitors during a specific launch window using a single rule. The first matching enabled rule wins; visitors who match no rule are sent to the link's default destination.

Weighted A/B experiments

Split traffic across two or more destination variants using explicit percentage weights - no equal-split constraint. Each visitor is assigned once via sticky cookie so they see the same variant on repeat visits, keeping behavioral measurement consistent. Promotion is always a deliberate manual choice: Nimriz does not auto-select a winner or calculate statistical significance.

Preview before launch

The routing simulator lets you enter a country code, device OS, device type, and UTC timestamp and see exactly which rule would win against your current draft before a single visitor is redirected. This works both during link creation and for edits on a live link, so you can verify rule order without guessing what condition fires for a given context.

Deliberate experiment lifecycle

Experiments move through explicit states: draft, scheduled, running, paused, completed, and promoted. You can pause and resume, stop on a schedule, or promote a winner to a permanent route - all under manual control. Pausing preserves historical data and stops traffic splitting without deleting the experiment definition.

How it works

One link, adaptive destinations

Routing decisions are evaluated in order at redirect time. The first matching enabled decision wins; traffic that matches no decision goes to the link's default destination. Experiments and routing rules coexist on the same link.

1
Plan

Rules are ordered by priority (lower number first). The evaluator stops at the first matching enabled rule, so rule order is the primary control over which visitors go where.

2
Publish

Routing only runs after earlier gates pass: expired links, password-locked links, and disabled or flagged links stop the redirect chain before routing is evaluated.

3
Measure

The routing simulator lets you enter country, device OS, device type, and a UTC timestamp to see exactly which decision would win against your current draft - before any real traffic is affected.

  • Sticky A/B assignment is cookie-backed and bound to the specific experiment run, so clearing cookies or switching devices starts a fresh assignment - and restarting an experiment does not bleed old cookies into the new run.
  • Experiment click events are attributed to stable variant keys, not display labels, so renaming a variant does not rewrite historical analytics.
  • Redirect type defaults to 302 so rule changes take effect for all future visitors without browser-cached destinations getting in the way.
Example
Rule 1 (priority 1) - Country = DE
brand-a.to/launch → de.brand-a.com/launch
Rule 2 (priority 2) - OS = iOS
brand-a.to/launch → apps.apple.com/brand-a
Experiment (remaining traffic)
60% → example.com/v1 (control)
40% → example.com/v2 (challenger)
Fallback (no rule matches)
brand-a.to/launch → example.com/launch (default destination)

Setup

  1. 1
    Open the routing editor for your link
    Navigate to the link detail page in the dashboard and select the Routing tab. You can also configure routing during link creation. The editor shows the current ordered list of decisions and lets you add, reorder, enable, or disable individual rules.
  2. 2
    Add ordered routing rules by country, device, OS, or time
    Click Add rule, choose your conditions (country, device type, device OS, UTC time window - or leave conditions empty for a catch-all), and set the destination URL. Add as many rules as your plan allows. Drag to reorder: put the most specific rules at the top so they are evaluated before broader ones. Disable any rule you want stored but not evaluated without deleting it.
  3. 3
    Add a weighted A/B experiment
    Click Add experiment, give it a name, and add variant destinations with explicit traffic weights that sum to 100%. Optionally add targeting conditions to limit the experiment to a specific country, device, or time window. Set an optional schedule with a start and end time in UTC, or leave scheduling blank and launch and stop manually.
  4. 4
    Preview in the routing simulator
    Click Preview or Simulate in the Routing tab. Enter a country code, device OS, device type, and a UTC timestamp that represents a visitor context you want to verify. The simulator evaluates your current draft rules in the same order as the live redirect path and shows you which decision wins and why. Adjust rule order or conditions before publishing if the outcome is unexpected.
  5. 5
    Save and publish - then manage experiments manually
    Save the ruleset. For experiments, click Launch to move from draft to running (or scheduled, if a future start time is set). Monitor variant performance in the link analytics view. When you are ready to end the experiment, click Promote to choose a winning variant - Nimriz will create a permanent route from that variant and mark the experiment as read-only history.

What good looks like

Without smart routing

  • One static URL sends every visitor to the same destination regardless of country or device.
  • Regional campaigns require separate short links per market, splitting analytics and multiplying URLs to manage.
  • A/B testing needs a parallel redirect tool or manual destination swaps that break in-flight measurement.
  • Destination changes affect all visitors immediately - no variant isolation, no sticky assignment.
  • No way to verify what destination a given visitor context will hit before traffic is live.

With Nimriz smart routing

  • One branded short link holds ordered routing rules for every country, device, and time context you need.
  • A weighted A/B experiment runs on the same link, splitting remaining traffic with sticky assignment.
  • Variant-level click analytics are attributed to stable keys so renaming a variant never rewrites history.
  • The routing simulator lets you verify exactly which rule wins for any country, device, OS, and time input before going live.
  • Promote a winning variant to a permanent route in one click - the experiment becomes read-only history.

Same branded URL, deterministic routing, and controlled A/B measurement - without a separate redirect stack.

Frequently asked questions

Which conditions can I use in a routing rule?
Supported conditions are: country (ISO 2-letter code, e.g. US, DE, GB), device OS (ios, android, windows, macos, linux), device type (mobile, tablet, desktop), and UTC time window (a date and time range evaluated in UTC). Multiple conditions on the same rule are AND-matched - all must be true for the rule to fire. Language targeting, audience or segment targeting, and IP or ISP targeting are not supported.
What is the rule evaluation order, and which rule wins?
Rules are evaluated in strict order from lowest priority number to highest. The first enabled rule whose conditions all match the incoming request wins, and evaluation stops there - subsequent rules are not checked. Disabled rules are stored and visible in the editor but are always skipped by the evaluator. To change which rule fires for a given visitor context, reorder the rules so the rule you want to win is higher in the list.
What happens if no routing rule matches a visitor?
When no enabled rule matches, Nimriz uses the link's explicit default web destination - the canonical URL you set when creating the link. There is no silent failure: every request that reaches routing evaluation either exits on a matching rule or falls through to the default destination.
How does the weighted A/B split work, and will Nimriz pick a winner automatically?
Each variant in an experiment is assigned an explicit traffic weight (a percentage). Nimriz assigns each new visitor to a variant according to those weights and records the assignment in a cookie so the same visitor always sees the same variant on repeat visits within the same run. Nimriz does not automatically select a winner, calculate statistical significance, or shift traffic toward a better-performing variant. All promotion decisions are manual: you review the click data, choose a variant, and click Promote.
What happens to sticky assignment when an experiment is paused, resumed, or restarted?
Pausing an experiment stops traffic splitting and preserves all historical click data. Resuming keeps the current run and sticky assignments intact - as long as the experiment definition has not changed materially. If the definition has changed materially, resuming starts a fresh run with a new run key, which means old sticky cookies no longer apply. This prevents bleed between runs. Clearing cookies also resets assignment for that browser.
What are the requirements for using deep links?
Deep links are only available on account-exclusive verified branded domains that are ready for traffic and fully configured for mobile app association. Nimriz built-in domains and shared domains cannot be used for deep links because app association files are host-wide and cannot safely represent multiple brands. The domain must have a valid iOS bundle ID and Apple Team ID, and/or an Android package name and SHA-256 signing key fingerprint configured in domain settings. Even when all configuration is complete, the edge cannot know whether a visitor has the app installed: Nimriz uses a deterministic fallback order (app target, then store fallback, then web fallback) for every deep-link action.
Are routing rules and A/B experiments available on all plans?
Routing rules and A/B experiments are plan-gated and also require the feature to be enabled for your workspace. Use "where enabled for your workspace" as the availability expectation. Deep links carry the same gating and additionally require a verified, ready, account-exclusive branded domain. Check your plan details or contact support to confirm availability for your workspace.
Can I save routing rules via the API?
Yes. Send a POST request to /api/links/routing-rules with the full ordered ruleset for the link. The API accepts the same ordered decision model as the dashboard editor. Supported actionType values are destination_override, ab_split, and deep_link. The first matching enabled rule in the saved payload wins at redirect time, consistent with dashboard-authored rules.

Related use cases

Deeper reading

Ready to get started?

Create your account and start with the Starter workflow. Compare plans when you need higher limits or supported-plan capabilities.