Google Ads
The Google Ads connector imports campaign spend, impressions, clicks, and conversions from your Google Ads account. This data powers Apex's attribution engine and lets you see exactly how your paid search and display campaigns contribute to conversions.
Authentication
Google Ads uses OAuth 2.0 via Google's authorization server. When you connect, Apex requests the adwords scope, which grants read-only access to your ad data.
Click Connect on the Sensors page
Find the Google Ads card and click Connect. You'll be redirected to Google's consent screen.
Sign in and authorize
Sign in with the Google account that has access to your Google Ads account. Grant Apex permission to view your ad data.
Select your account
After authorizing, Apex lists all accessible Google Ads accounts (Customer IDs). Select the account you want to sync.
Info
Apex uses access_type: offline and prompt: consent to ensure it receives a refresh token. This allows syncs to run automatically without re-authorization.
Data Synced
Each sync pulls campaign-level data for the configured date range:
| Metric | Description |
|---|---|
| Spend | Total cost in your account's currency (converted from cost_micros) |
| Impressions | Number of times your ads were shown |
| Clicks | Number of ad clicks |
| Conversions | Conversion actions tracked in Google Ads |
Data is broken down by campaign and date, so you can see performance trends over time.
Configuration
After connecting, you can configure:
| Parameter | Type | Description |
|---|---|---|
accountIdrequired | string | The Google Ads Customer ID to sync. Selected during setup. |
dateRange | object | Custom date range for syncs. Default: last 30 days. |
How Apex Uses This Data
- Channel attribution — Google Ads clicks are matched to visitors via
gclid(Google Click ID), which the tracking snippet captures automatically - Cost per lead — Spend is divided by conversions to calculate your true cost per lead from paid search
- ROI analysis — When combined with Stripe or HubSpot revenue data, you can see actual return on ad spend
- Budget allocation — The budget dashboard uses spend data to recommend channel-level budget adjustments
Warning
A Google Ads Developer Token is required server-side (GOOGLE_ADS_DEVELOPER_TOKEN environment variable). This is separate from your OAuth credentials and is obtained through the Google Ads API Center.
Troubleshooting
| Issue | Cause | Fix |
|---|---|---|
| No accounts listed | Google account lacks Ads access | Sign in with an account that has Google Ads access |
| Empty sync results | No campaign data in the date range | Expand the date range or verify campaigns are running |
| "Developer token not approved" | Missing or invalid developer token | Set GOOGLE_ADS_DEVELOPER_TOKEN in your environment |
Next Steps
- Connect Google Analytics for website traffic data alongside ad performance
- Set up budget allocation to optimize your ad spend