Bugsnag Destination

Destination Info
Connection Modes
Device-mode Cloud-mode
Web Web
Mobile Mobile
Server Server

Bugsnag helps you detect and diagnose crashes in your application. Depending on the data you provide, Bugsnag can filter errors based on user name, user email, timeline, release stages, paying user status, and more.

At the moment, we support the following integrations:

Web Analytics.js SDK 2.1.0
Android Android SDK 2.0.0
iOS iOS SDK 1.0.3

Getting Started

Before you start, make sure Bugsnag supports the source type and connection mode you’ve chosen to implement. You can learn more about connection modes here.

Web Mobile Server
📱 Device-mode ⬜️
☁️ Cloud-mode ⬜️ ⬜️ ⬜️


  1. From the Segment web app, click Catalog.
  2. Search for “Bugsnag” in the Catalog, select it, and choose which of your sources to connect the destination to.
  3. Add your API key to your connection settings. You can find your API key in your Bugsnag dashboard under “Settings”, which is located in the upper left-hand corner
  4. Segment automatically initializes Bugsnag’s JavaScript script with your API key upon loading analytics.js


If you’d like to integrate with Bugsnag’s iOS and/or Android SDKs, in addition to completing steps 1-3 in the previous section, you will also need to complete the install steps outlined below:

  1. Android

  2. iOS

React Native

To add the Bugsnag device-mode SDK to a React Native project using Segment’s 1.5.1≤ release:

  1. Navigate to the root folder of your project, and run a yarn add @segment/analytics-react-native-bugsnag command to add the destination SDK to your project.
  2. Add an import statement to your project, as in the example below.
    import Bugsnag from '@segment/analytics-react-native-bugsnag'
  3. In the same project file, add the destination to the using list in the await command.
    await analytics.setup('YOUR_WRITE_KEY', {
      // Add any of your Device-mode destinations. This ensures they load before continuing.
      using: Bugsnag
      // ...
  4. Finally, change to your iOS development folder ( cd ios ) and run pod install.


Once you’ve correctly set up your Bugsnag integration, you should identify each of your users as soon as you know their identity (this typically happens after log in or sign up), so that Bugsnag can provide you with more visibility into which user is encountering which error.

If you’re not familiar with the Segment Specs, take a look to understand what the Identify method does. An example call would look like:

analytics.identify('ze8rt1u89', {
  name: 'Zaphod Kim',
  gender: 'Male',
  email: 'jane.kim@example.com',

Bugsnag will show you the userId and traits in the Users tab of each error.

Error Reporting

In addition to sending Bugsnag user-specific information, you can send handled exceptions and diagnostic data to your Bugsnag dashboard using Bugsnag’s native methods. Documentation on these methods is available on their website.


Segment lets you change these destination settings from the Segment app without having to touch any code.

Setting Description
string. You can find your API Key on your Bugsnag Project Settings page.
Release Stage string. Distinguish errors that happen in different stages of your app’s release process e.g ‘production’, ‘development’, etc.
Use SSL boolean, defaults to TRUE .

Use SSL When Sending Data to Bugsnag

This page was last modified: 15 Jul 2022

Get started with Segment

Segment is the easiest way to integrate your websites & mobile apps data to over 300 analytics and growth tools.
Create free account