> ## Documentation Index
> Fetch the complete documentation index at: https://docs.adriel.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Data reference

> Metrics, breakdowns, refresh cadence, and limits for the Google Search Ads 360 data source in Adriel.

## Introduction

Google Search Ads 360 (SA360) is Google's enterprise search-management platform for running and reporting on paid search campaigns across multiple search engines. The connector imports campaign, ad group, ad, and keyword architecture along with performance reports through the SA360 Reporting API.

The SA360 Reporting API is a relatively new API, so occasional changes or unexpected behavior originating from Google's side are possible.

As a marketing connector, metrics, breakdowns, and currencies are standardized so widgets can aggregate across sources without additional configuration.

To connect this data source, see [How to connect Google Search Ads 360 to Adriel](/data-sources/g-n/google-search-ads-360/how-to-connect).

## Data refresh strategy

### Architecture data

Architecture covers ad accounts, campaigns, ad sets (ad groups), ads, and keywords. It refreshes twice daily, at **4:00 PM UTC** and **5:00 AM UTC**.

### Reports data

Reports include daily performance for ad accounts, campaigns, ad sets, and ads.

**Real-time.** Report data is fetched from Google on demand when a dashboard loads, so the latest values are always visible. On top of that, scheduled cache refreshes keep historical data consistent across multiple time windows.

**Refresh schedule.** Reports refresh on three overlapping schedules, each covering the ad account, campaign, ad set, and ad levels:

* **5:00 PM UTC daily** — syncs the last **9 days**
* **11:40 PM and 6:40 AM UTC daily** — syncs the last **3 days**
* **7:30 AM UTC on the 1st and 15th of each month** — syncs the last **30 days**

## Architecture levels

Ad account → Campaign → Ad set (ad group) → Ad → Keyword

Keyword-level architecture is **not currently available** — the connector does not yet fetch keyword rows, and keyword-level conversion reports are skipped to limit data volume.

Performance Max campaigns are campaign-level only. At the ad set and ad levels, Adriel creates synthetic rows by copying the campaign-level Performance Max data down, so Performance Max campaigns appear consistently alongside standard ad-set and ad rows.

## Date range limits

To keep query sizes manageable, the connector enforces these maximum look-back windows per time breakdown:

| Breakdown | Max range |
| --------- | --------- |
| Daily     | 93 days   |
| Weekly    | 1 year    |
| Monthly   | 2 years   |

## Metrics

<Note>
  **How to read the columns**

  The **API Key** column shows where a value comes from. Code style like `metrics.clicks` is the literal SA360 API field name. *Italic text* describes how a value is produced when it does not map cleanly to a single API field — Adriel-computed rates, cross-connector fallbacks, or aggregated values. The **Data type** column indicates how the value is formatted.
</Note>

### Reach & impressions

| Metric      | Description                                                       | Data type | API Key                    |
| ----------- | ----------------------------------------------------------------- | --------- | -------------------------- |
| Impressions | Total times the ads were displayed, regardless of interaction.    | Number    | `metrics.impressions`      |
| Reach       | Unique users who saw the ad at least once.                        | Number    | *Set equal to impressions* |
| Frequency   | Average times each reached user saw the ad (impressions ÷ reach). | Ratio     | *Adriel-computed*          |
| CPM         | Cost per thousand impressions (spend ÷ impressions).              | Currency  | *Adriel-computed*          |

### Click performance

| Metric       | Description                                                             | Data type  | API Key           |
| ------------ | ----------------------------------------------------------------------- | ---------- | ----------------- |
| Clicks (all) | Total clicks, including link, social, carousel, and other interactions. | Number     | `metrics.clicks`  |
| Link clicks  | Clicks on the ad's link.                                                | Number     | `metrics.clicks`  |
| CTR          | Click-through rate (clicks ÷ impressions).                              | Percentage | *Adriel-computed* |
| CPC          | Cost per click (spend ÷ clicks).                                        | Currency   | *Adriel-computed* |
| Outbound CTR | Outbound clicks divided by impressions.                                 | Percentage | *Adriel-computed* |

### Cost & spend

