Elido
Elidoの全機能
Pro & Business

スマートリンク. One link, many destinations.

デバイス、地理情報、言語、時間帯に基づいてルーティングを行います。ルールはエッジPOPで評価され、最初に一致したものが適用されます。一致しない場合はデフォルトの遷移先へリダイレクトされます。通常のキャッシュヒット時のリダイレクトに追加費用はかかりません。

  • First-match rule engine at the edge
  • Sub-millisecond rule evaluation
  • A/B variants with z-test confidence
  • Time-windowed campaigns in UTC
elido.me/launch
elido.me/xDE · mobileFR · anyiOS · anyfallback/de/preise/fr/tarifsApp Store/en/pricing
Edge eval < 1 msfirst-match
5
リンクあたりのルール数 (Pro)
<90s
エッジへのルール反映時間
z-test
A/Bテスト信頼度モデル
6
ルールの判定次元

How it works

The redirect path, end to end

Smart-link rules are evaluated inside the same edge process that answers the redirect — there is no separate rules service to call. A cache-hit redirect with rules is indistinguishable from a plain one in latency.

  1. Step 1

    User clicks

    elido.me/x

    From email, QR, social, anywhere.

  2. Step 2

    Nearest edge POP

    Frankfurt · 4 ms

    Anycast routes to Hetzner FRA / OVH SGP / Hetzner ASH.

  3. Step 3

    Rule eval

    L1 cache · 0.2 ms

    First-match wins, no origin round-trip.

  4. Step 4

    302 → destination

    elido.me/x → /de/preise

    Click event fired async to Redpanda.

Rule builder

Rules that read like English

Every rule combines up to six dimensions — geo, device, OS, language, referrer, and time — joined with AND. Drag to reorder; first match wins. The fallback is always required, so a rule set never produces a 404.

  • Country
    ISO 3166-1 alpha-2 lists, e.g. DE, AT, CH
  • Device & OS
    iOS, Android, Windows, macOS, Linux
  • Language
    Accept-Language with BCP-47 fallbacks
  • Time window
    UTC range with day-of-week filter
  • Referrer
    Exact or wildcard host match
Routing rules
elido.me/launch
  • 1
    ifCountry: DE, AT, CHANDDevice: Mobile
    /de/preise
    ⋮⋮
  • 2
    ifCountry: FR, BEANDLanguage: fr-*
    /fr/tarifs
    ⋮⋮
  • 3
    ifOS: iOS
    App Store · apps.apple.com/...
    ⋮⋮
  • 4
    ifTime: Mon–Fri 09–17 UTCANDReferrer: newsletter.*
    /promo/q2
    ⋮⋮
  • else
    /en/pricing— fallback (required)
4 active rules · evaluated in orderLive · propagating to edge

Real-world routing

Same short link. Different landing per visitor.

The two patterns we see most: device-fork to native app stores with a desktop fallback, and country-fork for localised pricing pages. Both compose with A/B splits on the fallback path.

iPhoneiOS · Safari
elido.me/launch
Open in App Store
apps.apple.com/app/elido
Get the app
PixelAndroid · Chrome
elido.me/launch
Open in Play
play.google.com/store/apps/elido
Install
DesktopmacOS · any browser
elido.me/launch
elido.app/launch
Web onboarding, no install.
Continue

Country routing in production

An EU SaaS routing brand.app/pricing by visitor country. The fallback (everyone else) lands on the English page.

  • DE · Germany
    /de/preise
  • FR · France
    /fr/tarifs
  • ES · Spain
    /es/precios
  • IT · Italy
    /it/prezzi
  • PL · Poland
    /pl/cennik
  • NL · Netherlands
    /nl/prijzen
  • SE · Sweden
    /sv/priser
  • UA · Ukraine
    /uk/tsiny
  • · Everyone else
    /en/pricing
A/B split — elido.me/launch
7 days · 4,009 clicks
AA · /pricing-v1
1,842 clicks · CTR 4.1%
weight 50%45.9% of traffic
BB · /pricing-v2
Leading
2,167 clicks · CTR 4.8%
weight 50%54.1% of traffic
Z-test confidence
94%
Sample floor
200 / variant
Lift over A
+17.1%

A/B testing

