Overview
Add Google Ads to any ModuleX agent or workflow. Google Ads API integration covering GAQL reports across Campaigns, Ad Groups, Ads, and Customers; Customer Match list management; offline conversion uploads; and keyword idea generation against the REST API atgoogleads.googleapis.com.
Authentication
OAuth2 Authentication
Connect using Google OAuth2 (recommended). Requires a Google Ads API developer token in addition to the OAuth credentials.Required Credentials
OAuth Configuration
- Authorization URL:
https://accounts.google.com/o/oauth2/v2/auth - Token URL:
https://oauth2.googleapis.com/token - Scopes:
https://www.googleapis.com/auth/adwords
Available Actions
add_contact_to_list_by_email — Add a contact to a Google Ads Customer Match user list by email. Lists typically update in 6 to 12 hours. The email is SHA-256 hashed locally before upload.
add_contact_to_list_by_email — Add a contact to a Google Ads Customer Match user list by email. Lists typically update in 6 to 12 hours. The email is SHA-256 hashed locally before upload.
Parameters
Response
create_ad_group_report — Run a GAQL search report for the ad_group resource via GoogleAdsService.search.
create_ad_group_report — Run a GAQL search report for the ad_group resource via GoogleAdsService.search.
Parameters
ASC)Response
create_ad_report — Run a GAQL search report for the ad_group_ad resource via GoogleAdsService.search.
create_ad_report — Run a GAQL search report for the ad_group_ad resource via GoogleAdsService.search.
Parameters
ASC)Response
create_campaign_report — Run a GAQL search report for the campaign resource via GoogleAdsService.search.
create_campaign_report — Run a GAQL search report for the campaign resource via GoogleAdsService.search.
Parameters
ASC)Response
create_customer_list — Create a Google Ads UserList (CRM_BASED / RULE_BASED / LOGICAL / BASIC_USER_LIST / LOOKALIKE). Returns the new user list ID and resource name.
create_customer_list — Create a Google Ads UserList (CRM_BASED / RULE_BASED / LOGICAL / BASIC_USER_LIST / LOOKALIKE). Returns the new user list ID and resource name.
Parameters
{}){})Response
create_customer_report — Run a GAQL search report for the customer resource via GoogleAdsService.search.
create_customer_report — Run a GAQL search report for the customer resource via GoogleAdsService.search.
Parameters
ASC)Response
create_report — Run a GAQL search report against any resource via GoogleAdsService.search. Builds a SELECT/WHERE/ORDER/LIMIT query from the supplied fields/segments/metrics.
create_report — Run a GAQL search report against any resource via GoogleAdsService.search. Builds a SELECT/WHERE/ORDER/LIMIT query from the supplied fields/segments/metrics.
Parameters
ASC)Response
generate_keyword_ideas — Generate keyword ideas via KeywordPlanIdeaService.generateKeywordIdeas. Pass the GenerateKeywordIdeasRequest body fields under additional_fields.
generate_keyword_ideas — Generate keyword ideas via KeywordPlanIdeaService.generateKeywordIdeas. Pass the GenerateKeywordIdeasRequest body fields under additional_fields.
Parameters
{})Response
list_account_id_options — List customer resources directly accessible by the authenticated user via CustomerService.ListAccessibleCustomers. Useful to discover candidate account_id values.
list_account_id_options — List customer resources directly accessible by the authenticated user via CustomerService.ListAccessibleCustomers. Useful to discover candidate account_id values.
Response
send_offline_conversion — Create a ConversionAction (offline conversion tracking) via ConversionActionService.mutate.
send_offline_conversion — Create a ConversionAction (offline conversion tracking) via ConversionActionService.mutate.
Parameters
{})Response
Limits & Quotas
- Daily operations quota depends on the developer-token access level (Test, Basic, Standard). Standard tokens allow 15,000 operations/day initially. See https://developers.google.com/google-ads/api/docs/access-levels.
- Customer Match lists typically take 6 to 12 hours to update after
add_contact_to_list_by_emailruns. generate_keyword_ideascounts against the same quota and may be rate-limited per minute on Basic-access tokens.- Error model: non-2xx responses and timeouts are caught and returned as
success=False+errorrather than raising. The error string includes the API status code and body excerpt.