Overview
Search Ads 360 (SA360) is Google’s enterprise search management platform, providing centralised management, reporting, and optimisation for search campaigns across multiple search engines (Google Ads, Bing Ads, Yahoo, etc.).
The SA360 API allows programmatic access to campaign, ad group, keyword, and creative performance metrics, enabling advertisers to automate reporting, bid strategies, and multi-engine optimisations.
Data handled by the integration:
Account & Campaign Data
SA360 advertiser accounts and engine accounts
Campaign groups and campaigns
Campaign objectives and statuses
Budget, bid strategy, and pacing configuration
Engine-specific campaign mapping (Google Ads, Bing, Yahoo, etc.)
Ad Group & Keyword Data
Ad groups and targeting settings
Keywords / search terms
Keyword match types
Bid adjustments and max CPC / CPA settings
Approval status and policy compliance
Creative & Ad Data
Text ads, expanded text ads, responsive search ads, dynamic search ads
Ad ID, headline, description, and final URLs
Creative approval and policy status
Performance Metrics
Impressions, clicks, CTR
Cost, CPC, CPA, and spend
Conversions and conversion value
Average position and impression share
Cross-engine performance aggregation
Audience & Targeting
Device type (desktop, mobile, tablet)
Location targeting (country, region, city, postal code)
Demographics (age, gender) where available
Audience lists / remarketing segments
Metadata & Reference Tables
Campaign, ad group, keyword hierarchies
Engine-specific mappings
Ad formats and device types
Conversion action definitions
Granularity:
SA360 integration retrieves data at various levels: Advertiser, Campaign, Ad Group, Keyword, Ad and Creative Level.
Purpose:
Analyse keyword and ad group effectiveness
Optimise bids and budgets at campaign or keyword level
Track conversions, CPA, ROAS, and impression share
Build dashboards for multi-engine paid search reporting
Conduct historical audits and trend analysis
Refresh Cadence:
Data is refreshed daily.
Update Modes:
Append (for data table), Refresh (for metadata)
For more information on this integration, please follow the link here.
Jobs Configuration
1. Job: SA360 - Delivery Data Import
Feed:
sa360Status:
2(Active)Job Label:
SA360 - Delivery Data ImportLookback: 5 days
First Run Hour: 6 AM
Poll Frequency: Every 24 hours
Lookback Window: 0
Targets:
Table | Description | Filter | Date Column Name |
sa360_data_campaign_delivery | Campaign Delivery Data | metrics.impressions > 0 | date |
sa360_data_adgroup_delivery | Adgroup Delivery Data | metrics.impressions > 0 | date |
sa360_data_keyword_delivery | Keyword Delivery Data | metrics.impressions > 0 | date |
2. Job: SA360 - Activity Data Import
Feed:
sa360Status:
2(Active)Job Label:
SA360 - Activity Data ImportLookback: 5 days
First Run Hour: 6 AM
Poll Frequency: Every 24 hours
Lookback Window: 0
Targets:
Table | Description | Filter | Date Name |
sa360_data_campaign_activity | Campaign Activity Data | metrics.all_conversions > 0 | date |
sa360_data_adgroup_activity | Adgroup Activity Data | metrics.all_conversions > 0 | date |
sa360_data_keyword_activity | Keyword Activity Data | metrics.all_conversions > 0 | date |
3. Job: SA360 - Meta Data Refresh
Feed:
sa360Status:
2(Active)Job Label:
SA360 - Meta Data RefreshLookback: 1 day
First Run Hour: 6 AM
Poll Frequency: Every 24 hours
Lookback Window: 0
Targets:
Type | Table | Description | Update Mode | Create Target |
lookup | sa360_meta_accounts | SA360 - Accounts | refresh | true |
lookup | sa360_meta_customer | SA360 - Customers | refresh | true |
lookup | sa360_meta_campaign | SA360 - Campaign | refresh | true |
lookup | sa360_meta_adgroup | SA360 - AdGroup | refresh | true |
lookup | sa360_meta_ad | SA360 - Ad | refresh | true |
Connection Settings
Key | Description | Type | Required |
sa360_manager_accounts | Top-level Manager Accounts / MCC IDs | text | yes |
google_client_secret | Google Secret value for authentication | hidden | yes |
google_client_id | Google Client ID for authentication | hidden | yes |
Token: (empty)
Username: (empty)
Password: (empty)
Description:
SA360
Dimensions
Name | Result Fields |
Account [SA360] | sa360_meta_customer.customer_name |
Campaign [SA360] | sa360_meta_campaign.campaign_name |
Adgroup [SA360] | sa360_meta_adgroup.ad_group_name |
Keyword [SA360] | sa360_data_keyword_delivery.keyword_text |
Device [SA360] | sa360_data_campaign_delivery.device |
| sa360_data_adgroup_delivery.device |
| sa360_data_keyword_delivery.device |
Base Metrics
Name | Description | Formula (aggregate over Campaign / Adgroup / Keyword) | Round | Prefix |
Spend [SA360] | Total spend in £ | SUM(cost_micros) / 1,000,000 (from campaign, adgroup, keyword tables) | 2 | £ |
Clicks [SA360] | Total clicks | SUM(clicks) (from campaign, adgroup, keyword tables) |
|
|
Impressions [SA360] | Total impressions | SUM(impressions) (from campaign, adgroup, keyword tables) |
|
|
All Conversions [SA360] | Total conversions | SUM(all_conversions) (from campaign, adgroup, keyword activity tables) |
|
|
All Conversions Value [SA360] | Total value of conversions | SUM(all_conversions_value) (from campaign, adgroup, keyword activity tables) |
|
|
Cross Device Conversions [SA360] | Cross-device conversions | SUM(cross_device_conversions) (from campaign, adgroup, keyword activity tables) |
|
|
Cross Device Conversions Value [SA360] | Value of cross-device conversions | SUM(cross_device_conversions_value) (from campaign, adgroup, keyword activity tables) |
|
|
Composite Metrics
Name | Formula | Round | Prefix | Suffix |
CTR [SA360] | (Clicks [SA360] / Impressions [SA360]) * 100 | 2 |
| % |
CPM [SA360] | (Spend [SA360] / Impressions [SA360]) * 1000 | 2 | £ |
|
CPC [SA360] | Spend [SA360] / Clicks [SA360] | 2 | £ |
|
Datasource Joins
Each join specifies how to link fact tables to meta tables using these keys:
Join Index | Source Table | Join Specs |
0 | sa360_data_adgroup_activity | ad_group_id → sa360_meta_adgroup.ad_group_id |
|
| campaign_id → sa360_meta_campaign.campaign_id |
|
| customer_id → sa360_meta_customer.customer_id |
1 | sa360_data_adgroup_delivery | same as above |
2 | sa360_data_keyword_activity | same as above |
3 | sa360_data_keyword_delivery | same as above |
4 | sa360_data_campaign_activity | campaign_id → sa360_meta_campaign.campaign_id |
|
| customer_id → sa360_meta_customer.customer_id |
5 | sa360_data_campaign_delivery | same as above |
SA360 Custom Columns Integration Configuration
Summary
This configuration sets up the automated import of custom activity metrics from Search Ads 360 (SA360). It includes two key jobs:
SA360 - Activity Custom Import:
Imports campaign, adgroup, and keyword-level custom activity data using a filter on conversions.SA360 - Meta Data Refresh:
Refreshes SA360 metadata, specifically the custom column definitions needed to interpret the imported custom metrics.
All jobs are scheduled daily at 6 AM, with a 5-day lookback for activity data and a 1-day lookback for metadata.
Jobs Configuration
Job 1: SA360 - Activity Custom Import
Field | Value |
Feed |
|
Status |
|
Label | SA360 - Activity Custom Import |
Lookback | 5 days |
First Run Hour | 6 AM |
Poll Frequency | 24 hours |
Lookback Window | 0 |
Targets
Priority | Table | Description | Filter |
1 |
| Campaign Activity Data |
|
2 |
| Adgroup Activity Data |
|
3 |
| Keyword Activity Data |
|
Job 2: SA360 - Meta Data Refresh
Field | Value |
Feed |
|
Status |
|
Label | SA360 - Meta Data Refresh |
Lookback | 1 day |
First Run Hour | 6 AM |
Poll Frequency | 24 hours |
Lookback Window | 0 |
Target
Priority | Table | Description | Update Mode | Create Target |
1 |
| SA360 - Custom Cols | refresh | true |
Connection Settings
Key | Description |
| Manager Account / MCC ID |
| Google API Secret used for OAuth |
| Google OAuth Client ID |
| Google OAuth scopes |
Datasource Joins
Used to join imported custom activity data with SA360 metadata for enriched reporting.
Source Table | Join Specs |
|
|
| Same as above |
|
|