Split traffic. Watch confidence climb.

Up to 5 variants per link with weighted or round-robin splits. Each variant tracks its own click time-series. The dashboard surfaces a two-proportion z-test as a directional indicator — we don’t hide the math.

  • Weighted (sums to 100) or round-robin
  • Per-variant click time-series
  • Z-test confidence over a configurable sample floor
  • Winner-picks-all locks the link to the leading variant
  • Composes with rules — A/B applies to the fallback path

What you can do

  • ISO国コードとIANAタイムゾーンの一致
  • モバイル / タブレット / デスクトップのターゲティング
  • 曜日フィルター付きの時間枠設定
  • パワーユーザー向けのUser-Agent正規表現
  • リンクごとのクリック上限設定 (max_clicks)
  • 重み付けまたはラウンドロビンによるA/Bバリアント

スマートリンク・ルールエンジンの仕組み

地理情報によるルーティングやデバイスターゲティングは当然の機能です。以下では、基本的な実装では対応が難しいエッジケースへの対応について解説します。

ルール評価モデル
01

最初に一致したルールを適用、エッジPOPで評価(オリジンへの通信なし)

ルールはRedis(L2キャッシュ)に保存され、リダイレクトを実行する同一プロセス内のedge-redirectサービスによってリクエストごとに評価されます。個別のルールエンジンを呼び出す必要はありません。ルールの評価による遅延は、キャッシュヒット時のリダイレクトにおいて1ミリ秒未満です。評価順序はダッシュボードまたはAPIで設定した順序に従い、ドラッグによる並べ替えやAPIのorderフィールドで調整可能です。最初に一致したルールが適用されるため、具体的なルール(例:「モバイル + ドイツ + 月曜朝 → プロモーションページ」)を先に配置し、包括的なルールを最後に配置してください。どのルールにも一致しない場合は、必須項目であるデフォルトの遷移先(フォールバック)へ誘導されます。ルールの変更はapi-coreからRedisへ30秒以内に反映されます。ルールを含むリンクに対するエッジのLRUキャッシュのTTLは60秒であるため、全体で90秒以内に反映が完了します。

ルールの判定次元
02

6つの次元:地理情報、デバイス、OS、言語、リファラー、時間

各ルールは、1つの条件で最大6つの次元を組み合わせることができます。地理情報:ISO 3166-1 alpha-2国コードリスト(1つまたは複数)。デバイス:User-Agentから判別されるモバイル、タブレット、デスクトップ。OS:User-Agentから判別されるiOS、Android、Windows、macOS、Linux。言語:Accept-Languageヘッダーとの一致(BCP 47言語タグ。「fr」は「fr-FR」や「fr-CA」などに一致)。リファラー:Refererヘッダーのドメインとの完全一致またはワイルドカード一致(SNS、メール、ダイレクト流入の振り分けに有効)。時間:UTC時間枠と任意の曜日フィルター(例:「月〜金 09:00〜17:00 UTC」)。パワーユーザー向けには特定のブラウザバージョンやクローラーを対象としたUser-Agent正規表現も利用可能です。これはデフォルトではダッシュボードには表示されず、API経由でのみ設定できます。1つのルール内の複数次元はAND条件で結合されます。リンクあたりのルール数はProプランで最大5つ、Businessプランでは無制限です。

A/Bテスト
03

z検定による信頼度付きの重み付けA/Bテスト — 1リンクにつき最大5つのバリアント

1つのリンクで最大5つの遷移先バリアントを設定できます。トラフィックは重み付け(各バリアントの合計が100になるように設定)またはラウンドロビンで分割されます。各バリアントは個別にクリックの時系列データを追跡するため、時間帯による効果の変動を確認できます。信頼度モデルにはクリックレベルでの2比率z検定を採用しています。両方のバリアントが最小サンプル数(デフォルトは各200クリック、最大1,000まで設定可能)に達すると、ダッシュボードに「バリアントAがX%の信頼度でリード」と表示されます。数値は生のz検定信頼度であり、逐次検定の補正は行われません。A/Bテストとスマートリンクのルールは併用可能です。まずルールが評価され、どのルールにも一致しない場合にのみA/Bテストが適用されます。例えば、iOSユーザーは特定のページに誘導しつつ、それ以外のユーザーに対して2つの遷移先でA/Bテストを行うといった運用が可能です。「勝者を決定」ボタンを押すと、リードしているバリアントに固定され、他のバリアントは削除されます。この操作は取り消せません。

