Segment

Introduction

Segment is a third party tool that helps you manage the data generated by your web properties. In a nutshell, it lets you connect "Sources" of data (e.g. your Bubble app) with "Destinations" that the data should flow to. Destinations include analytics tools like Google Analytics, marketing tools like Mailchimp, data warehouses like Snowflake, and more.

At Bubble, we use Segment because it lets us implement all the event logging we want in our product once, and lets us direct that stream of data to all the other tools we use. In fact, we use this Segment plugin ourselves on bubble.io!

Note: Segment is a third-party tool that has its own Pricing structure, though there is a free tier.

Installing the Segment plugin

You can find the Segment plugin just like any other plugin: in the marketplace in the Plugins tab from your Bubble editor. (These instructions are for the Bubble-made Segment plugin.)

After you install it, you should see the plugin's settings like this:

Segment plugin settings

The "Write key" can be found in the Segment UI: Sources tab → Settings → API Keys. This is the minimum needed to connect your app with your Segment account.

Using this with Google Analytics

Google Analytics is a popular tool to measure traffic to your app, as well as log events.Note that if you begin using Segment, you should not also use the Google Analytics Bubble plugin. Instead, you should connect GA as a Destination in your Segment account.

To finish establishing the Segment -> Google Analytics connection, in the Destinations tab -> Settings (for Google Analytics), make sure to set:

  • Website Tracking ID (as your Google Analytics id)Serverside Tracking ID (same as above, your Google Analytics id)

Details about the Segment plugin

Write key

This key is used to send data from your app to Segment. You can find this information in the Segment UI by navigating to Sources → Settings → API Keys.

Workflow actions offered by the Segment plugin

Track an event with Segment

Segment connects you with more than one analytics service at a time. This action tracks an event, which can be sent to Mixpanel, Hipp, etc. You must create an account with Mixpanel and enter the keys in the Plugins Tab. This action tracks events on the client side.

  • Event name - Select the name of the event to send. Select an existing one or create a new one.

  • Additional values - Define more key/values to send more data to Segment, such as age, gender, etc.

Track an event with Segment (Server)

This action tracks an event and sends to Segment from the Bubble server instead of the client. Use this method for tracking events that require greater reliability, as it ensures ad blockers do not disrupt the event. This action uses capacity, so use for only critical events. This option will automatically package some client data such as page, user agent, locale, ip address, and email of the user.

  • Event name - Select the name of the event to send. Select an existing one or create a new one.

  • Additional values - Define more key/values to send more data to Segment, such as age, gender, etc.

Send a page view to Segment

This registers a page view with Segment, to send to Google Analytics, for example.

  • Page category - Define categories for the pages. Select an existing one or create a new one.

  • Additional values - Define more key/values to send more data to Segment, such as age, gender, etc.

Identify a user with Segment

Calling this action makes sure all events are attached to the relevant user in Segment and the other services Segment connects to.