| Metric               | Description                                                   | Data type | API Key                                       |
| -------------------- | ------------------------------------------------------------- | --------- | --------------------------------------------- |
| Ad spend             | Total amount spent during the reporting period.               | Currency  | `metrics.costMicros` *(divided by 1,000,000)* |
| Ad spend (incl. VAT) | Ad spend including VAT.                                       | Currency  | `metrics.costMicros`                          |
| CPR                  | Cost per result — spend divided by the resolved result count. | Currency  | *Adriel-computed*                             |

<Note>
  **Currency conversion**

  Each ad account's currency comes from its SA360 settings. When an ad account's currency differs from the workspace currency, costs are automatically converted using the current day's exchange rate.
</Note>

### Conversion performance

| Metric                   | Description                                                                                                      | Data type | API Key                       |
| ------------------------ | ---------------------------------------------------------------------------------------------------------------- | --------- | ----------------------------- |
| Conversions              | Attributed actions matching the defined conversion events. Defaults to "Purchase" when no specific event is set. | Number    | `metrics.conversions`         |
| All conversions (Google) | Count of every conversion action recorded for the element.                                                       | Number    | *Reported by SA360*           |
| Conversion value         | Monetary value of attributed conversions.                                                                        | Currency  | `metrics.allConversionsValue` |
| Revenue                  | Monetary value of attributed conversions (alias of conversion value).                                            | Currency  | `metrics.allConversionsValue` |
| ROAS                     | Return on ad spend (conversion value ÷ spend).                                                                   | Ratio     | *Adriel-computed*             |

<Note>
  Any conversion event tracked in the ad account is imported automatically, but it only appears on the dashboard when the underlying event is active in the account.
</Note>

### Custom conversion events

For each imported conversion event, Adriel auto-generates a set of KPIs:

| Pattern             | Description                                                   | Data type  | API Key                                           |
| ------------------- | ------------------------------------------------------------- | ---------- | ------------------------------------------------- |
| `[event_name]`      | Number of conversions tracked for that event.                 | Number     | *Resolved from the event name in the SA360 setup* |
| `[event_name]: CVR` | Conversion rate for that event (conversions ÷ clicks × 100%). | Percentage | *Adriel-computed*                                 |
| `[event_name]: CPA` | Cost per action for that event (spend ÷ conversions).         | Currency   | *Adriel-computed*                                 |

These metrics appear in the field picker as `Google Search Ads 360: [event_name]` and only surface data when the underlying event is active in the account.

### Floodlight custom columns

SA360 Floodlight custom columns are user-defined and vary per account, so they cannot be predefined. Adriel discovers them dynamically across the full account hierarchy and exposes each one as a metric under the **SA360 Custom Columns** category (listed last in the field picker).

| Pattern                    | Description                                                                     | Data type          | API Key                                                         |
| -------------------------- | ------------------------------------------------------------------------------- | ------------------ | --------------------------------------------------------------- |
| `Floodlight [column name]` | Value of the SA360 Floodlight custom column, exactly as defined in the account. | Number or Currency | `custom_columns.id[{id}]` *(money values divided by 1,000,000)* |

