Analytics & Product · Google Analytics 4 (Explore UI)

GA4 Exploration CSV / TSV export

The file you get when you download a report from GA4's Explore section, which people wrongly treat as a clean tabular extract of the underlying events when it is actually a rendering of a UI table, sampled, bucketed, thresholded, and row-capped exactly as shown on screen.

The shape, how the file is really laid out

The CSV/TSV opens with a metadata preamble: comment lines prefixed with "#"

carrying the report nickname, the date range as "# Start date: 20260701" /

"# End date: 20260731", and the active segments and filters, then a blank

line before the real header row. A single export can stack several tables (one

per Exploration tab), each introduced by its own "#" comment block, so the

file is not one grid but many. Each table usually ends with or includes a

"Totals" row. Dimension values arrive as literal strings including "(not set)",

"(direct)", "(none)", and a catch-all "(other)" row; the default "Users"

metric is Active Users, not Total Users, and rates such as engagement or

conversion may be written as either a decimal (0.42) or a percent string

(42%).

The traps

A naive load takes the first "#" preamble line as the header and mis-parses the whole file; stacked tables mean row 200 can be a fresh header, not data.

In the Format LibraryGet the Format Library

Reference: Google Analytics 4 Help, "Explorations" and "Export data from an exploration" · GA4 Help, "About data sampling" · GA4 Help, "High-cardinality dimensions" (the (other) row) · GA4 Help, "Data thresholding"