Google Ads
Google Ads is Google's online advertising platform that enables businesses to create and manage advertising campaigns across Google Search, Display Network, YouTube, and other Google properties. With Google Ads, you can reach potential customers at the moment they're searching for products or services like yours, display visual ads across millions of websites, and track campaign performance with detailed analytics.
This connector provides comprehensive access to the Google Ads API v23, enabling you to programmatically manage campaigns, ad groups, keywords, ads, budgets, and access detailed performance reports.
Authentication Types
Google Ads supports 1 authentication method:
- OAuth 2.0 - Standard OAuth authentication with Google Ads API scope
- Pros: Secure, user-authorized access to Google Ads accounts
- Cons: Requires both OAuth credentials AND a Developer Token; initial setup is more complex
- Best for: Programmatic campaign management, automated reporting, and integration with other systems
General Settings
Before using the Google Ads connector, you need to configure two critical settings:
Developer Token
A Developer Token is a unique 22-character alphanumeric string required for every Google Ads API call. It identifies your application to Google and controls your API access level.
How to get your Developer Token:
- Sign in to your Google Ads account
- Click the Tools & Settings icon in the top right
- Under Setup, click API Center
- Your Developer Token is displayed at the top of the page
- Copy the token (format:
1234567890ABCDEFGHIJ)
Access Levels:
- Test Access (default) - Can only access test accounts; limited to 15,000 operations/day
- Basic Access - Can access production accounts with up to 15,000 operations/day
- Standard Access - Unlimited operations for approved applications
If your Developer Token has "Test Access" level, you'll need to apply for Basic or Standard access to use it with production Google Ads accounts. This requires demonstrating API usage and may take a few days for Google to review.
Customer ID
Your Customer ID is a unique 10-digit identifier for your Google Ads account (sometimes called Client Customer ID). This determines which account the API calls will be made against.
How to find your Customer ID:
- Sign in to your Google Ads account
- Look at the top right corner of any page
- Your Customer ID is displayed next to your account name (format:
123-456-7890) - Important: Remove the hyphens when entering in Webrix (use
1234567890)
If you manage multiple Google Ads accounts through a manager account (MCC), each sub-account has its own Customer ID. Use the specific Customer ID for the account you want to access.
Setting up OAuth
Follow these steps to configure OAuth authentication for Google Ads:
1. Create a Google Cloud Project
- Go to the Google Cloud Console
- Click Select a project at the top of the page, then click New Project
- Enter a project name (e.g., "Webrix Google Ads Integration")
- Click Create
2. Enable the Google Ads API
- In your Google Cloud project, navigate to APIs & Services > Library
- Search for "Google Ads API"
- Click on Google Ads API and click Enable
- Wait for the API to be enabled (this may take a minute)
3. Configure the OAuth Consent Screen
- Navigate to APIs & Services > OAuth consent screen
- Select External as the User Type (or Internal if you're using Google Workspace and want to restrict to your organization)
- Click Create
- Fill in the required information:
- App name: Enter your application name (e.g., "Webrix")
- User support email: Select your email address
- Developer contact information: Enter your email address
- Click Save and Continue
- On the Scopes page, click Add or Remove Scopes
- Scroll down or search for the Google Ads API scope:
https://www.googleapis.com/auth/adwords(required for Google Ads API access)
- Check the box next to this scope
- Click Update and then Save and Continue
- If using External user type, add test users who should have access during development (add the email addresses of Google Ads account users)
- Click Save and Continue to review, then click Back to Dashboard
The Google Ads API uses a single OAuth scope (adwords) that grants full access. Unlike some Google APIs, there are no separate read-only or limited scopes.
4. Create OAuth 2.0 Credentials
- Navigate to APIs & Services > Credentials
- Click Create Credentials at the top and select OAuth client ID
- Select Web application as the Application type
- Enter a name for your OAuth client (e.g., "Webrix Web Client")
- Under Authorized redirect URIs, add your Webrix redirect URI:
- For Webrix Cloud:
https://app.webrix.ai/oauth/callback - For self-hosted: Your Webrix instance callback URL
- For Webrix Cloud:
- Click Create
- A dialog will appear with your Client ID and Client Secret
- Copy both values - you'll need them for Webrix configuration
5. Configure in Webrix
- Log in to your Webrix instance
- Navigate to Connectors or Integrations
- Find and select Google Ads
- Enter your General Settings:
- Developer Token: Paste your 22-character token from the Google Ads API Center
- Customer ID: Enter your 10-digit Customer ID (no hyphens)
- Choose OAuth as the authentication method
- Paste your Client ID from step 4
- Paste your Client Secret from step 4
- The scope
https://www.googleapis.com/auth/adwordsis pre-selected - Click Connect or Authorize
- You'll be redirected to Google to grant permissions
- Important: Sign in with a Google account that has access to the Google Ads account specified by your Customer ID
- Review the permissions and click Allow
- You'll be redirected back to Webrix with a successful connection
6. Verify the Connection
After authorization, test the connection:
- Use the List Accessible Customers tool to verify you can access your account
- Try the Get Customer Details tool to see your account information
- Run a simple List Campaigns query to verify data access
Common Use Cases
Campaign Performance Monitoring
Use the reporting tools to track campaign performance:
Tool: Get Campaign Performance Report
Parameters:
- dateRange: "LAST_30_DAYS"
- campaignStatus: "ENABLED"
This returns key metrics (impressions, clicks, cost, conversions) for all active campaigns over the last 30 days.
Bulk Keyword Management
Add multiple keywords to an ad group efficiently:
Tool: Add Keywords
Parameters:
- adGroup: "customers/1234567890/adGroups/98765"
- keywords: [
{"text": "buy shoes online", "matchType": "PHRASE"},
{"text": "running shoes", "matchType": "BROAD"},
{"text": "nike shoes", "matchType": "EXACT"}
]
Campaign Creation
Create a new search campaign:
Tool: Create Campaign
Parameters:
- name: "Summer Sale 2026"
- advertisingChannelType: "SEARCH"
- status: "PAUSED"
- campaignBudget: "customers/1234567890/campaignBudgets/11111"
- biddingStrategyType: "MAXIMIZE_CONVERSIONS"
Custom Reporting with GAQL
For advanced users, execute custom queries using Google Ads Query Language:
Tool: Run Custom GAQL Query
Parameters:
- query: "SELECT campaign.name, ad_group.name, metrics.clicks, metrics.impressions, metrics.cost_micros FROM ad_group WHERE campaign.status = 'ENABLED' AND segments.date DURING LAST_7_DAYS ORDER BY metrics.clicks DESC LIMIT 50"
Automated Bid Adjustments
Update keyword bids based on performance:
Tool: Update Keywords
Parameters:
- keywords: [
{
"resourceName": "customers/1234567890/adGroupCriteria/98765~11111",
"cpcBidMicros": 2500000
}
]
Note: 2,500,000 micros = $2.50 (or 2.50 in your account currency)
Understanding Key Concepts
Resource Names
Google Ads API uses resource names to identify entities. The format is:
- Campaign:
customers/1234567890/campaigns/98765 - Ad Group:
customers/1234567890/adGroups/98765 - Keyword:
customers/1234567890/adGroupCriteria/98765~11111
Micros (Currency)
All monetary values in the Google Ads API are represented in "micros":
- 1 currency unit = 1,000,000 micros
- $1.50 = 1,500,000 micros
- €10.25 = 10,250,000 micros
To convert: amount_in_currency * 1,000,000 = micros
GAQL (Google Ads Query Language)
GAQL is a SQL-like language for querying Google Ads data:
SELECT
campaign.name,
metrics.impressions,
metrics.clicks
FROM campaign
WHERE campaign.status = 'ENABLED'
AND segments.date DURING LAST_30_DAYS
ORDER BY metrics.clicks DESC
LIMIT 100
Key features:
- SELECT: Choose fields to retrieve
- FROM: Specify the resource type
- WHERE: Filter results
- ORDER BY: Sort results
- LIMIT: Restrict number of rows
Batch Operations
Many mutate operations support batch processing for efficiency:
- Create multiple campaigns in one request
- Update multiple keywords simultaneously
- Remove multiple ads at once
Use the "Mutate" tools (e.g., Mutate Campaigns, Mutate Ad Groups) for batch operations.
Troubleshooting
"AUTHORIZATION_ERROR" - Invalid Developer Token
Cause: The Developer Token is incorrect, missing, or has insufficient access level.
Solution:
- Verify your Developer Token in Google Ads API Center
- Ensure you copied the full 22-character token
- Check your token's access level:
- Test Access tokens can only access test accounts
- Apply for Basic or Standard access for production accounts
- Update the Developer Token in Webrix general settings
- Try the connection again
"INVALID_CUSTOMER_ID" Error
Cause: The Customer ID format is incorrect or the account doesn't exist.
Solution:
- Verify your Customer ID in Google Ads (top right corner, format:
123-456-7890) - Remove hyphens when entering in Webrix (use
1234567890) - Ensure the Customer ID is exactly 10 digits
- Verify the authenticated user has access to this Customer ID
- Update the Customer ID in Webrix general settings
"User Does Not Have Permission to Access Customer"
Cause: The Google account used for OAuth doesn't have access to the specified Customer ID.
Solution:
- Verify the Customer ID is correct
- Sign in to Google Ads with the same Google account you used for OAuth
- Check if you can see and access the account with that Customer ID
- If not, ask a Google Ads administrator to grant you access with at least:
- Standard access level for read operations
- Admin access level for write operations
- After gaining access, re-authorize the connection in Webrix
"QUERY_ERROR" - GAQL Syntax Issues
Cause: The GAQL query has syntax errors or references invalid field combinations.
Solution:
- Check the GAQL documentation for correct syntax
- Use the Google Ads Query Validator to test queries
- Common issues:
- Incorrect field names (use
campaign.name, notcampaignName) - Invalid field combinations (some metrics can't be queried with certain attributes)
- Missing quotes around string values in WHERE clauses
- Incorrect field names (use
- Try a simpler query first, then add complexity
Rate Limiting / Quota Exceeded
Cause: You've exceeded the daily operations limit for your Developer Token access level.
Solution:
- Test Access: 15,000 operations/day - Apply for Basic or Standard access
- Basic Access: 15,000 operations/day - Optimize queries or apply for Standard access
- Standard Access: Unlimited for most use cases
- Use batch operations to reduce API call count
- Use SearchStream for large reports instead of paginated Search
- Cache frequently accessed data instead of repeated queries
"OAuth Scope Mismatch" or Insufficient Permissions
Cause: The OAuth token doesn't have the required adwords scope.
Solution:
- Go to APIs & Services > Credentials in Google Cloud Console
- Verify the OAuth consent screen includes the
https://www.googleapis.com/auth/adwordsscope - In Webrix, disconnect and reconnect the Google Ads integration
- During OAuth flow, ensure you grant the requested permissions
- If the scope isn't requested, check your Webrix connector configuration
Test Account Access with Test-Level Token
Cause: Your Developer Token has "Test Access" level but you're trying to access a production account.
Solution:
- Create a Google Ads test account
- Use the test account's Customer ID during testing
- Or apply for Basic/Standard access for your Developer Token:
- In Google Ads, go to API Center
- Click "Apply for Basic Access" or "Apply for Standard Access"
- Fill out the form describing your API usage
- Wait for Google's approval (typically 1-5 business days)
Response Too Large / Memory Issues
Cause: Query returns too much data causing timeouts or memory issues.
Solution:
- Use the Stream Large Report tool instead of regular search for large datasets
- Add LIMIT clause to GAQL queries to restrict results
- Add more specific WHERE clauses to filter data
- Query date ranges in smaller chunks (e.g., one week at a time instead of all time)
- Select only the fields you need in the SELECT clause
"Invalid Resource Name" Error
Cause: The resource name format is incorrect or the resource doesn't exist.
Solution:
- Verify resource name format:
- Campaign:
customers/1234567890/campaigns/98765 - Ad Group:
customers/1234567890/adGroups/98765 - Keyword:
customers/1234567890/adGroupCriteria/98765~11111
- Campaign:
- Ensure no extra spaces or typos
- Verify the resource exists (not removed)
- Get resource names from List or Search tools rather than constructing manually
Advanced Topics
Using Manager Accounts (MCC)
If you manage multiple Google Ads accounts through a Manager Account (MCC), you can access sub-accounts by specifying different Customer IDs in individual tool calls. The OAuth authentication is done at the manager level, but API calls target specific customer accounts.
Understanding Bidding Strategies
Google Ads supports multiple bidding strategies:
- Manual CPC: You set bids manually
- Maximize Conversions: Google automatically sets bids to get the most conversions
- Target CPA: Automatically sets bids to achieve a target cost per acquisition
- Target ROAS: Aims for a specific return on ad spend
- Maximize Conversion Value: Gets the most conversion value within your budget
Choose the appropriate strategy when creating campaigns based on your goals.
Performance Metrics vs. Attributes
In GAQL queries:
- Attributes (e.g.,
campaign.name,ad_group.status) describe the resource - Metrics (e.g.,
metrics.clicks,metrics.impressions) measure performance - Segments (e.g.,
segments.date,segments.device) break down data by dimensions
Not all combinations are valid - use the Google Ads API Field Reference to check compatibility.