A Floodlight metric and a Floodlight breakdown cannot be used together in the same query. See [Limitations](#limitations).

### Video & engagement

<Note>
  These metrics appear for cross-connector consistency. They are not natively meaningful for search campaigns and typically surface zero for Google Search Ads 360.
</Note>

| Metric                                         | Description                                                        | Data type | API Key                 |
| ---------------------------------------------- | ------------------------------------------------------------------ | --------- | ----------------------- |
| Engagement                                     | Any user interaction with the ad — clicks, reactions, shares, etc. | Number    | *Reported by SA360*     |
| Views                                          | Aggregated count of qualified video views.                         | Number    | *Aggregated internally* |
| CPV                                            | Cost per video view (spend ÷ views).                               | Currency  | *Adriel-computed*       |
| Video play                                     | Any play of the video, regardless of duration.                     | Number    | *Aggregated internally* |
| Video played to 25% / 50% / 75% / 100% (Views) | Plays reaching each completion threshold.                          | Number    | *Aggregated internally* |
| 2s / 3s / 6s / 15s / 30s video plays           | Plays lasting at least the given number of continuous seconds.     | Number    | *Aggregated internally* |
| Thru plays                                     | Video viewed to ≥97% or 15 seconds, whichever comes first.         | Number    | *Aggregated internally* |

### Budget & schedule

| Metric          | Description                                               | Data type | API Key                                                                                 |
| --------------- | --------------------------------------------------------- | --------- | --------------------------------------------------------------------------------------- |
| Budget          | Budget set on the campaign or ad set — daily or lifetime. | Currency  | `campaignBudget.amountMicros`, `campaignBudget.period`, `campaignBudget.deliveryMethod` |
| Daily budget    | Daily budget set on the campaign or ad set.               | Currency  | `campaignBudget.amountMicros` *when* `campaignBudget.period = DAILY`                    |
| Lifetime budget | Total budget allocated for the campaign's lifetime.       | Currency  | *Resolved from* `campaignBudget.amountMicros` *and* `campaignBudget.period`             |
| Bid cap         | Bid cap set on the ad set or campaign.                    | Currency  | `adGroup.cpcBidMicros`                                                                  |
| Bid strategy    | Bid strategy set on the ad set or campaign.               | Text      | `campaign.biddingStrategyType`                                                          |
| Starts          | Campaign start date.                                      | Date      | `campaign.startDate`                                                                    |
| Ends            | Campaign end date.                                        | Date      | `campaign.endDate`                                                                      |

### UTM tracking

| Metric       | Description                      | Data type | API Key                                        |
| ------------ | -------------------------------- | --------- | ---------------------------------------------- |
| UTM Source   | Parsed `utm_source` parameter.   | Text      | *Adriel-parsed from ad config and landing URL* |
| UTM Medium   | Parsed `utm_medium` parameter.   | Text      | *Adriel-parsed*                                |
| UTM Campaign | Parsed `utm_campaign` parameter. | Text      | *Adriel-parsed*                                |
| UTM Content  | Parsed `utm_content` parameter.  | Text      | *Adriel-parsed*                                |
| UTM Term     | Parsed `utm_term` parameter.     | Text      | *Adriel-parsed*                                |

### Campaign structure metadata

| Metric                  | Description                                           | Data type | API Key                                                                           |
| ----------------------- | ----------------------------------------------------- | --------- | --------------------------------------------------------------------------------- |
| Ad account name         | Name of the ad account.                               | Text      | `customer.descriptiveName`                                                        |
| Campaign name           | Campaign name.                                        | Text      | `campaign.name`                                                                   |
| Ad set name             | Ad set (ad group) name.                               | Text      | `adGroup.name`                                                                    |
| Ad name                 | Ad name.                                              | Text      | `adGroupAd.ad.name`                                                               |
| Keyword name            | Keyword text (Search campaigns only).                 | Text      | *Reported by SA360*                                                               |
| Status                  | Campaign / ad set / ad status.                        | Text      | `campaign.status`, `campaign.servingStatus`, `adGroup.status`, `adGroupAd.status` |
| Objective               | Campaign objective, mapped from the bidding strategy. | Text      | `campaign.biddingStrategyType`                                                    |
| Channel                 | Channel where the ad is published.                    | Text      | *Reported by SA360*                                                               |
| Creative type           | Type of the ad creative.                              | Text      | *Reported by SA360*                                                               |
| Creative URL            | Destination URL of the ad.                            | URL       | `adGroupAd.ad.displayUrl`, `adGroupAd.ad.finalUrls`                               |
| Targeting type (Ad set) | Targeting type configured on the ad set.              | Text      | *Reported by SA360*                                                               |

## Breakdowns

### Standard hierarchy

| Breakdown     | Description                                                   | API Key                                                                           |
| ------------- | ------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| Ad account    | Group by ad account (based on the ad account ID).             | `customer.descriptiveName`                                                        |
| Campaign      | Group by campaign (based on the campaign name).               | `campaign.name`                                                                   |
| Ad set        | Group by ad set / ad group (based on the ad set/ad group ID). | `adGroup.name`                                                                    |
| Ad            | Group by ad (based on the ad ID).                             | `adGroupAd.ad.name`                                                               |
| Status        | Group by campaign, ad set, or ad status.                      | `campaign.status`, `campaign.servingStatus`, `adGroup.status`, `adGroupAd.status` |
| Campaign type | Group by campaign type.                                       | `campaign.advertisingChannelType`, `campaign.advertisingChannelSubType`           |
| Bid strategy  | Group by bid strategy.                                        | `campaign.biddingStrategyType`                                                    |
| Objective     | Group by campaign objective.                                  | `campaign.biddingStrategyType`                                                    |

### Demographics

| Breakdown | Description                          | API Key             |
| --------- | ------------------------------------ | ------------------- |
| Age       | Group reports by audience age range. | *Reported by SA360* |
| Gender    | Group reports by audience gender.    | *Reported by SA360* |

### Geographic

| Breakdown | Description                                                                          | API Key             |
| --------- | ------------------------------------------------------------------------------------ | ------------------- |
| Location  | Split reports by impression location (cities or regions, depending on the platform). | *Reported by SA360* |

### Time & device

| Breakdown        | Description                                                                                                                                                     | API Key             |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------- |
| Hourly breakdown | Group results by the hour during which the impression occurred (for example, 20:00:00–20:59:59). Hours from multiple days in the range are aggregated together. | *Reported by SA360* |
| Device target    | Group reports by the device the impression occurred on.                                                                                                         | *Reported by SA360* |
| Placement        | Group reports by ad placement.                                                                                                                                  | *Reported by SA360* |

### Floodlight breakdowns

| Breakdown                 | Description                                                                   | API Key                                 |
| ------------------------- | ----------------------------------------------------------------------------- | --------------------------------------- |
| Floodlight \[column name] | Group by an SA360 Floodlight conversion custom column defined in the account. | `conversion_custom_dimensions.id[{id}]` |

### Time & date grouping

<Note>
  The API returns daily records; Adriel groups them into these views for reporting.
</Note>

| Breakdown           | Description                                                  |
| ------------------- | ------------------------------------------------------------ |
| Auto Time Breakdown | Automatically picks the best granularity for the date range. |
| Daily               | Split reports by day.                                        |
| Weekly              | Split reports by week.                                       |
| Monthly             | Split reports by calendar month.                             |

### UTM tracking

<Note>
  UTM values are parsed by Adriel from each ad's configuration and landing URL, not returned by SA360.
</Note>

| Breakdown    | Description                     |
| ------------ | ------------------------------- |
| UTM Source   | Group by parsed `utm_source`.   |
| UTM Medium   | Group by parsed `utm_medium`.   |
| UTM Campaign | Group by parsed `utm_campaign`. |
| UTM Content  | Group by parsed `utm_content`.  |
| UTM Term     | Group by parsed `utm_term`.     |

## Limitations

Based on the current connector, Google Search Ads 360 has the following limits:

* **Relatively new API** — the SA360 Reporting API is relatively new, so occasional changes or unexpected behavior originating from Google's side are possible.
* **Keyword level not available** — the connector does not yet fetch keyword-level architecture, and keyword-level conversion reports are skipped to limit data volume.
* **One breakdown per query** — reports do not support more than one breakdown at a time.
* **Floodlight metric and Floodlight breakdown cannot be combined** — using a Floodlight custom-column metric together with a Floodlight breakdown in the same query is not supported and returns an error.
* **Performance Max resolution** — data provided by the API for Performance Max campaigns has limited resolution, which may result in missing fields. At the ad-set and ad levels, Performance Max rows are synthesized from campaign-level data.
* **Data truncation** — this connector limits the amount of data that can be fetched in a single query, so some data may be truncated. Report queries are capped at 10 pages, architecture at 20 pages, and account-hierarchy traversal at 50 pages. Narrow the date range or query at a higher level to resolve.

## API references

* [Search Ads 360 Reporting API](https://developers.google.com/search-ads/reporting)
* [Search Ads 360 Reporting API reference](https://developers.google.com/search-ads/reporting/api/reference/rest)
* [OAuth 2.0 for Google APIs](https://developers.google.com/identity/protocols/oauth2)

## See also

* [How to connect Google Search Ads 360 to Adriel](/data-sources/g-n/google-search-ads-360/how-to-connect)
* [Google Ads data reference](/data-sources/g-n/google-ads/data-reference)
* [Google Display & Video 360 (DV360) data reference](/data-sources/g-n/google-display-video-360-dv360/data-reference)
