Troubleshooting custom reports

Troubleshoot unexpected custom report results in Featurebase Reports, including mismatched numbers, missing data, filters, breakdowns, durations, and CSAT.

Written By Markus from Featurebase

Last updated About 6 hours ago

Overview

Use this guide when a custom report shows an unexpected number, missing data, or an error.

Start by hovering over the information icon next to the chart title. The information card shows:

  • The metric description

  • The reporting period and timezone

  • The Timestamp that determines which period receives the value

  • The Aggregation

  • Report-level and chart-level filters

  • The Office hours state when the adjustment is enabled

If the chart still does not make sense, drill into the result to inspect the underlying conversations, replies, ratings, tickets, or other records.

Tip: Before rebuilding a chart, compare its information card with the result you expected. Most differences come from the metric variant, aggregation, timestamp, filters, or office-hours setting.


Charts show different numbers

Two charts can look similar while answering different questions. Compare these settings:

  • Metric and Timestamp - variants can start the measurement at different events or place the result in different reporting periods

  • Aggregation - Average and Median can produce very different results from the same records

  • Date range and timezone - activity near midnight can fall into a different day

  • Office hours - Within office hours can produce a much shorter duration than All hours

  • Filters - chart-level filters apply on top of the report-level filters

  • View by and Segment by - a multi-value breakdown can place the same record into more than one group

Example: Two first response time charts can use the same conversations but show different results because one uses Median and the other uses Average, or because one includes all hours while the other includes only office hours.

The Reporting metrics and attributes dictionary defines every metric variant, timestamp, aggregation, and attribute.


Chart shows no data

Check these in order:

  1. Check the date range - reporting data starts on July 12, 2026, with no data from before that date

  2. Check the timezone - activity near the beginning or end of the selected period may fall outside it in another timezone

  3. Remove filters temporarily - clear report-level filters first, then chart-level filters, to find which condition removes the data

  4. Check the metric's eligible population - first response time requires a visible teammate reply, while time to close requires a teammate close

  5. Check whether the result exists yet - ‘Teammate handling time’ becomes reportable only after the conversation closes

If clearing the filters reveals data, add them back one at a time until you find the condition that excludes every record.


Conversation volume looks incorrect

‘New conversations’ has two timestamp variants:

  • Conversation created at - counts every conversation when it is created, including unanswered inbound conversations and conversations started by Outbound messages or Workflows, whether or not the customer ever replies

  • Conversation started at - counts inbound and outbound conversations when the first customer message is received

Check the chart's Timestamp before comparing it with another report or Inbox view.

Response and resolution metrics use narrower populations. A conversation with no visible teammate reply has no first response time, and a conversation that was never closed by a teammate has no time to close. This is why a volume chart can show far more conversations than a response-time or resolution chart over the same period.

Use Conversation origin, Has customer reply, or Conversation initiator type to filter or break down the populations.


Report numbers do not match the Inbox

The Inbox and Reports answer different questions:

  • Inbox views usually show the current state of your workload

  • Reports include records based on the selected metric's timestamp, eligible population, date range, and filters

For example, ‘Closed conversations’ can count a close action from last week even if the conversation has since reopened. A current Inbox view would show that conversation as open, while the historical close still belongs to last week's report.

Check the metric's information card and make sure the Inbox view uses a comparable date range, timezone, state, and population before expecting the totals to match.


Can't see conversations in drill-in

A conversation-based chart can include conversations that you do not have permission to open in the Inbox. Drill-in respects your Inbox conversation access, so it can show fewer rows than the chart total, or none.

Ask a workspace admin to confirm that you can access the relevant conversations. Changing the report or drill-in filters will not reveal conversations you cannot open.


Conversations counted more than once

Some attributes can contain several values for one conversation. Common examples include:

  • Conversation tag

  • User tag

  • Teammate replied to

  • Fibi answer source title

When you break down a chart by one of these attributes, the conversation appears in every group it matches.

Example: If one conversation has the tags Billing and Bug, it counts once under Billing and once under Bug. The two groups add up to two even though the overall conversation total is one.

This is expected. If the breakdown groups need to add up to the overall total, use a single-value attribute such as Channel, or filter to one value instead of breaking the chart down.


Reports change over time

Some report values reflect what is true now, while others preserve what was true when the reporting record was created.

