SaaS app examples

Inside app.acme.com, the questions are about features: is anyone using the new export, who tried it for the first time this week, do they come back to it, and which buttons on the deals screen get clicked at all.

Updated

These examples assume the app has its own Web app source and calls identify after sign-in, with the plan as a trait:

session.js
// After sign-in, once you know who it is.
window.clickclacks?.('identify', user.id, { plan: user.plan })

With identify in place, every report can split by Person property plan, and a person who uses the app on two devices is one person.

Is anyone using the new export, and on which plans?

Fastest: autocapture, for the click

If Export is a button, each click is a $click with Clicked text Export and the screen’s Page. That counts people who pressed it, not exports that worked, and it breaks when the label changes.

Precise: an event named for the outcome

export.js
// Where the export has actually been created, not where the button is clicked.
async function exportReport(format) {
  const file = await api.post('/reports/export', { format })
  window.clickclacks?.('event', 'Report exported', {
    format,                          // 'csv' or 'pdf'
    rows: file.rowCount,             // a number, so Insights can sum or average it
  })
  return file
}

Send it where the export succeeds. From your backend is even better, because it counts exports made through your API too. See server-side tracking and use the same user ID you identify with in the browser.

Read the answer

  1. Open Events, pick Report exported under Select event, and set Last 30 days.
  2. Read Feature adoption: Occurrences, Unique people and Uses per person, by Day or Week.
  3. Choose Break down by › format to see CSV against PDF.
  4. For plans, go to Insights: chart Report exported as Unique people, Weekly, then Add breakdown › Person property › plan.

Who used it for the first time this week, and how long did it take them?

No extra code

ClickClacks already knows each person’s first time, so the Report exported event from above is all you need. There is no need to send a “first time” property.

Read the answer

  1. Open People › Segments and click New segment.
  2. Add did for the first time Report exported, in the last 7 days. The live preview says how many people match. Save it as New exporters.
  3. Open the segment to see its size over time, or pick it under People in the filter bar of any report to count only them.
  4. For time to first use, build a funnel Signed up → Report exported with a 30 days window, and read Median time to convert.

Do people keep using it after the first time?

  1. In Retention, click Edit definition.
  2. Set both the starting and the returning event to Report exported. Choose Came back in that week, or Came back every week since for a strict answer. Apply.
  3. Keep Weekly cohorts and read the Week 1 retention card and the curve.
  4. Use Break down by to split cohorts by an event property, such as Device.

Which buttons on the deals screen get clicked?

Fastest: autocapture

Every button and link click on the screen is already a $click with its label (Clicked text, up to 40 characters), its tag, its id and first two classes, and a short selector. Icon-only buttons have no text, and an aria-label isn’t captured, so give them an id: it arrives as Clicked element ID.

Read the answer

  1. Open Heatmaps, pick the Web app source and the deals page. Pages with IDs in the address are grouped, so /deals/481 and /deals/913 are one page, /deals/*.
  2. Choose Elements: every clicked element with its selector, share of clicks, clicks, dead clicks and rage clicks.
  3. For a trend, go to Insights: chart $click as Unique people, Where Page contains /deals/, then Add breakdown › Event property › Clicked text, Top 25, as a Table.
  4. Pick the Web app source in the filter bar so the marketing site’s clicks stay out.