スケジュール設定されたルール
04

季節やイベントに合わせた時間枠指定ルール

時間ルールを使用すると、手動操作なしでルールの有効化・無効化をスケジュール設定できます。代表的な例として、ブラックフライデーの00:00 UTCからサイバーマンデーの23:59 UTCまでプロモーションページを有効にし、終了後は自動的に恒常的なページへ戻すといった運用が可能です。ルールはUTCで評価されるため、タイムゾーンに依存するキャンペーンの場合は設定時にUTCへ変換してください。スケジュールされたルールも、静的なルールと同様にエッジで評価されるため、オリジンへの通信は発生しません。ダッシュボードではスケジュールされたルールがタイムライン形式で表示され、重複も一目で確認できます。2つの時間枠ルールが重複し、両方に一致する場合は、順位インデックスが小さい(先に設定されている)方が優先されます。競合の自動検出機能はないため、設定時に重複を確認してください。

フォールバック・チェーン
05

フォールバック先の指定は必須 — ルール不一致による404エラーを防ぐ

すべてのスマートリンクには、フォールバック(デフォルトの遷移先)の設定が必須です。「ルールに一致しない場合にエラーページを表示する」というオプションはなく、フォールバックがセーフティネットとして機能します。フォールバック先には任意のURLを指定でき、Google Botなどのクローラーに対しても正規の遷移先として提示されます(インデックスの混乱を避けるため、既知のクローラーにはルールは適用されません)。また、リンクの有効期限(expires_at)やクリック上限(max_clicks)に対しても、ルールのフォールバックとは別に期限切れ専用の遷移先URLを設定できます。つまり、1つのリンクに「最大5つのルーティングルール」「不一致時のフォールバック」「期限切れ後の遷移先」「上限到達後の遷移先」を組み合わせて設定することが可能です。これらは整合性を保って動作します。詳細はガイドを参照してください。

本番環境でスマートリンクを活用しているチーム

現在、名称はプレースホルダーです。事例が公開され次第、実際の顧客名に更新されます。

40ミリ秒の遅延が発生していた自前のNode.jsリダイレクトサービスを廃止しました。Elidoのスマートリンクはエッジでルールを評価するため、リダイレクト速度は通常の短縮URLと変わりません。おかげで600行ものコードを保守する手間が省けました。

B
B2Cアプリ成長チーム、マドリード
リードエンジニア

季節限定コンテンツに時間枠ルールを適用することで、事前にキャンペーンを設定して安心して休めるようになりました。以前は深夜2時に手動でリダイレクトを変更していましたが、今ではスケジュール設定をして、翌朝結果を確認するだけです。

メディアグループ・キャンペーンチーム、ワルシャワ
デジタルキャンペーンマネージャー

ダッシュボードにA/Bテストの信頼度が表示されるようになり、スタンドアップでの『それは統計的に有意か?』という議論がなくなりました。z検定の数値を確認し、閾値を決めるだけで、次のステップへ進めます。

S
SaaSプラットフォーム・プロダクトチーム、リスボン
プロダクトマネージャー

Elidoのスマートリンク vs Bitly / Rebrandly の地理情報リダイレクト

BitlyとRebrandlyも地理情報ルーティングを提供していますが、ルールの深さ、評価の遅延、A/Bテスト機能において違いがあります。

FeatureElidoBitlyRebrandly
ルールの判定次元地理情報、デバイス、OS、言語、リファラー、時間地理情報 + デバイス(制限あり)地理情報 + デバイス
リンクあたりのA/Bバリアント最大5つ — 重み付け + z検定信頼度利用不可利用不可
エッジでのルール評価はい — オリジン通信なしエッジからのリダイレクト。ルール評価はプランによるプランによる
ルールの反映時間90秒以内非公開非公開
スケジュール / 時間枠指定ルールはい — UTC時間枠、曜日フィルター利用不可利用不可
リンクあたりの最大ルール数Proは5つ、Businessは無制限地理情報:1リンクにつき1つプランによる
フォールバック先必須、カスタマイズ可能デフォルトの遷移先デフォルトの遷移先
クリック上限はい — リンクごと、バリアントごと利用不可利用不可

