Overview
System-defined reports are fully configuration-driven — no backend code changes required. A new report is created entirely by inserting records into the appropriate tables. The reporting engine flow:Step-by-Step Process
1
Create Category
Table:
category_masterAdd a logical grouping for the platform if one doesn’t exist.2
Create Source
Table:
source_masterAdd the platform under the category.- Set
client_id = 0for system/global sources
3
Add Metrics and Dimensions
Table:
report_data_dictionaryInsert metrics (clicks, spend, impressions) and dimensions (account, campaign). For each entry define:This step defines what data exists.
4
Map Metrics to Source
Table: This ensures only valid metrics appear for that source and enables safe query generation.
report_custom_fieldsCreate the mapping between dictionary entries and sources:5
Create Report
Table:
report_masterInsert a new report record:This generates a
report_id used in subsequent steps.6
Map Report to Source
Table: This tells the engine which data sources feed this report.
report_source_masterLink the report to its data source:7
Configure Columns (Template)
Table:
report_template_masterDefine how the report appears in the UI:- Which metrics appear
- Display order
- Column labels
- Sticky columns
- Formula overrides (if needed)
System Report Constraints
System-defined reports follow these rules:Level by Source Type
Only top-level aggregated metrics should be added to
report_template_master for system reports..png?fit=max&auto=format&n=Frm2GFbmok4D-yJA&q=85&s=93c3ebd47542af65d1cd06d8563a7f6e)