Skip to main content

Google Ads

Google Ads is a comprehensive digital advertising platform that enables businesses to create, manage, and optimize advertising campaigns across Google's search network, display network, YouTube, and partner sites, providing advanced targeting, bidding strategies, and performance analytics to maximize marketing ROI.

Google Ads icon

Power end-to-end data operations for your Google Ads API with Nexla. Our bi-directional Google Ads connector is purpose-built for Google Ads, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Google Ads or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Google Ads workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

Before creating a Google Ads credential, you need to have a Google Ads account with API access enabled and obtain your Ads Manager ID (also known as login customer ID). The Ads Manager ID is required to authenticate with the Google Ads API.

To obtain your Ads Manager ID, you need to have a Google Ads account with manager account access. The Ads Manager ID is the Google Ads customer ID of the manager making the API call. The Ads Manager ID should be entered without hyphens (e.g., 1234567890 instead of 123-456-7890). You can find your Ads Manager ID in your Google Ads account settings. Google Ads uses OAuth 2.0 authentication with the scope https://www.googleapis.com/auth/adwords to securely authenticate API requests. For detailed information about Google Ads API authentication and setup, refer to the Google Ads API documentation.

Authenticate

Credentials required

FieldRequiredSecretDescription
Ads Manager IDYesNoThe Google Ads customer ID of the manager making the API call. Be sure to remove any hyphens, so 1234567890 instead of 123-456-7890.
API VersionYesNoGoogle Ads API Version that your wish to use.

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

New Credential Overlay – Google Ads

GoogleAdsCred.png
  1. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

OAuth 2.0 Authentication

Google Ads uses OAuth 2.0 authentication with Nexla's public application. The OAuth 2.0 authorization flow is handled automatically by Nexla, and most OAuth settings are pre-configured.

  1. Click the Authorize button to start the OAuth 2.0 authorization flow. You will be redirected to Google's authorization page where you can sign in to your Google account and grant permissions to Nexla.

    The OAuth 2.0 authorization flow allows Nexla to access your Google Ads account on your behalf. You will be asked to grant permissions for the scope https://www.googleapis.com/auth/adwords, which provides access to your Google Ads data. The authorization process is handled automatically by Nexla, and you will be redirected back to Nexla once authorization is complete.

Ads Manager ID

  1. Enter your Google Ads Ads Manager ID in the Ads Manager ID field. This is the Google Ads customer ID of the manager making the API call. The Ads Manager ID should be entered without hyphens (e.g., 1234567890 instead of 123-456-7890). You can find your Ads Manager ID in your Google Ads account settings.

    The Ads Manager ID is the Google Ads customer ID of the manager account making the API call. This ID is used in the login-customer-id header for all API requests to the Google Ads API. Be sure to remove any hyphens from the customer ID when entering it (e.g., 1234567890 instead of 123-456-7890). For detailed information about finding your Ads Manager ID, see the Google Ads API documentation.

API Version

  1. Enter the Google Ads API version you wish to use in the API Version field. This is the API version that will be used for all API requests. The default value is v13 if not specified.

    The API version determines which version of the Google Ads API will be used for requests. Google regularly releases new API versions with updated features and improvements. The default version is v13, but you can specify a different version if needed. For detailed information about available API versions, see the Google Ads API documentation.

  2. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Google Ads connector tile, then select the credential that will be used to connect to the Google Ads instance, and click Next; or, create a new Google Ads credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Google Ads endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below. Click on an endpoint to see more information about it and how to configure your data source for this endpoint.

Get Discovery Document

Inspect Google Ads API's discovery document to get a full list of services, information about their URLs, and request and response formats.

  • Enter the Google Ads API version you wish to fetch metadata for in the API Version field. This is the API version for which you want to retrieve the discovery document. The default value is v13 if not specified.

  • The endpoint uses GET requests to https://googleads.googleapis.com/$discovery/rest?version={api_version} where {api_version} is the API Version you provide. The endpoint URL is automatically constructed based on the Google Ads API base URL and the API version.
  • The endpoint does not use pagination and returns the discovery document in a single request.
  • The endpoint will return the complete discovery document for the specified API version, including information about all available services, their URLs, and request and response formats. The response data is extracted from the root-level object in the API response ($), and Nexla will process the entire response structure.

The discovery document provides comprehensive information about the Google Ads API, including all available services, their endpoints, and the structure of requests and responses. This is useful for understanding the API capabilities and available resources. The endpoint uses a static URL (iteration.type: static.url) and does not require pagination. The response data path is $, which extracts the entire root-level object from the API response. For detailed information about the discovery document, see the Google Ads API documentation.

Execute Query for Fetching Resource Records