スマートリンクに関するFAQ

ルールの変更はどのくらいで反映されますか?

保存後30秒以内にapi-coreからRedisへ反映されます。edge-redirectサービスは、ルールが設定されたリンクに対してTTL 60秒のインプロセスLRUキャッシュを保持しています。最悪の場合でも、反映は90秒以内に完了します。ライブイベントの切り替えなどで即時反映が必要な場合は、APIのキャッシュクリアエンドポイントを使用してRedisを即座に無効化できます。これにより、エッジのLRUキャッシュミスが発生し、数秒以内にRedisから最新のルールが取得されます。

2つのルールが同一リクエストに一致した場合はどうなりますか?

最初に一致したルールが適用されます(順序インデックスが最も小さいもの)。ルールの競合検出やマージ機能はありません。ルールの順序を正しく設定し、時間枠や国リストの重複を避けるのはユーザーの責任となります。ダッシュボードのプレビューツールを使用してテストリクエストをシミュレートし、どのルールが適用されるかを確認できます。

Google Botなどのクローラーにもルールは適用されますか?

いいえ。既知のクローラーのUser-Agentパターンはルール評価から除外され、常にフォールバック先へ誘導されます。これは、スマートリンクのルーティングが検索エンジンのインデックス動作に影響を与えたり、意図せず地域固有のコンテンツをクローラーに提供したりするのを防ぐためです。除外リストは、エッジでオーガニックトラフィックとボットトラフィックを分類する際に使用されるものと同一です。

z検定の信頼度はどのように計算されますか?

クリックレベルでの2比率z検定を使用しています。帰無仮説は「両方のバリアントが同じクリック率を持つ」というものです。信頼度は「1 - p値」をパーセンテージで表したものです。複数バリアントに対するボンフェローニ補正は適用されていないため、2つを超えるバリアントを比較すると偽陽性率が高まります。厳密な実験が必要な場合は、生のクリックデータをエクスポートしてデータウェアハウスで有意差検定を行ってください。ダッシュボードの数値は、決定的な結論ではなく、あくまで方向性を示す指標として提供しています。

特定のリファラーに基づいてルーティングすることは可能ですか?

はい。リファラードメインの一致は6つの判定次元の1つです。特定のドメイン(例:'newsletter.example.com')やワイルドカード('*.example.com')を指定できます。判定にはRefererヘッダーを使用しますが、HTTPSのリファラー削除(referrer-stripping)により、外部のHTTPSサイトから常にリファラーを取得できるとは限りません。特にRefererが欠落しがちなメール内のリンクなどでは、地理情報やデバイスルールに比べて信頼性が低くなります。

無料プランでもスマートリンクは使えますか?

いいえ。スマートリンクはProおよびBusinessプラン専用の機能です。無料プランのリンクは単一の遷移先にのみリダイレクトされ、ルーティングルールは設定できません。無料プランでもルール設定画面のプレビューは可能ですが、アップグレードするまでエッジでの評価は行われません。

バリアントごとの分析データはありますか?

はい。A/Bテストの各バリアントには、リンク分析画面で個別のクリック時系列データが表示されます。ただし、地理情報、デバイス、リファラーの内訳はリンク全体で集計されます。バリアントごとの属性内訳はBusinessプランのロードマップに含まれています。

スマートリンクとキャンペーンA/Bテストの違いは何ですか?

スマートリンクのA/Bテストはリンク単位で行われ、1つの短縮URLに対して異なる遷移先にトラフィックを分散させます。一方、キャンペーンA/Bテストはキャンペーン単位で行われ、同じ遷移先に対して2つの異なる短縮URL(異なるスラッグ)を発行し、どちらのスラッグがより多くのクリックを獲得したかを比較します。遷移先の検証にはリンク単位のA/Bテストを、クリエイティブやスラッグの検証にはキャンペーン単位のA/Bテストを使用します。

試してみませんか?

まずは無料プランから。カスタムドメインが必要になったら、いつでもアップグレードできます。

スマートリンク — 1つの短縮URLで、複数の遷移先へ。 · Elido