Mobile Development 22 min read

Boosting Deep Link Success 40% for Double 11: Inside Taobao’s Web‑to‑App Architecture

This article explains how Taobao redesigned its web‑to‑app deep‑link system, introduced a lightweight JavaScript SDK, standardized protocol configurations, and built a control platform to improve deep‑link success rates by up to 40% during the Double 11 shopping festival, while providing detailed metrics and future optimization directions.

Taobao Frontend Technology
Taobao Frontend Technology
Taobao Frontend Technology
Boosting Deep Link Success 40% for Double 11: Inside Taobao’s Web‑to‑App Architecture

Overview

As e‑commerce competition intensifies, acquiring new users and re‑engaging churned users increasingly relies on directing traffic from external ads to mobile apps via H5 pages, which requires web‑to‑app (deep link) technology.

Web Deep‑Link Chain

Web deep‑linking moves a user from an external environment into the client app. The process involves a deep‑link protocol, which can be a custom scheme or a platform standard such as iOS Universal Links, Android App Links, or Android Intent.

Web deep‑link path
Web deep‑link path

Protocol Types

Custom scheme : e.g. myapp://path/to/content. Requires developer‑implemented fallback when the app is not installed.

Platform standard :

iOS Universal Links : a normal HTTPS URL (e.g. http://domain.com/xxx) that opens the app if installed, otherwise loads the web page.

Android App Links : the Android counterpart of Universal Links.

Android Intent : wraps a custom URI in an intent to bypass Chrome restrictions.

When the protocol carries parameters (e.g. myapp://detail/123 or http://domain.com/detail/123), the app can open a specific page after launch. This is commonly called a Deep Link .

Calling the Protocol

Deep links can be triggered by user actions or JavaScript:

Creating an iframe that navigates to the scheme.

Simulating a click on an A tag.

Setting location.href to the scheme URL.

Two interaction modes exist:

Automatic : the SDK runs on page load and attempts to open the app.

Manual : developers listen for user actions and invoke the SDK API.

Compatibility varies; for example, iOS 9+ disables iframe navigation, so developers must fall back to click simulation or location.href.

Taobao Deep‑Link System Overview

The system consists of three parts:

JS SDK : embedded in external H5 pages to initiate deep linking.

Client SDK : handles in‑app restoration.

Control Platform : configures strategies, links H5 pages to app destinations, and provides data dashboards.

SDK Design Principles

Small bundle size and simple API.

Compliance with security and production standards, including gray‑release and error monitoring.

Clear separation of business logic and core SDK code.

Fast onboarding of new apps.

Continuous optimization of deep‑link methods.

Standardized data collection for effectiveness analysis.

Code Organization

-src
  |-utils      // helper functions
  |-methods    // implementations of iframe, A‑link, location calls
  |-biz        // business‑specific rules (e.g. parameter injection, logging, failure handling)
  |-index.js   // entry point

Developers only need to include the SDK script and configure a business ID; the SDK self‑executes and remains backward compatible.

Lifecycle Hooks

start

– initialization. sendRequest – fetch configuration. getResponse – receive configuration. genParams – assemble deep‑link parameters. evoke – perform the deep link. evokeFailed – handle failure (e.g., fallback to download page).

Only genParams, evoke, and evokeFailed are exposed to business code, preventing unauthorized modification of core stages.

SDK execution flow
SDK execution flow

Protocol Configuration

Each app’s scheme can be described in JSON and combined with a template to generate the final URI:

{
  "name": "appName",
  "protocol": "myapp",
  "path": "path/to/content",
  "params": {
    "key1": "value1",
    "key2": "value2"
  }
}

Universal Links, App Links, and Intent schemes follow the same pattern.

Optimization and Metrics

The SDK collects a unique identifier (user ID + timestamp) at initialization and propagates it through the deep‑link to correlate web and app logs. Metrics include deep‑link success rate, funnel drop‑off at each stage, and UV/ PV analysis.

Data collection diagram
Data collection diagram

Results from Double 11

After redesigning the architecture, the new SDK reduced bundle size from 26 KB to 8 KB (gzip) and cut load time from ~500 ms to ~200 ms, leading to a 25‑40 % increase in deep‑link success across key scenarios. New features such as declarative deep linking and global A‑link support further expanded coverage to partner apps like Ele.me and Alipay.

Future Work

Zero‑click restoration (deferred deep linking) with third‑party providers.

Dedicated dashboards for each business.

Improved debugging workflow for rapid issue isolation.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

JavaScriptuser growthdeep linkingmobile SDKweb to app
Taobao Frontend Technology
Written by

Taobao Frontend Technology

The frontend landscape is constantly evolving, with rapid innovations across familiar languages. Like us, your understanding of the frontend is continually refreshed. Join us on Taobao, a vibrant, all‑encompassing platform, to uncover limitless potential.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.