> ## Documentation Index
> Fetch the complete documentation index at: https://docs.adriel.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Generic Table

> The counterpart to the Ads Table for data sources that aren't paid ads.

The **Generic Table** behaves like the [Ads Table](/widgets/widget-library/table-widgets/ads-table) for data that isn't paid advertising. Any data source that isn't an ad account — analytics, e-commerce, spreadsheet, CRM, organic social, or public — can be added to a Generic Table.

## When to use a Generic Table

For non-advertising data sources — for example:

* **Analytics** — Google Analytics 4, Piano Analytics, Adobe Analytics, Matomo.
* **E-commerce** — Shopify, WooCommerce, Cafe24 Analytics.
* **Spreadsheet or file** — Google Sheets, CSV, BigQuery.
* **CRM / email / call** — HubSpot, Klaviyo, Mailchimp, CallRail.
* **Organic social** — Meta Page Organic, Instagram Organic, LinkedIn Organic.
* **Public data** — Instagram Public.

For paid ad sources (Meta Ads, Google Ads, TikTok Ads, and so on), use the [Ads Table](/widgets/widget-library/table-widgets/ads-table).

## Configure a Generic Table

### Mandatory fields

<Steps>
  <Step title="Pick data sources">
    In the **Data sources** section, select one or more non-advertising data sources.
  </Step>

  <Step title="Configure breakdowns">
    Add breakdowns from the picker. Available breakdowns depend on what the selected data sources have in common (see [Breakdowns in a Generic Table](#breakdowns-in-a-generic-table) below).
  </Step>

  <Step title="Add metrics">
    Add metrics from the picker. Reorder columns by dragging inside the metric box. Remove a metric with **X**.
  </Step>
</Steps>

Widget changes save automatically when the settings panel closes. Persist changes to the dashboard by clicking **Save dashboard**.

### Optional fields

* **Widget filter** — filter this widget's data without changing dashboard-wide filters. See [Filters](/dashboards/filters-and-dates/filters).
* **Period** — override the dashboard's date range for this widget only. See [Date ranges](/dashboards/filters-and-dates/date-ranges).
* **Show total row** — toggle the Totals row. See the [Show total row](#show-total-row) section.
* **Switch rows/columns** — transposes the table.

## Breakdowns in a Generic Table

Non-advertising data sources don't share a predefined breakdown structure. That leads to specific behavior in the breakdown picker:

* If the selected data sources **share no common breakdown names**, every breakdown option is disabled and cannot be selected.
* In that case, only two options remain available: **No Grouping** and **Datasource Name**.
* If the selected data sources **do share a common breakdown** (for example, both have `date` or `country`), that shared breakdown becomes selectable.

## Metrics in a Generic Table

Metrics work differently from breakdowns — even without shared breakdowns, customers can select metrics from each data source independently. Each metric renders in its own column against the data source it came from.

## Show total row

Toggle **Show total row** in the widget settings to surface the **Totals** row — a per-metric summary at the top of the table.

Totals are based on the aggregation method of each metric.

Because Generic Tables don't have per-channel aggregation-level constraints the way Ads Tables do, the Totals row is straightforward — it's a plain per-metric summary rather than a per-channel breakdown.

## Reading and column controls

Column sort, in-cell value bars, conditional formatting, and column widths are described in [Reading & interpreting tables](/widgets/widget-library/table-widgets/reading-tables).

## Exporting

See [Exporting widget data](/widgets/widget-actions/exporting-widget-data).

## Widget styling

Global widget style settings — font, border, background, and color themes — apply to every widget through the [Dashboard style settings](/dashboards/building/dashboard-style-settings#global-widget-settings). On top of those, Generic Table widgets have style options unique to this widget type:

* **Table border** — outer border color (HEX) and weight for the table.
* **Data font** — HEX color used for cell values.
* **Table header** — background color (HEX) and font color (HEX) for the header row.
* **KPI colors** — the background colors used to render conditional formatting bands on numeric cells. Three states are configurable independently: **Normal**, **Good**, and **Warn**. Recoloring changes the visual only — the thresholds themselves are set per-metric in the metric's conditional formatting rules.
* **Date display format** — how each date breakdown renders. Each breakdown level (Daily, Weekly Mon-start, Weekly Sun-start, Monthly, Quarterly) has its own format picker.

## Troubleshooting

<AccordionGroup>
  <Accordion title="The widget shows 'No data available'">
    Most often the selected breakdowns or metrics aren't compatible with the current data sources. Reduce the breakdown list to one item, confirm data appears, then add breakdowns back one at a time. See [Data not loading](/troubleshooting/data-not-loading).
  </Accordion>

  <Accordion title="Every breakdown is disabled in the picker">
    The selected data sources don't share a common breakdown taxonomy. Only **No Grouping** and **Datasource Name** remain available. To use richer breakdowns, narrow to one data source at a time.
  </Accordion>
</AccordionGroup>
