---
title: Web SDKs from MMPs: npm and Script Tags Compared
description: Which MMPs publish a web SDK for web-to-app and web attribution: npm package or script, licence and docs for 9 vendors, checked 2 Nov 2026.
url: https://mmpsdk.com/frameworks/web/
---

[Home](https://mmpsdk.com/) / [Frameworks](https://mmpsdk.com/frameworks/) / Web

# MMP SDKs for *Web*

Web SDKs from mobile measurement partners, for web-to-app flows and measuring a website next to the app: npm packages, script tags and docs.

**Short answer**

7 of the 9 MMPs tracked here publish an official Web SDK: Adjust, Airbridge, AppsFlyer, Branch, Kochava, Linkrunner and Singular. No Web SDK found for AppMetrica and Tenjin.

## Web pinout: one pin per MMP

Filled pins have an official SDK. Pins are in A to Z order.

- 1 [Adjust](https://mmpsdk.com/mmp/adjust/)
- 2 [Airbridge](https://mmpsdk.com/mmp/airbridge/)
- 3 [AppMetrica](https://mmpsdk.com/mmp/appmetrica/)
- 4 [AppsFlyer](https://mmpsdk.com/mmp/appsflyer/)
- 5 [Branch](https://mmpsdk.com/mmp/branch/)

**FW-WEB** **Web** 7 of 9 official

- 6 [Kochava](https://mmpsdk.com/mmp/kochava/)
- 7 [Linkrunner](https://mmpsdk.com/mmp/linkrunner/)
- 8 [Singular](https://mmpsdk.com/mmp/singular/)
- 9 [Tenjin](https://mmpsdk.com/mmp/tenjin/)

Official Vendor-documented Community only None found

## Web SDKs compared

Last checked 2 Nov 2026. Package, version and licence from npm and CDN; minimum OS from podspecs, Gradle files and vendor docs.

| MMP | Status | Package | Registry | Version | Licence | Minimum OS | Repo | Install docs | Notes |
|---|---|---|---|---|---|---|---|---|---|
| [Adjust](https://mmpsdk.com/mmp/adjust/) | Official | [@adjustcom/adjust-web-sdk](https://www.npmjs.com/package/@adjustcom/adjust-web-sdk) | npm | 5.8.3 | MIT | Not published | [Source](https://github.com/adjust/web_sdk) | [Install docs](https://dev.adjust.com/en/sdk/web) |  |
| [Airbridge](https://mmpsdk.com/mmp/airbridge/) | Official | [airbridge-web-sdk-loader](https://www.npmjs.com/package/airbridge-web-sdk-loader) | npm | 1.11.4 | MIT | Not published | Not public | [Install docs](https://help.airbridge.io/en/developers/web-sdk) |  |
| [AppMetrica](https://mmpsdk.com/mmp/appmetrica/) | None found | No package found |  |  |  |  |  |  | AppMetrica has no web SDK (Yandex Metrica is a separate web analytics product). |
| [AppsFlyer](https://mmpsdk.com/mmp/appsflyer/) | Official | AppsFlyer Web SDK (script snippet; no npm package documented) | Script snippet / GTM / Adobe Launch | Not published | Not published | Browser | Not public | [Install docs](https://support.appsflyer.com/hc/en-us/articles/43485611331473-Integrate-AppsFlyer-Web-SDK) | Installed as a script snippet or through a tag manager; AppsFlyer labels parts of it Beta. |
| [Branch](https://mmpsdk.com/mmp/branch/) | Official | [branch-sdk](https://www.npmjs.com/package/branch-sdk) | npm (also CDN script tag) | 2.90.2 | MIT | Browser | [Source](https://github.com/BranchMetrics/web-branch-deep-linking-attribution) | [Install docs](https://help.branch.io/developer-hub/web-basic-integration) |  |
| [Kochava](https://mmpsdk.com/mmp/kochava/) | Official | [kochava](https://www.npmjs.com/package/kochava) | npm (also script tag / GTM) | 3.7.1 | ISC (npm); Kochava terms (repo) | Not published | [Source](https://github.com/Kochava/web-kochavameasurement-releases) | [Install docs](https://support.kochava.com/web-sdk-integration/) | Separate kochava-angular package for Angular. |
| [Linkrunner](https://mmpsdk.com/mmp/linkrunner/) | Official | [@linkrunner/web (or CDN script https://cdn.linkrunner.io/web/v1/lr.js)](https://www.npmjs.com/package/@linkrunner/web) | npm + CDN | 0.1.17 | MIT | Not published | [Source](https://github.com/linkrunner-labs/web-sdk) | [Install docs](https://docs.linkrunner.io/sdk/web?utm_source=mmpsdk&utm_medium=referral&utm_campaign=frameworks-web) | Docs recommend the CDN script; npm package provides a typed Next.js component. |
| [Singular](https://mmpsdk.com/mmp/singular/) | Official | [singular-sdk](https://www.npmjs.com/package/singular-sdk) | npm | 1.4.12 | ISC | Browser | Not public | [Install docs](https://www.npmjs.com/package/singular-sdk) | Published on npm; no public source repository found. |
| [Tenjin](https://mmpsdk.com/mmp/tenjin/) | None found | No package found |  |  |  |  |  |  | No web SDK; Tenjin documents web-to-app attribution setups only. |

"Not published" means no primary source states the value; it does not mean there is no minimum. Registry and repo links are for reference.

## What the SDK needs from you

The setup steps that apply to any attribution SDK in a Web app. Each vendor datasheet lists that vendor's own requirements.

- **Install**
  A script tag (often through a CDN or Google Tag Manager) or an npm package for bundlers such as Next.js.
- **Consent**
  A web SDK may set first-party cookies or local storage. Check how it behaves before consent under your banner setup.
- **Web-to-app**
  Smart banners and buttons pass the web click into a deep link, so the install can be credited to the web visit.
- **Platform limits**
  No ATT prompt and no Play Install Referrer on the web. Matching a web visit to an app install relies on the link click carrying an identifier.
- **Deep links**
  Point web-to-app buttons at the vendor's links so deferred deep linking works after the store visit.
- **Coverage**
  Two of the nine vendors here publish no web SDK at all.

## Questions

**Which MMPs have an official Web SDK?**

7 of the 9 MMPs tracked here publish an official Web SDK: Adjust, Airbridge, AppsFlyer, Branch, Kochava, Linkrunner and Singular. No Web SDK found for AppMetrica and Tenjin.

**How do I install an MMP SDK in a Web app?**

Add the vendor's script tag or npm package to the site, then initialise it with your app or project key.

**Do I need a web SDK to attribute app installs?**

No. App installs are attributed by the mobile SDK. A web SDK adds web-to-app journeys and web conversions, such as a visitor who reads your site and then installs from a smart banner.

**Is a web SDK the same as a tracking link?**

No. A tracking link records a click and redirects. A web SDK runs on your site, records visits and events and can hand a visitor to the app store with a deep link.

**What is an MMP SDK?**

An MMP SDK is the library a mobile measurement partner asks you to add to your app. It records the first open, in-app events and deep link opens, and sends them to the MMP so installs can be matched to the ad or link that drove them.

**Is every MMP SDK open source?**

No. Many wrappers and SDKs are MIT licensed, but some native SDKs are proprietary: AppsFlyer's native iOS and Android SDKs, Kochava's SDKs and AppMetrica's Flutter plugin are published under proprietary terms. The licence column in each table shows what the registry or repository states.

## Other frameworks

- [FW-RN **React Native** npm install the vendor package, then run pod install in the ios folder. Autolinking wires up the native side. *9 of 9 official*](https://mmpsdk.com/frameworks/react-native/)
- [FW-FL **Flutter** flutter pub add the package, then check the iOS deployment target in the Podfile and minSdk in android/app/build.gradle. *8 of 9 official*](https://mmpsdk.com/frameworks/flutter/)
- [FW-EX **Expo** npx expo install the package, add its config plugin to app.json, then npx expo prebuild and run a development build. Expo Go cannot load these native SDKs. *6 of 9 official*](https://mmpsdk.com/frameworks/expo/)
- [FW-UN **Unity** Add the package by Git URL in Unity Package Manager or import the .unitypackage, then resolve native dependencies (often with EDM4U) before building for iOS and Android. *8 of 9 official*](https://mmpsdk.com/frameworks/unity/)
- [FW-CP **Capacitor** npm install the plugin, then npx cap sync to copy it into the iOS and Android projects. *4 of 9 official*](https://mmpsdk.com/frameworks/capacitor/)
- [FW-CD **Cordova** cordova plugin add the package, then rebuild both platforms. *7 of 9 official*](https://mmpsdk.com/frameworks/cordova/)
- [FW-IOS **iOS (native)** Add the Swift package in Xcode or the pod to your Podfile, then initialise the SDK early in the app's launch. *9 of 9 official*](https://mmpsdk.com/frameworks/ios/)
- [FW-AND **Android (native)** Add the artifact to your Gradle dependencies (and the vendor's Maven repository if it is not on Maven Central), then initialise the SDK in Application.onCreate. *9 of 9 official*](https://mmpsdk.com/frameworks/android/)