Execute a GAQL query that fetches records of a specific resource type. This endpoint triggers a GAQL SELECT query on one resource. Try advanced mode for query customizations.

  • Enter the Google Ads customer Account ID that you wish to fetch data for in the Customer Account ID field. This should be the customer ID without hyphens (e.g., 1234567890 instead of 123-456-7890).

  • Enter a comma-separated list of resource attributes to fetch for this object in the Resource Attributes to Fetch field. Attributes should be valid Google Ads API resource attributes (e.g., customer.id,customer.descriptive_name). Use the discovery endpoint to find available field names. The default value is customer.id,customer.descriptive_name if not specified.

  • Enter the resource name to execute the GAQL query on in the Resource Name field. Resource names should be valid Google Ads Resource names (e.g., customer, campaign, ad_group). The default value is customer if not specified.

  • The endpoint uses POST requests to https://googleads.googleapis.com/{api_version}/customers/{customer_id}/googleAds:search with a JSON body containing a GAQL SELECT query. The query is automatically constructed as SELECT {select_cmd} FROM {resource_name} where {api_version} is the API Version from your credential, {customer_id} is the Customer Account ID, {select_cmd} is the Resource Attributes to Fetch, and {resource_name} is the Resource Name you provide.
  • The endpoint uses token-based pagination, automatically fetching additional pages as needed. When a response includes a nextPageToken value, Nexla automatically uses it as the pageToken query parameter for the subsequent request to fetch the next page of results.
  • The endpoint will return all records matching the GAQL query. The response data is extracted from the results array in the API response ($.results[*]), with each record processed individually.

GAQL (Google Ads Query Language) is a SQL-like query language used to retrieve data from Google Ads resources. Customer Account IDs should be entered without hyphens (e.g., 1234567890 instead of 123-456-7890). Resource attributes should be valid Google Ads API resource attributes, and you can use the discovery endpoint to find available field names. The endpoint uses token-based pagination (iteration.type: paging.next.token) through the nextPageToken mechanism. When a response includes a nextPageToken value, Nexla automatically uses it as the pageToken query parameter for the subsequent request. The response data path is $.results[*], which extracts all items from the results array in the API response. For detailed information about GAQL queries and available resources, see the Google Ads API documentation.

Execute Query using GAQL

Execute a GAQL query. Please refer to the API documentation for valid GAQL query syntax.

  • Enter the Google Ads customer Account ID that you wish to execute the query for in the Customer Account ID field. This should be the customer ID without hyphens (e.g., 1234567890 instead of 123-456-7890).

  • Enter the GAQL query to be executed in the Query (GAQL Syntax) field. This should be a valid GAQL query (e.g., SELECT customer.id, customer.descriptive_name FROM customer). The default value is SELECT customer.id, customer.descriptive_name FROM customer if not specified.

  • The endpoint uses POST requests to https://googleads.googleapis.com/{api_version}/customers/{customer_id}/googleAds:search with a JSON body containing the GAQL query. The endpoint URL is automatically constructed based on the Google Ads API base URL, the API version from your credential, and the customer ID.
  • The endpoint uses token-based pagination, automatically fetching additional pages as needed. When a response includes a nextPageToken value, Nexla automatically uses it as the pageToken query parameter for the subsequent request to fetch the next page of results.
  • The endpoint will return all records matching the GAQL query. The response data is extracted from the results array in the API response ($.results[*]), with each record processed individually.

GAQL (Google Ads Query Language) is a SQL-like query language used to retrieve data from Google Ads resources. Customer Account IDs should be entered without hyphens (e.g., 1234567890 instead of 123-456-7890). GAQL queries follow SQL-like syntax and can include SELECT, FROM, WHERE, ORDER BY, and LIMIT clauses. The endpoint uses token-based pagination (iteration.type: paging.next.token) through the nextPageToken mechanism. When a response includes a nextPageToken value, Nexla automatically uses it as the pageToken query parameter for the subsequent request. The response data path is $.results[*], which extracts all items from the results array in the API response. For detailed information about GAQL query syntax and available resources, see the Google Ads API documentation.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

Google Ads data sources can also be manually configured to ingest data from any valid Google Ads API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request headers and parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method and endpoint URL.

Enter the URL of the Google Ads API endpoint from which this source will fetch data in the Set API URL field. This should be the complete URL including the protocol (https://) and any required path parameters. Google Ads API endpoints typically follow the pattern https://googleads.googleapis.com/{api_version}/{endpoint_path} where {api_version} is the API Version from your credential configuration.

Ensure the API endpoint URL is correct and accessible with your current credentials. You can test the endpoint using the Test button after configuring the URL. The endpoint requires OAuth 2.0 authentication via the Authorization: Bearer {token} header, which is handled automatically by your credential configuration. The endpoint also requires a developer-token header and a login-customer-id header, which are handled automatically by your credential configuration. For detailed information about Google Ads API endpoints and available APIs, see the Google Ads API documentation.