amplitude / Amplitude-JavaScript

JavaScript SDK for Amplitude
MIT License
316 stars 133 forks source link
amplitude amplitude-javascript amplitude-js analytics best javascript js sdk


[![Test](https://github.com/amplitude/Amplitude-JavaScript/workflows/Test/badge.svg)](https://github.com/amplitude/Amplitude-JavaScript/actions?query=workflow%3ATest) [![npm version](https://badge.fury.io/js/amplitude-js.svg)](https://badge.fury.io/js/amplitude-js) [![Bower version](https://badge.fury.io/bo/amplitude-js.svg)](https://badge.fury.io/bo/amplitude-js)

Announcement 📣

Amplitude is introducing a new TypeScript SDK for Browser. This new SDK provides improved developer experience, helps users instrument data more seamlessly and provide more control over data being instrumented using custom plugins.

To learn more about the new SDK, here are some useful links:

Amplitude JS/Web SDK

A JavaScript SDK for tracking events and revenue to Amplitude.

Amplitude and Ampli SDK

Ampli SDK is autogenerated library based on your pre-defined tracking plan. The Ampli SDK, is a lightweight wrapper over the Amplitude SDK that provides type-safety, supports linting, and enables features like input validation. The code replicates the spec in the Tracking Plan and enforces its rules and requirements. This repository is about Amplitude SDK. To learn more about Ampli SDK, please refer to the Ampli Browser and examples.

Installation and Quick Start

Demo Pages

Deprecated - React Native

As of >= v8.0.0, this SDK no longer has support for React Native. We recently released a new SDK focused on providing a React Native first approach to using Amplitude in cross-platform projects. Amplitude React Native SDK

Previously used amplitude-js and looking to migrate to @amplitude/react-native?

Node.js

Please visit Amplitude-Node for our Node SDK.

Changelog

Click here to view the JavaScript SDK Changelog.

Upgrading Major Versions and Breaking Changes

6.0

The cookie format has been changed to be more compact. If you use the same Amplitude project(API key) across multiple applications, and you track anonymous users across those applications, you will want to update amplitude across all those applications at the same time. Otherwise these anonymous users will have a different device id in your different applications.

If you do not have multiple installations of amplitude, or if you do not track anonymous users across different installations of amplitude, this change should not affect you.

5.0

We stopped committing the generated amplitude.min.js and amplitude.js files to the repository. This should only affect you if you load amplitude via github. You should use npm or yarn instead.

We dropped our custom symbian and blackberry user agent parsing to simply match what the ua-parser-js library does.

4.0

The library now defaults to sending requests to https://api.amplitude.com instead of //api.amplitude.com. This should only affect you if your site does not use https and you use a Content Security Policy.

Need Help?

If you have any problems or issues over our SDK, feel free to create a github issue or submit a request on Amplitude Help.