Google Ads

Use Google Ads in Sim to list accessible accounts and campaigns, retrieve ad groups and performance metrics, and run custom Google Ads Query Language (GAQL) queries. These read operations support campaign reporting and budget monitoring workflows.

Connect your Google account and select a reporting operation. Google requires the adwords OAuth scope even for read-only reports; Sim's Google Ads operations do not create or modify ads, budgets, or billing.

Google Ads API access belongs to the Google Cloud project that owns the OAuth client. Self-hosted deployments must enable the Google Ads API and configure the project's access level in the Google Ads API overview. Test access works only with Google Ads test accounts; production accounts require an appropriate production access level. Developer tokens were retired on September 9, 2026 and are no longer needed.

Use the client account's Customer ID for reports. If your Google user accesses that account through a manager, set Manager Customer ID in the additional fields. List Customers returns accounts directly accessible to the signed-in user, which may include the manager rather than its client accounts. Test accounts do not serve ads and cannot demonstrate real impressions, clicks, or spend. All report operations return one page at a time (up to 10,000 rows). Use the returned nextPageToken in Page Token with unchanged query inputs to retrieve the next page. totalCount counts the current page. Custom Query also returns totalResultsCount, which ignores GAQL LIMIT. Daily performance reports return one row per entity and date; sum counts before computing ratios. Costs are in micros of the customer account currency.

OAuth scopes

Sim requests these scopes when someone connects a Google Ads account. For a self-hosted deployment, register your own app with the provider using the settings below. See Integrations and OAuth for setup.

SettingValue
Redirect URI<NEXT_PUBLIC_APP_URL>/api/auth/oauth2/callback/google-ads
Environment variablesGOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET
ScopeDescription
https://www.googleapis.com/auth/userinfo.emailView email address
https://www.googleapis.com/auth/userinfo.profileView basic profile info
https://www.googleapis.com/auth/adwordsManage Google Ads campaigns and reporting

Use the block

Connect to Google Ads to list accessible accounts, list campaigns, view ad group details, get performance metrics, and run custom GAQL queries.

Actions

List Google Ads Customers

List Google Ads accounts directly accessible by the authenticated user; query customer_client for manager subaccounts

Input

ParameterTypeRequiredDescription

Output

ParameterTypeDescription
customerIdsarrayCustomer IDs directly accessible by the user
totalCountnumberTotal number of accessible customer accounts

Run a custom Google Ads Query Language (GAQL) query

Input

ParameterTypeRequiredDescription
customerIdstringYesGoogle Ads customer ID (numeric, no dashes)
managerCustomerIdstringNoManager account customer ID (if accessing via manager account)
querystringYesGAQL query to execute
pageTokenstringNoPage token for pagination

Output

ParameterTypeDescription
resultsarrayRows containing only the fields selected by the GAQL query
totalResultsCountnumberTotal matching rows ignoring LIMIT, when returned by Google
nextPageTokenstringToken for the next page; keep the same query and customer

List Google Ads Campaigns

List campaigns in a Google Ads account with optional status filtering

Input

ParameterTypeRequiredDescription
pageTokenstringNoContinuation token from the previous page; keep the same customer and query inputs
customerIdstringYesGoogle Ads customer ID (numeric, no dashes)
managerCustomerIdstringNoManager account customer ID (if accessing via manager account)
statusstringNoFilter by campaign status (ENABLED, PAUSED, REMOVED)
limitnumberNoMaximum number of campaigns to return

Output

ParameterTypeDescription
nextPageTokenstringContinuation token, or null on the last page; reuse unchanged query inputs
campaignsarrayList of campaigns in the account
↳ idstringCampaign ID
↳ namestringCampaign name
↳ statusstringCampaign status (ENABLED, PAUSED, REMOVED)
↳ channelTypestringAdvertising channel type (SEARCH, DISPLAY, SHOPPING, VIDEO, PERFORMANCE_MAX)
↳ startDatestringCampaign start date (YYYY-MM-DD)
↳ endDatestringCampaign end date (YYYY-MM-DD)
↳ budgetAmountMicrosstringDaily budget in micros (divide by 1,000,000 for currency value)
totalCountnumberNumber of campaigns in this page

