Introduction
Google Ad Manager (GAM) is Google’s ad-serving and inventory-management platform for publishers. The Adriel Google Ad Manager connector syncs a pre-defined, saved GAM report into an Adriel data source through the Google Ad Manager REST API (v202505). Each Adriel data source is bound to one saved GAM report; the connector runs that report, retrieves the resulting rows, and caches them for use in widgets. This is a report-driven, schema-on-read connector: the available metrics and breakdowns are not a fixed Adriel catalog. They mirror exactly whatever the saved GAM report is configured to return. The report definition is read live at each sync, so any change made to the report inside Google Ad Manager (adding or removing a column) is reflected automatically on the next refresh with no Adriel reconfiguration. To connect this data source, see How to connect Google Ad Manager to Adriel.Data refresh strategy
Google Ad Manager data is served from a daily cache snapshot, not queried live on each dashboard load. Every sync fully rebuilds the cache using an atomic-replace strategy: the connector runs the saved GAM report, waits for it to finish, then swaps the entire cached dataset for the new result in one operation. A failed or partial refresh leaves the previous snapshot in place rather than an empty table. Refresh schedule. The cache refreshes once daily at 07:00 UTC. Dashboards read from the most recent snapshot until the next scheduled refresh. Report execution at sync time. Running a GAM report is asynchronous. The connector triggers the report run, then polls the resulting long-running operation with an exponential back-off schedule (immediate, then 1, 2, 3, 5, 10, and 20 minutes) until it completes — up to roughly 41 minutes across seven steps. Once the operation reports success, the report definition is re-fetched, the result rows are downloaded, and the cache is replaced. Deletions and schema changes. Because each sync replaces the full snapshot from a freshly fetched report definition, removals and edits made to the report in Google Ad Manager are reflected on the next refresh — there is no residual stale data.Date ranges are defined by the GAM report, not by AdrielThe connector does not impose or parameterize a date range; the reporting window comes from the saved GAM report itself. The dashboard date picker filters the cached rows only when the report includes a date breakdown (for example a
DATE, WEEK, or MONTH column). A report without a date column produces a single snapshot covering whatever period the report defines.Architecture levels
Google Ad Manager network → Saved report → Report columns. Setup resolves these levels in order:- Network — the Google Ad Manager network the connected identity can access. A single network is chosen for the data source.
- Report — one or more saved reports within the chosen network. Each selected report becomes its own Adriel data source.
- Report columns — the breakdowns and metrics defined inside the saved report become the queryable fields of the data source.
Report model
The saved GAM report is the schema. At each sync the connector reads the report definition’s breakdowns and metrics and maps them column-by-column into cached rows. Each column is named after its Google Ad Manager field (for exampleAD_UNIT_NAME, COUNTRY_NAME, ORDER_NAME, DATE, TOTAL_LINE_ITEM_LEVEL_IMPRESSIONS, TOTAL_LINE_ITEM_LEVEL_CLICKS).
The connector is free-format: rather than declaring a static field list, it discovers available fields from the columns of the cached table. Internal bookkeeping columns (id, filename, file_updated_at, created_at, updated_at) are hidden, and every remaining column — that is, each GAM breakdown and metric — is exposed as a queryable field. Add a column to the report in Google Ad Manager and it appears in Adriel after the next sync; remove one and it disappears.
Because the schema is entirely report-defined, two Google Ad Manager data sources built from different reports can expose completely different fields.
Field type mapping
Google Ad Manager has no fixed metric or breakdown catalog in Adriel. The available fields are the columns of the bound report, and each column’s Adriel data type is inferred from the cached values at sync time (schema-on-read).How to read the columnsThe Data type column uses the platform’s vocabulary: Number, Currency, Percentage, Ratio, Duration, Date, Text, URL, Array, Boolean. The Field role column indicates whether the field is used as a metric or as a breakdown.
Notes on typing:
- Types are inferred from values. Adriel determines each column’s data type by sampling the cached rows, so the resulting type reflects the actual values Google Ad Manager returns for that column.
- Numeric columns are treated as metrics. Numeric columns are generally excluded from breakdown selectors, so a report’s metric columns behave as measurable values rather than groupings.
- Money and rate metrics. Currency and percentage formatting is not applied automatically; revenue, CPM, and rate-style GAM metrics are exposed as plain numbers unless formatted in the widget.
Limitations
Based on the current connector:- Generic DataSource — limited native cross-source blending. Google Ad Manager is a Generic DataSource. Its data can be viewed in a generic table, but it cannot be combined with other connector types in the same widget natively unless they share the same breakdowns. To combine it with other sources, configure Blend Data settings.
- Report-defined schema only. Metrics and breakdowns cannot be added in Adriel. To change what is available, edit the saved report inside Google Ad Manager; the change appears after the next sync.
- One report per data source. A saved report maps to a single data source; multiple reports require multiple data sources.
- Daily snapshot latency. Data reflects the most recent daily cache, not live figures. Changes in Google Ad Manager after the last sync are not visible until the next scheduled refresh.
- Multi-date-range reports. If a GAM report defines multiple date ranges, only the first date range’s data is imported; additional date ranges are silently dropped. Configure the report with a single date range.
- Empty report. A report that returns zero rows replaces the cache with no data, and no fields are exposed until a later sync returns rows.
- Report deleted or renamed in GAM. If the bound report is removed in Google Ad Manager, the data source can no longer sync new data.
- Rate limiting. When Google Ad Manager returns HTTP 429, the sync fails immediately with a rate-limit message and is not retried automatically.
- Authorization loss. An expired or revoked Google authorization (
invalid_grant) automatically disconnects the data source; reconnection requires re-authorizing — see the paired how-to.
API references
See also
- How to connect Google Ad Manager (paired how-to)
- Google Campaign Manager 360 data reference — report-driven Generic DataSource with the same saved-report model
- Salesforce Reporting data reference — another saved-report, atomic-replace connector
- Google BigQuery data reference — schema-on-read connector where fields come from the source, not an Adriel catalog
