Table [Dynamic Table]
Description
No description available
Supported Operations
Below section contains supported CRUD operations. Each operation is executed by some EndPoint behind the scene.Method | Supported | Reference EndPoint |
---|---|---|
SELECT | get_resource_data | |
INSERT | ||
UPDATE | ||
UPSERT | ||
DELETE | ||
LOOKUP |
Examples
SSIS
Use Google Ads Connector in API Source component to read data or in API Destination component to read/write data:
Read from [Dynamic Table] table using API Source
Required Parameters | |
---|---|
Filter | Fill-in the parameter... |
Resource | Fill-in the parameter... |
Optional Parameters | |
Attributes (Leave blank to select all) | |
Segments (Group By) | |
Metrics (Aggregate Fields) | |
Where Clause | |
OrderBy Clause | |
Limit Clause (i.e. Max Rows) - Blank means all rows |

Read/write to [Dynamic Table] table using API Destination
Required Parameters | |
---|---|
Filter | Fill-in the parameter... |
Resource | Fill-in the parameter... |
Optional Parameters | |
Attributes (Leave blank to select all) | |
Segments (Group By) | |
Metrics (Aggregate Fields) | |
Where Clause | |
OrderBy Clause | |
Limit Clause (i.e. Max Rows) - Blank means all rows |

