Data sources
Create any of these from Configure > Data Tables > + New Table. "Incremental window" is how many recent days an incremental sync re-pulls; you can change it per table with Incremental Refresh Window.
| Source | What you configure | Sync modes (default first) | Incremental window | Grain | Dates stored in |
|---|---|---|---|---|---|
| Google Analytics 4 | GA4 Property ID, optional Google connection, dimensions, metrics, filters, backfill | Incremental, Full Refresh | 7 days | Daily; hourly with dateHour | GA4 reporting time zone when a Google connection is set, else the property time zone (UTC when hourly) |
| Google Ads | Google connection, customer account, report stream or custom query | Full Refresh, Incremental (config streams are full only) | 7 days | Daily, or an account snapshot | Property time zone |
| Adobe Analytics | Adobe connection, report suite, one dimension, metrics | Full Refresh, Incremental | 7 days | Daily by one dimension | Property time zone |
| Meta Ads | Meta connection, ad account, level (campaign, ad or account), one conversion event | Incremental, Full Refresh (account level is full only) | 28 days | Daily, or an account snapshot | Ad account time zone |
| Google Search Console | Service account, property (site URL), search type, data state, dimensions | Incremental, Full Refresh | 10 days | Daily, ending three days ago | Property time zone |
| BigQuery | Service account, project, dataset, a table, wildcard tables or a SQL query, date column | Full Refresh only | Not used | Your date column | Property time zone |
| Echo events | Name, dimensions, filters, count metrics | Incremental, Full Refresh | New events since the last sync | One row per event | UTC |
| REST API | URL, auth, pagination, date parameters, data path | Full Refresh, Incremental | 7 days | Your date column, else the sync date | Property time zone |
| CSV upload | Uploaded files, a role for each column | Full Refresh, Incremental | New files | Your date column, or a dateless snapshot | UTC, read using the Source Timezone setting |
| Airbyte output | Airbyte connection (drop path), stream, a role for each field | Incremental, Full Refresh | New files | Your date field | UTC, read using the Source Timezone setting |
| JSONL in TagPipes storage, Amazon S3, Google Cloud Storage | Folder or bucket, file format, a role for each column | Full Refresh, Incremental | New files | One row per record | UTC, read using the Source Timezone setting |
| Olo | Olo connection, grain (order or line item) | Incremental, Full Refresh | New batches since the last sync | One row per order or line item | Each store's local business day |
Lens does not run Airbyte. It reads the JSONL files your own Airbyte writes to the folder Lens gives you.
Composite tables
Built from other Lens tables, under Composite Tables in the same menu. They have no schedule of their own: they rebuild when you save them and whenever one of their source tables syncs.
| Table | Builds | How-to |
|---|---|---|
| Join | Columns from several tables on one row, matched by date and key dimensions | Join Tables |
| Union | Rows from several tables stacked, with priority rules for overlapping dates | Union Tables |
| Pivot | One column per condition, such as one count per event name | Pivot Tables |
Recommended setups
For GA4, Adobe Analytics, Google Ads, Meta Ads, Olo and Echo, Configure > Data Tables > Recommended Setups creates a ready-made set of tables in one step and reuses tables you already have. See Get Started with Lens.