Pendo APIJune 20267 min read

Five practical Pendo Aggregation API examples.

The Aggregation API answers questions Pendo's dashboards can't. These five pipelines cover the reports I get asked to build most often, from daily feature usage to guide funnels.

Text byVictor BlancoPendo consultant

This is the follow-up to my article on Pendo click data, which covers how the Aggregation API works and when to reach for it. Here I want to be purely practical: five pipelines you can adapt, each answering a question I get asked by real product teams. All of them POST to the same endpoint with your integration key.

Your product

Pendo agent captures clicks, page loads, guide events

Pendo cloud

Events stored against features, visitors and accounts

Aggregation API

Pipeline queries: filter, group, join, time series

Your dashboard

Live charts and reports, no manual exports

From event capture to a live custom report, the Aggregation API is the bridge.
01

Daily active visitors per feature

The basic shape of feature analytics: who used what, day by day. Group feature events by both feature and day, counting unique visitors rather than raw clicks.

Pipeline: daily unique visitors by feature, last 30 days
{ "response": { "mimeType": "application/json" },
  "request": {
    "pipeline": [
      { "source": {
          "featureEvents": null,
          "timeSeries": {
            "period": "dayRange",
            "first": "date_add(now(), -30, \"days\")",
            "count": 30}}},
      { "group": { "group": ["featureId", "day"],
          "fields": { "visitors": { "count": "visitorId" } }}},
      { "sort": ["day", "-visitors"] }]}}
02

Accounts that adopted a feature this month

Adoption questions are account questions in B2B. Swap the grouping key to accountId and filter to one feature, and the result is the list of customers actually using what you shipped.

Pipeline: accounts using one feature, current month
{ "response": { "mimeType": "application/json" },
  "request": {
    "pipeline": [
      { "source": {
          "featureEvents": { "featureId": "<your-feature-id>" },
          "timeSeries": {
            "period": "dayRange",
            "first": "startOfPeriod(now(), \"month\")",
            "count": 31}}},
      { "group": {
          "group": ["accountId"],
          "fields": {
            "events": { "sum": "numEvents" },
            "visitors": { "count": "visitorId" }}}},
      { "sort": ["-events"] }]}}
03

Guide completion funnel

Guide analytics in the UI show totals; the API lets you build a proper step funnel. Source guide events for one guide, group by step and event type, and the drop-off between steps falls out of the numbers.

Dashboards answer the questions Pendo thought of. The Aggregation API answers yours.

Pipeline: guide events by step, last 90 days
{ "response": { "mimeType": "application/json" },
  "request": {
    "pipeline": [
      { "source": {
          "guideEvents": { "guideId": "<your-guide-id>" },
          "timeSeries": {
            "period": "dayRange",
            "first": "date_add(now(), -90, \"days\")",
            "count": 90}}},
      { "group": {
          "group": ["guideStepId", "type"],
          "fields": { "visitors": { "count": "visitorId" } }}}]}}
04

Two more worth knowing

Stickiness per feature: run the daily-visitors pipeline twice, once over a day and once over thirty, and divide. DAU over MAU per feature separates habit-forming features from occasional ones, and it is not a number any standard dashboard gives you.

Page time by account: swap the source to pageEvents and sum numMinutes grouped by accountId. Where accounts actually spend time is often embarrassingly different from where the roadmap assumes they do.

05

What these pipelines leave out

Every example here is the query, not the system around it. In a real deployment the integration key has to be secured and rotated (it can read your whole subscription), responses from large accounts have to be paginated, and raw IDs have to be joined to the visitor and account metadata that makes them readable. Then the whole thing needs scheduling, hosting, a chart layer, and an alert for when a pipeline starts returning zero because a tag broke upstream.

That gap, between a query that runs once and a report a team checks every Monday, is most of the actual work.

The query is the easy part. The system around it is the job.

06

Putting it together

Each of these returns plain JSON, which means each can feed a chart, a scheduled report, or a wallboard without anyone exporting a CSV again. The live dashboard on my click data article is built from exactly these building blocks. If you want pipelines like these wired to your own Pendo subscription, that is a service I offer.

Filed under
Pendo APIAggregation APIProduct analyticsCustom dashboardsFeature adoptionPendo reporting

Ready to get more from Pendo?

Book a free 30-minute call and let's talk about how I can help get the most from your Pendo subscription.

We use cookies & Pendo to monitor traffic anonymously, improve experience, and understand usage.

Let's connect