ODBC application
Use these SQL queries in your ODBC application data source:
Query Google Ads data (Simple Mode) - using #DirectSQL prefix
Get Google Ads report data using GAQL (Google Ads Query Language) - SQL query using simple mode. This example passes GAQL query to get_query_result endpoint with specifying endpoint details. You must prefix query with special tag #DirectSQL
#DirectSQL
--Use Query Builder here https://developers.google.com/google-ads/api/fields/v18/overview_query_builder
--Paste Generated query below
SELECT campaign.id, campaign.name, metrics.impressions, metrics.clicks, metrics.cost_micros
FROM campaign
--WHERE campaign.status = 'ENABLED'
--ORDER BY campaign.id
--LIMIT 1000
Query Google Ads Campaign Performance Data (Metrics / Segments) - using #DirectSQL prefix
Get Google Ads report data using GAQL (Google Ads Query Language) group by Date and Campaign. You must prefix query with special tag #DirectSQL
#DirectSQL
--Use Query Builder here https://developers.google.com/google-ads/api/fields/v18/overview_query_builder
--Paste Generated query below
SELECT
segments.date
, campaign.id
, campaign.name
, metrics.all_conversions
, metrics.average_cpc
, metrics.average_cost
, metrics.average_cpv
, metrics.average_cpm
, metrics.average_cpe
, metrics.average_impression_frequency_per_user
, metrics.average_page_views
, metrics.bounce_rate
, metrics.clicks
, metrics.conversions
, metrics.content_impression_share
, metrics.content_budget_lost_impression_share
, metrics.cost_micros
, metrics.cost_per_all_conversions
, metrics.cost_per_conversion
, metrics.ctr
, metrics.engagement_rate
, metrics.engagements
--, metrics.general_invalid_click_rate
--, metrics.general_invalid_clicks
, metrics.impressions
, metrics.interaction_rate
, metrics.interactions
, metrics.invalid_clicks
, metrics.search_absolute_top_impression_share
, metrics.search_budget_lost_absolute_top_impression_share
, metrics.search_budget_lost_impression_share
, metrics.search_budget_lost_top_impression_share
, metrics.search_click_share
, metrics.search_impression_share
, metrics.video_view_rate
, metrics.video_quartile_p75_rate
, metrics.video_quartile_p50_rate
, metrics.video_quartile_p25_rate
, metrics.video_quartile_p100_rate
, metrics.video_views
, metrics.view_through_conversions
, metrics.unique_users
, metrics.top_impression_percentage
, metrics.search_rank_lost_top_impression_share
, metrics.search_rank_lost_impression_share
, metrics.search_rank_lost_absolute_top_impression_share
, metrics.search_top_impression_share
, metrics.search_exact_match_impression_share
, metrics.absolute_top_impression_percentage
, metrics.active_view_cpm
, metrics.active_view_ctr
, metrics.active_view_impressions
FROM campaign
WHERE segments.date BETWEEN '<<monthstart,FUN_TO_DATE>>' and '<<today-1d,FUN_TO_DATE>>'
--WHERE segments.date BETWEEN '2025-01-25' and '2025-02-25'
--AND WHERE campaign.status = 'ENABLED'
--ORDER BY segments.date,campaign.id
--LIMIT 1000
SQL Server
Use these SQL queries in SQL Server after you create a data source in Data Gateway:
Query Google Ads data (Simple Mode) - using #DirectSQL prefix
Get Google Ads report data using GAQL (Google Ads Query Language) - SQL query using simple mode. This example passes GAQL query to get_query_result endpoint with specifying endpoint details. You must prefix query with special tag #DirectSQL
DECLARE @MyQuery NVARCHAR(MAX) = '#DirectSQL
--Use Query Builder here https://developers.google.com/google-ads/api/fields/v18/overview_query_builder
--Paste Generated query below
SELECT campaign.id, campaign.name, metrics.impressions, metrics.clicks, metrics.cost_micros
FROM campaign
--WHERE campaign.status = ''ENABLED''
--ORDER BY campaign.id
--LIMIT 1000';
EXEC (@MyQuery) AT [LS_TO_GOOGLE_ADS_IN_GATEWAY];
Query Google Ads Campaign Performance Data (Metrics / Segments) - using #DirectSQL prefix
Get Google Ads report data using GAQL (Google Ads Query Language) group by Date and Campaign. You must prefix query with special tag #DirectSQL
DECLARE @MyQuery NVARCHAR(MAX) = '#DirectSQL
--Use Query Builder here https://developers.google.com/google-ads/api/fields/v18/overview_query_builder
--Paste Generated query below
SELECT
segments.date
, campaign.id
, campaign.name
, metrics.all_conversions
, metrics.average_cpc
, metrics.average_cost
, metrics.average_cpv
, metrics.average_cpm
, metrics.average_cpe
, metrics.average_impression_frequency_per_user
, metrics.average_page_views
, metrics.bounce_rate
, metrics.clicks
, metrics.conversions
, metrics.content_impression_share
, metrics.content_budget_lost_impression_share
, metrics.cost_micros
, metrics.cost_per_all_conversions
, metrics.cost_per_conversion
, metrics.ctr
, metrics.engagement_rate
, metrics.engagements
--, metrics.general_invalid_click_rate
--, metrics.general_invalid_clicks
, metrics.impressions
, metrics.interaction_rate
, metrics.interactions
, metrics.invalid_clicks
, metrics.search_absolute_top_impression_share
, metrics.search_budget_lost_absolute_top_impression_share
, metrics.search_budget_lost_impression_share
, metrics.search_budget_lost_top_impression_share
, metrics.search_click_share
, metrics.search_impression_share
, metrics.video_view_rate
, metrics.video_quartile_p75_rate
, metrics.video_quartile_p50_rate
, metrics.video_quartile_p25_rate
, metrics.video_quartile_p100_rate
, metrics.video_views
, metrics.view_through_conversions
, metrics.unique_users
, metrics.top_impression_percentage
, metrics.search_rank_lost_top_impression_share
, metrics.search_rank_lost_impression_share
, metrics.search_rank_lost_absolute_top_impression_share
, metrics.search_top_impression_share
, metrics.search_exact_match_impression_share
, metrics.absolute_top_impression_percentage
, metrics.active_view_cpm
, metrics.active_view_ctr
, metrics.active_view_impressions
FROM campaign
WHERE segments.date BETWEEN ''<<monthstart,FUN_TO_DATE>>'' and ''<<today-1d,FUN_TO_DATE>>''
--WHERE segments.date BETWEEN ''2025-01-25'' and ''2025-02-25''
--AND WHERE campaign.status = ''ENABLED''
--ORDER BY segments.date,campaign.id
--LIMIT 1000';
EXEC (@MyQuery) AT [LS_TO_GOOGLE_ADS_IN_GATEWAY];