Segment integration

January 28, 2021

The recommended way to get data into Bucket is through Segment. Here's a quick introduction on how to get started with Bucket and Segment.


Getting started #

Add Bucket as Destination on Segment #

Assuming you're already sending data to a Segment source, the next step is to add Bucket as a new Destination to the relevant Segment source.

Navigate to your Source, and click Add Destination. Search for Bucket and and click Configure Bucket.

One step configuration #

The Bucket Destination only needs a single configuration input: An API key. The API key is your Bucket app ID. To get your Bucket app ID, log in to Bucket, choose the relevant app in the header, and click the cog wheel next to it.

To get the Bucket App ID, simply log in to Bucket and click the cog wheel in the header to go to the setting page.

Scroll down to the app name, and find the App ID. Copy the App ID and paste it into the Segment Bucket destinaion API key field. Hit save and your Segment tracking data will now also flow to this Bucket app!

Tracking tips #

Bucket supports the following Segment APIs:

  • Identify
  • Group
  • Track

They work out of the box with Bucket, but here's a few tips on how to use them best with Bucket.

Identify #

The basic user identity call looks like this

window.analytics.identify(<unique id>, {
  <attributes>
});

Bucket is pre-configured to look for a name property as the display name of the user. The recommended user ID is often a database ID or similar unique identifier that never changes, so a display name is handy.

Note on PII: To keep your users PII private, don't include the "name" property. Bucket will still function properly, but obviously won't be able to show you the names of users.

Here's an example of how we use Bucket on Bucket:

window.analytics.identify(123456789, {
  name: Rasmus Makwarth,
  apps: <count of apps>, // custom property for segentation
});

Group #

The group call follows the identify call to associate a user with a group. In the Bucket use case, a group is likely the user's organization inside of the web application.

Here's how we do it at Bucket:

window.analytics.group(123456789, {
  name: <organization name>,
  features: <count of features>, // custom property for segentation
  segments: <count of segments> // custom property for segentation
});

Track #

The track event is used for tracking key interactions in your application. We don't recommened tracking everything the user does - in fact, we only recommend tracking a handful of carefully selected events of key interactions / features. This will help keep you focused on the key features and avoid cluttering the UI with less important events.

window.analytics.group("Interacted with key feature", {
  <properties>
});

Properties can be useful for tracking e.g. the version of a feature or embed location.

Note on multiple organizations: Bucket doesn't currently support this. If a user sends an event and is part of multiple organizations, the event will be included for both organizations, which will result in misleading data. Please let me know, if you would like support for multiple organizations.