Lens
Limits
The limits Lens enforces on uploads, backfills, queries, lookups and syncs, so you can plan tables that stay within them.
Limits
| Area | Limit |
|---|
| CSV upload | 500 MB per file |
| GA4 backfill | 400 days. Longer options in the dropdown are refused on save; use a BigQuery source for longer GA4 history |
| Search Console backfill | 480 days |
| Meta Ads | 37 months of history, Meta's own limit |
| Echo and JSONL backfill by date range | 90 days per run |
| Fastest sync schedule | Hourly |
| REST API source | 20,000 pages per sync. Reaching it fails the sync instead of keeping a partial result |
| Rows returned to a tile | 5,000 by default, up to 50,000 |
| Rows shown in a Table tile | 10 by default, up to 500 |
| Rows per page in the table data view | 500 |
| Query time | 10 minutes |
| Lookup source table | 2,500,000 rows (a warning from 1,000,000) |
| Retention tile | 10 windows and 50 rows |
| Brand palette | 24 series colors and 200 pinned labels |
| Public report | About 60 data requests per minute per report link |
| Export run history | Last 20 runs |
| Table sync history | Last 10 syncs |
Lens has no fixed cap on the number of tables, columns or rows per table.
Behavior to plan around
| Situation | What happens |
|---|
| A sync is stuck in syncing for 30 minutes | It is queued again, up to 3 times |
| A sync is stuck in queued for 20 minutes | It is marked as an error |
| A table is twice its schedule interval overdue | A staleness alert goes to the table's Notification Group |
| A sync fails | An email goes to the table's Notification Group, if one is set |
| An export fails 5 times in a row | It stops running on schedule until it is saved again or runs successfully |
| A table's columns change | Its stored data is cleared and synced again |