Past results can change when:

  • A current-state conversation property changes, such as Conversation tag, Priority, or Conversation state

  • A conversation is reassigned and the chart uses a current-assignment attribute

  • The current members of a team change and the report uses Teammate is a member of

  • A close-dependent metric, such as ‘Teammate handling time’, becomes available after a conversation closes

Example: If you add the Billing tag to a conversation from last month, that conversation can move into the Billing group for last month. By contrast, customer, company, and custom attributes preserve the value captured for each historical reporting row, so later profile or company edits do not rewrite those earlier values.

Use an action-anchored teammate or team attribute when you need historical attribution that stays fixed, such as who replied, closed, or handled the conversation.


Filters do not seem to work

Filters work at two levels:

  • Report-level filters apply across the report

  • Chart-level filters apply only to one chart, on top of the report-level filters

The two levels combine as AND conditions, so a record must match both to be included.

To find the filter causing the problem:

  1. Hover over the chart's information icon to review both filter levels

  2. Clear the report-level filters and check the chart again

  3. Clear the chart-level filters

  4. Add each filter back one at a time

If an attribute is missing from the report-level filter picker, it may not be supported by every chart in the report. Apply it as a chart-level filter instead, or use metrics from compatible reporting datasets.


Breakdown is missing values

Breakdowns show only the number of leading groups selected under Show top, ranked by the chart's metric and aggregation. You can show the top 5, 7, 10, 15, or 20 groups.

Example: With Show top 5, a chart broken down by Conversation tag shows only the five highest-ranked tags, even if more tags match the report.

  • Increase Show top to include more groups

  • Add filters to narrow the number of matching values

  • On donut charts, look for the remaining values inside Other

Donut charts automatically combine values outside Show top into Other. Other chart types stop after the selected number of groups and do not show an Other group. Custom report chart types and options explains these controls.


Breakdown exceeds the supported limit

A breakdown can return an error when its query produces too many rows, often because the selected attribute has many distinct values.

Error: “This report breakdown exceeds the supported 10,000-row limit. Narrow the date range or filters, or choose a lower-cardinality field.”

To fix it:

  • Choose a shorter date range

  • Add filters to narrow the data

  • Replace the breakdown with an attribute that has fewer possible values, such as Channel


Duration metric looks incorrect

Check these common causes:

  • All hours vs Within office hours - duration metrics use calendar time by default, including nights and weekends. For supported metrics, turn on Within office hours to exclude time outside the applicable schedule

  • Average vs Median - a few very long conversations can pull the average up while the median stays much lower

  • Metric variant - including bot variants include time in the Bot inbox, while excluding bot variants start after the conversation permanently leaves the Bot inbox for teammate handling

  • Timestamp - started variants place the result in the period when the conversation started, while action-anchored variants can place it when a reply or other event happened

  • Incomplete conversations - close-dependent metrics do not appear until the conversation reaches the required close event

Use the chart's information card to check the exact metric description, timestamp, aggregation, and office-hours setting.


Conversation rating or CSAT data looks incorrect

‘CSAT score’ is the percentage of positive ratings out of all included ratings. In Featurebase, 😃 Great and 🤩 Amazing are positive.

Example: If 90 out of 100 ratings are Great or Amazing, the CSAT score is 90%.

Filtering the chart by CSAT rating or CSAT rating label changes the ratings included in both sides of that calculation:

  • Include only 😃 Great and 🤩 Amazing ratings, and the score becomes 100%

  • Include only 😐 Ok, 🙁 Bad, and 😠 Terrible ratings, and the score becomes 0%

  • Exclude every rating, and the chart shows no data

To compare satisfaction across a population, filter ‘CSAT score’ by conversation properties such as Channel, Team, Teammate, or Rated agent type. Do not filter the score by the rating itself.

Tip: To see the rating distribution, use ‘Conversation ratings’ as the metric and CSAT rating label in View by. This shows each rating group without changing the meaning of the CSAT score.


Still stuck?

If a chart still does not add up, send support enough context to reproduce it:

  • The report link and chart name

  • The result you see and the result you expected

  • The metric, timestamp, and aggregation

  • The date range and timezone

  • Every report-level and chart-level filter

  • A screenshot of the chart and any error message

  • Whether the problem remains after reloading the report

Reach out to us via Messenger live chat or email support@featurebase.app.