Skip to main content

Analytics integrations overview

CommandBar integrates with many popular analytics providers — Amplitude, Heap, Mixpanel, and more.

What is the purpose of these integrations?

CommandBar includes some pretty cool analytics dashboards. Can I just use those?

No! (Probably)

Full-scale product analytics is a non-feature in CommandBar; it’s not something we plan to build (at least anytime soon). That’s because we think it’s a pretty chunky problem, and we want to focus on our core job of helping users in-product.

There are two obvious areas of overlap between CommandBar and product analytics functionality. That’s where these other tools (and our integrations) come in.

  1. Analyze CommandBar-generated data alongside other product data
  2. Build user audiences (these go by many names — audiences, segments, slices, etc) that can be used in CommandBar for targeting

You’ll see us refer to CommandBar —> Company integrations; that refers to (1), CommandBar sending data to analytics tools. Company —> CommandBar means (2) above.

What can I do if I use a product analytics tool you don’t integrate with?

Answer 1: Use a CDP

We integrate with popular CDPs like Segment and Rudderstack. Often, you can use those as a proxy between CommandBar and your analytics tool.

Answer: Use our SDK and API

Fear not. Our integrations are a relatively thin layer on top of some pretty basic general-purpose SDK and API methods that you can use to create your own integration with any third-party analytics tools.

Sending data from CommandBar

To do this, you can utilize an event subscriber. Simply create an event subscriber and within the body of that subscriber send the event payload to the analytics tool of your choice.

// The function that handles CommandBar events
const myHandler = (eventName, eventData) => {
sendToMyTool({ name: eventName, ...eventData });
};

// Subscribe to CommandBar events
const unsubPromise = window.CommandBar.addEventSubscriber(myHandler);

// Later, call the function returned by the promise
// to unsubscribe your handler from CommandBar events.
unsubPromise.then((unsub) => unsub());

Sending data to CommandBar

To send data to CommandBar, you can use the strategies described in our User Properties doc.

  1. Provide audience and other user properties via the boot SDK method
  2. Use the /api/{your_org_id}/bulk-identify API endpoint