diff --git a/config/config_parser/src/source_generator/source_generator_test_files/golden_v1.cb.dart b/config/config_parser/src/source_generator/source_generator_test_files/golden_v1.cb.dart
index d80b69e..8a07d13 100644
--- a/config/config_parser/src/source_generator/source_generator_test_files/golden_v1.cb.dart
+++ b/config/config_parser/src/source_generator/source_generator_test_files/golden_v1.cb.dart
@@ -11,6 +11,14 @@
 // ignore: constant_identifier_names
 const int eventGroupsMetricId = 300;
 
+// Report ID Constants
+// the_metric_name_the_other_report
+// ignore: constant_identifier_names
+const int theMetricNameTheOtherReportReportId = 492006986;
+// event groups_the_report
+// ignore: constant_identifier_names
+const int eventGroupsTheReportReportId = 2384646843;
+
 // Enum for the_other_metric_name (EventCode)
 class TheOtherMetricNameEventCode {
   static const int AnEvent = 0;
diff --git a/config/config_parser/src/source_generator/source_generator_test_files/golden_v1.cb.h b/config/config_parser/src/source_generator/source_generator_test_files/golden_v1.cb.h
index b556a31..c8030cf 100644
--- a/config/config_parser/src/source_generator/source_generator_test_files/golden_v1.cb.h
+++ b/config/config_parser/src/source_generator/source_generator_test_files/golden_v1.cb.h
@@ -10,6 +10,12 @@
 // event groups
 const uint32_t kEventGroupsMetricId = 300;
 
+// Report ID Constants
+// the_metric_name_the_other_report
+const uint32_t kTheMetricNameTheOtherReportReportId = 492006986;
+// event groups_the_report
+const uint32_t kEventGroupsTheReportReportId = 2384646843;
+
 // Enum for the_other_metric_name (EventCode)
 namespace the_other_metric_name_event_code_scope {
 enum Enum {
diff --git a/config/config_parser/src/source_generator/source_generator_test_files/golden_v1.cb.rs b/config/config_parser/src/source_generator/source_generator_test_files/golden_v1.cb.rs
index 75bb9f6..049e19b 100644
--- a/config/config_parser/src/source_generator/source_generator_test_files/golden_v1.cb.rs
+++ b/config/config_parser/src/source_generator/source_generator_test_files/golden_v1.cb.rs
@@ -8,6 +8,12 @@
 // event groups
 pub const EVENT_GROUPS_METRIC_ID = 300;
 
+// Report ID Constants
+// the_metric_name_the_other_report
+pub const THE_METRIC_NAME_THE_OTHER_REPORT_REPORT_ID = 492006986;
+// event groups_the_report
+pub const EVENT_GROUPS_THE_REPORT_REPORT_ID = 2384646843;
+
 // Enum for the_other_metric_name (EventCode)
 pub enum TheOtherMetricNameEventCode {
   AnEvent = 0,
diff --git a/config/config_parser/src/source_generator/source_generator_test_files/golden_v1_filtered.cb.dart b/config/config_parser/src/source_generator/source_generator_test_files/golden_v1_filtered.cb.dart
index 57a1e9e..a752860 100644
--- a/config/config_parser/src/source_generator/source_generator_test_files/golden_v1_filtered.cb.dart
+++ b/config/config_parser/src/source_generator/source_generator_test_files/golden_v1_filtered.cb.dart
@@ -11,6 +11,14 @@
 // ignore: constant_identifier_names
 const int eventGroupsMetricId = 300;
 
+// Report ID Constants
+// the_metric_name_the_other_report
+// ignore: constant_identifier_names
+const int theMetricNameTheOtherReportReportId = 492006986;
+// event groups_the_report
+// ignore: constant_identifier_names
+const int eventGroupsTheReportReportId = 2384646843;
+
 // Enum for the_other_metric_name (EventCode)
 class TheOtherMetricNameEventCode {
   static const int AnEvent = 0;
diff --git a/config/config_parser/src/source_generator/source_generator_test_files/golden_v1_filtered.cb.h b/config/config_parser/src/source_generator/source_generator_test_files/golden_v1_filtered.cb.h
index e5e4b65..7db967e 100644
--- a/config/config_parser/src/source_generator/source_generator_test_files/golden_v1_filtered.cb.h
+++ b/config/config_parser/src/source_generator/source_generator_test_files/golden_v1_filtered.cb.h
@@ -10,6 +10,12 @@
 // event groups
 const uint32_t kEventGroupsMetricId = 300;
 
+// Report ID Constants
+// the_metric_name_the_other_report
+const uint32_t kTheMetricNameTheOtherReportReportId = 492006986;
+// event groups_the_report
+const uint32_t kEventGroupsTheReportReportId = 2384646843;
+
 // Enum for the_other_metric_name (EventCode)
 namespace the_other_metric_name_event_code_scope {
 enum Enum {
diff --git a/config/config_parser/src/source_generator/source_generator_test_files/golden_v1_filtered.cb.rs b/config/config_parser/src/source_generator/source_generator_test_files/golden_v1_filtered.cb.rs
index 93de0d3..d78583c 100644
--- a/config/config_parser/src/source_generator/source_generator_test_files/golden_v1_filtered.cb.rs
+++ b/config/config_parser/src/source_generator/source_generator_test_files/golden_v1_filtered.cb.rs
@@ -8,6 +8,12 @@
 // event groups
 pub const EVENT_GROUPS_METRIC_ID = 300;
 
+// Report ID Constants
+// the_metric_name_the_other_report
+pub const THE_METRIC_NAME_THE_OTHER_REPORT_REPORT_ID = 492006986;
+// event groups_the_report
+pub const EVENT_GROUPS_THE_REPORT_REPORT_ID = 2384646843;
+
 // Enum for the_other_metric_name (EventCode)
 pub enum TheOtherMetricNameEventCode {
   AnEvent = 0,
diff --git a/config/config_parser/src/source_generator/source_outputter.go b/config/config_parser/src/source_generator/source_outputter.go
index 09d3b03..be3730d 100644
--- a/config/config_parser/src/source_generator/source_outputter.go
+++ b/config/config_parser/src/source_generator/source_outputter.go
@@ -166,15 +166,22 @@
 
 func (so *sourceOutputter) writeV1Constants(c *config.CobaltRegistry) error {
 	metrics := make(map[uint32]string)
+	reports := make(map[uint32]string)
 	if len(c.Customers) > 1 || len(c.Customers[0].Projects) > 1 {
 		return fmt.Errorf("Cobalt v1.0 output can only be used with a single project config.")
 	}
 	for _, metric := range c.Customers[0].Projects[0].Metrics {
 		if metric.MetricName != "" {
 			metrics[metric.Id] = metric.MetricName
+			for _, report := range metric.Reports {
+				if report.ReportName != "" {
+					reports[report.Id] = fmt.Sprintf("%s_%s", metric.MetricName, report.ReportName)
+				}
+			}
 		}
 	}
 	so.writeIdConstants("Metric", metrics)
+	so.writeIdConstants("Report", reports)
 
 	for _, metric := range c.Customers[0].Projects[0].Metrics {
 		events := make(map[uint32]string)
