Orkestia
Blog
Lumen

Pulse in the Cockpit app

Product analytics in Lumen mode — overview, events, funnels, heatmaps, paths, retention, and creating a browser-restricted Pulse key

Pulse is Lumen's product analytics (visits, pages, sources, funnels, heatmaps). In Lumen mode it has its own sidebar section and a row of tabs: Overview, Events, Funnels, Heatmaps, Paths, Retention, Setup. Pulse data is separate from logs: product events never reach error groups or alerts, and they count against their own monthly allowance. Writing events: Pulse SDK or Send data, key rules: Enable.

Scope

Every Pulse page except Setup starts from one scope, shown at the top and remembered on this computer (separately from the toolbar range):

ControlValues
ProjectAll projects, or one project that sends Pulse events
Rangelast 24 hours, 7 days (default), 30 days, 90 days
FiltersAppear as chips when you click a row (source, referrer, UTM source/medium/campaign, entry page, device, language, country); they narrow every Pulse page to matching visits. Clear them from the chips

The range is rounded to the minute so a query stays stable for a minute. The scope is sent as project, from, to and f_<dimension> parameters to GET /api/product/*.

Overview

  • Tiles: visitors, visits, page views, bounce rate, visit length, signed-in users, each with the change against the previous period of the same length ("no earlier data" when there is none).
  • Goals: a goal is the event that means success, such as lead_submitted, or a page view of /thanks. Each shows the share of visits that reached it against the period before. + Add goal and the ✕ on a goal create and delete goals; alert me opens a prefilled alert rule that fires when the goal has no conversions for a day.
  • Visitors and page views chart.
  • Top pages / Entry pages, Sources / Referrers / Campaigns / Medium, and audience breakdowns. Clicking a source, device or country adds it as a filter; clicking a page or an event name opens Paths or Events.

Events

The latest 100 events for the scope, with an event-name list and a live toggle that refreshes every 10 seconds. The API has no offset for events, so older ones are reached by narrowing the scope. Click an event for its drawer: when it happened and was received, project, page, event id, session, and its properties and context. From there: Paths for the page, Heatmaps for the page, only this visitor, everything in this visit, and use in a funnel.

Funnels

Build 2 or more steps from event names and optionally a page (a page_view step can name a page such as /pricing; empty means any page), choose Finish within a number of hours (24 by default), and the conversion appears as bars: people at each step, conversion from the first step and from the previous one, and the leakiest step flagged.

Save stores the funnel as kind: funnel through POST /api/product/saved for the current project, and saved funnels appear as chips to reload or delete. Time to convert is not shown because the API does not return it. Step names link to Events filtered to that event.

Heatmaps

Pick a page from the list of pages that have click data, then Desktop or Mobile, and Clicks or Scroll. Clicks are drawn to scale over a blank page-shaped rectangle with a colour legend; Scroll shows how far down visitors reach (including the 50% depth). Tables list Rage clicks (bursts of fast clicks on one spot that did nothing), Dead clicks (clicks on things that are not links, buttons or fields) and Most clicked elements, named by label, id or link target, never by their text.

The page behind the heatmap is not embedded: the Cockpit app does not allow arbitrary sites in frames. Use Open page to open the live page in your browser.

Paths

Choose a page: Came from and Went next columns show where visitors arrive from and go to, with proportional bars. The long tail is folded into one row. Click a step to re-centre on it.

Retention

People grouped by the week they first visited (rows), with the share who came back in each later week (week 0, +1, +2…; darker cells mean more returned), for the last 4, 8 or 12 weeks. The endpoint ignores from/to: it always covers the last N weeks. A person is a signed-in user or a browser that accepted analytics, so clearing cookies or switching devices makes someone look new.

Setup

  1. Add a website or app: give it a name, the website addresses it runs on (for example example.com, www.example.com) and a project name. The app creates a key with scope: product, client_kind: browser, allowed_origins set to those addresses and allowed_projects set to that one project.
  2. Copy the key now. It starts with lump_ and is shown once; the install snippets already include it.
  3. Install. Tabs for Website, JavaScript, Python, Swift, Go and curl. The Lumen SDKs send logs and errors, not product events, so every snippet posts to POST /api/product/ingest/batch over HTTP; the Website snippet sends nothing until you call pulseConsent(true) after the visitor accepts analytics. For a JavaScript web app you can use the Pulse SDK with the same key instead.
  4. Check. "Last event received

Below, Events worth sending, the list of your Pulse keys with the project and addresses each accepts (revoke with confirmation: sites using the key stop sending) and Projects sending events with last event time.

A browser key only works from the listed origins and one project, and a batch from a browser key is capped at 50 events; a server key can send 1000 (Send data). Keys are also managed in Plans, usage and keys.