Get performance metrics for Google Ads campaigns over a date range

Input

ParameterTypeRequiredDescription
pageTokenstringNoContinuation token from the previous page; keep the same customer and query inputs
customerIdstringYesGoogle Ads customer ID (numeric, no dashes)
managerCustomerIdstringNoManager account customer ID (if accessing via manager account)
campaignIdstringNoFilter by specific campaign ID
dateRangestringNoPredefined date range (LAST_7_DAYS, LAST_30_DAYS, THIS_MONTH, LAST_MONTH, TODAY, YESTERDAY)
startDatestringNoCustom start date in YYYY-MM-DD format
endDatestringNoCustom end date in YYYY-MM-DD format

Output

ParameterTypeDescription
nextPageTokenstringContinuation token, or null on the last page; reuse unchanged query inputs
campaignsarrayCampaign performance data broken down by date
↳ idstringCampaign ID
↳ namestringCampaign name
↳ statusstringCampaign status
↳ impressionsstringNumber of impressions
↳ clicksstringNumber of clicks
↳ costMicrosstringCost in micros (divide by 1,000,000 for currency value)
↳ ctrnumberClick-through rate (0.0 to 1.0)
↳ conversionsnumberNumber of conversions
↳ datestringDate for this row (YYYY-MM-DD)
totalCountnumberNumber of rows in this page

List Google Ads Ad Groups

List ad groups in a Google Ads campaign

Input

ParameterTypeRequiredDescription
pageTokenstringNoContinuation token from the previous page; keep the same customer and query inputs
customerIdstringYesGoogle Ads customer ID (numeric, no dashes)
managerCustomerIdstringNoManager account customer ID (if accessing via manager account)
campaignIdstringYesCampaign ID to list ad groups for
statusstringNoFilter by ad group status (ENABLED, PAUSED, REMOVED)
limitnumberNoMaximum number of ad groups to return

Output

ParameterTypeDescription
nextPageTokenstringContinuation token, or null on the last page; reuse unchanged query inputs
adGroupsarrayList of ad groups in the campaign
↳ idstringAd group ID
↳ namestringAd group name
↳ statusstringAd group status (ENABLED, PAUSED, REMOVED)
↳ typestringAd group type (SEARCH_STANDARD, DISPLAY_STANDARD, SHOPPING_PRODUCT_ADS)
↳ campaignIdstringParent campaign ID
↳ campaignNamestringParent campaign name
totalCountnumberNumber of ad groups in this page

Get performance metrics for individual ads over a date range

Inputs and outputs

Input

ParameterTypeRequiredDescription
pageTokenstringNoContinuation token from the previous page; keep the same customer and query inputs
customerIdstringYesGoogle Ads customer ID (numeric, no dashes)
managerCustomerIdstringNoManager account customer ID (if accessing via manager account)
campaignIdstringNoFilter by campaign ID
adGroupIdstringNoFilter by ad group ID
dateRangestringNoPredefined date range (LAST_7_DAYS, LAST_30_DAYS, THIS_MONTH, LAST_MONTH, TODAY, YESTERDAY)
startDatestringNoCustom start date in YYYY-MM-DD format
endDatestringNoCustom end date in YYYY-MM-DD format
limitnumberNoMaximum number of results to return

Output

ParameterTypeDescription
nextPageTokenstringContinuation token, or null on the last page; reuse unchanged query inputs
adsarrayAd performance data broken down by date
↳ adIdstringAd ID
↳ adGroupIdstringParent ad group ID
↳ adGroupNamestringParent ad group name
↳ campaignIdstringParent campaign ID
↳ campaignNamestringParent campaign name
↳ adTypestringAd type (RESPONSIVE_SEARCH_AD, EXPANDED_TEXT_AD, etc.)
↳ impressionsstringNumber of impressions
↳ clicksstringNumber of clicks
↳ costMicrosstringCost in micros (divide by 1,000,000 for currency value)
↳ ctrnumberClick-through rate (0.0 to 1.0)
↳ conversionsnumberNumber of conversions
↳ datestringDate for this row (YYYY-MM-DD)
totalCountnumberNumber of rows in this page