Google Ads Integration -- Full Technical Guide
IntegrationsTechnical Scope
The Google Ads integration connects TrackDrive to Google Ads with Google OAuth, discovers accessible Google Ads customer accounts, maps TrackDrive conversion tracker rows to Google Ads click-upload conversion actions, and uploads offline conversion data when TrackDrive calls convert.
This integration does not capture the Google click id on your landing page. The gclid must already be captured at lead time and stored on the TrackDrive lead or call in the selected Google Click ID Token. Most setups use the default gclid token.
For the step-by-step setup path, use the "Getting Your Google Ads Integration Set Up on TrackDrive" guide. This guide explains the technical behavior behind that configuration.
End-to-End Flow
- A Google ad click sends a visitor to your page, and the gclid is captured by your upstream tracking flow.
- The lead enters TrackDrive with the gclid stored in a TrackDrive token, usually
gclid. - You click Connect My Google Account in TrackDrive and authorize Google Ads access through OAuth.
- TrackDrive discovers the Google Ads customer accounts available to the connected Google account.
- You configure one or more conversion tracker rows.
- When a matching TrackDrive call converts, TrackDrive queues the offline conversion upload.
- TrackDrive sends the click conversion to Google through Google's Data Manager ingest.
- Google Ads uses the uploaded gclid to attribute the conversion back to the original ad click.
- TrackDrive later reads the outcome back from Google and records it on the call log.
OAuth Connection
TrackDrive requests two Google OAuth scopes in one connection, Google Ads access and Data Manager access:
https://www.googleapis.com/auth/adwords
https://www.googleapis.com/auth/datamanager
The Google Ads access is used for account discovery, conversion action discovery, and conversion action
creation. The Data Manager access is used to send offline conversions. If the authorization is revoked, expired, or otherwise fails, TrackDrive shows a reconnect state and you can use Reconnect My Google Account to repeat the OAuth flow.
Account Discovery
After OAuth, TrackDrive asks Google Ads for the customer accounts directly accessible to the connected Google account. Each discovered account is resolved with its customer id, display name, and whether it is a manager account.
A Google Ads customer account is the advertiser account that owns campaigns and conversion actions. A manager (MCC) account is used for access to child client accounts. Conversion tracker rows are configured against client accounts, not manager accounts.
When the connected Google account has manager-account access, TrackDrive also queries the manager account for enabled, non-hidden child accounts. Child client accounts are then shown as selectable Google Ads customers. API requests for child accounts are routed through the manager account that discovered them, while directly accessible client accounts are accessed through themselves.
If the connected Google account only has access to manager accounts and no selectable client accounts, Trackdrive asks you to connect an account with client-account access or grant client-account access to the connected account.
Conversion Tracker Row Anatomy
Each conversion tracker row connects four pieces:
- TrackDrive Offer: the offer whose converted calls should be submitted to Google Ads.
-
Google Click ID Token: the token that stores the gclid value. The default token is
gclid, and TrackDrive creates that token for the company when the integration is saved. - Google Ads Customer: the client account that owns the conversion action.
- Google Ads Conversion Tracker: the enabled click-upload conversion action that receives the uploaded conversion.
- Google Ads Purchase Conversion Tracker: an optional second enabled click-upload conversion action that receives the purchase conversion. It must be a different action from the Google Ads Conversion Tracker; otherwise the integration is not saved and the row shows an error.
Multiple rows can be configured when different offers need to submit to different Google Ads customer accounts or different conversion actions.
A row always matches a single TrackDrive Offer. Optional token rules can narrow the row further. When token rules are present, the call must match those token values before TrackDrive submits the conversion.
Conversion Action Discovery and Creation
The Google Ads Conversion Tracker field lists enabled Google Ads conversion actions whose type is
UPLOAD_CLICKS. TrackDrive queries the selected Google Ads customer account for those enabled click-upload actions. Typing in the field searches every enabled click-upload action in the account by name. The Google Ads Purchase Conversion Tracker field lists the same actions and searches the same way.
If Add A New Conversion Tracker? is enabled in the setup form, TrackDrive creates a new Google Ads conversion action on the selected customer account. The created action is an enabled click-upload conversion action with a purchase category. After creation, TrackDrive uses the new conversion action name on the row.
Offline Conversion Upload
TrackDrive evaluates the Google Ads integration after a call finalizes. Conversions are skipped and logged to the call log when the integration is disconnected.
The conversion is queued only when:
- The offer has a Google Ads tracker configured.
- The integration is not disconnected.
- The call is not an off-hook buyer call.
- The tracker token rules match the call.
- The call has a non-blank Google Click ID Token value.
- The conversion action field is not blank.
When a matching call converts, TrackDrive waits three hours before submitting the conversion to Google Ads. The conversion is dated at the call's end time. A call that ended more than 90 days ago is dated just inside Google's 90-day window instead.
The upload is sent as a click conversion through Google's Data Manager ingest. It includes the selected conversion action, the gclid from the call token, the conversion date and time, the conversion value, and the currency code. Google Ads then attributes the offline conversion to the original click. Google Ads records an uploaded conversion only when it is first sent within 90 days of the ad click.
Purchase Conversions
When a row names a Google Ads Purchase Conversion Tracker and the call has revenue above zero, the three-hour upload also sends a purchase conversion to that action, carrying the call revenue. The call conversion is then sent with a value of 0.0, so the revenue reaches Google Ads once. The purchase is dated one second after the call conversion, so it is also dated at the call.
Revenue changes made before the three-hour upload are carried by that upload. A later change to the call's revenue, from the API, a call edit, or a conversion rerun, sends the call's total revenue to the purchase action a few minutes later. Changes made close together are sent once. Google Ads treats a resend for the same call and purchase action as an update to that purchase's value, not a second purchase, and keeps the date it first recorded.
When the call's revenue drops to zero, for example because its conversion is removed, nothing is sent to
Google Ads. The call log says so, and Google Ads keeps any purchase value it already recorded.
Conversion Value and Currency
TrackDrive sends call revenue as the Google Ads conversion value. If the call has no revenue, the uploaded conversion value is 0.0. When the row names a purchase conversion action, the call conversion is always 0.0 and the revenue goes on the purchase.
The currency code sent to Google Ads is hardcoded to USD.
Duplicate Protection and Logging
The three-hour upload does not send the same call and conversion action repeatedly within a short window.
Known preflight skips appear in the call log. Common skip reasons include no matching conversion tracker row, a blank Google Click ID Token value, a blank conversion action, a disconnected integration, or an off-hook buyer call.
Google accepts an upload first and processes it later. The call log records that the conversion was submitted, and a status check after about 30 minutes records whether Google Ads accepted it, did not accept it and why, or had already recorded it. If Google Ads has not confirmed it within 48 hours, the call log marks it unconfirmed. Transient upload errors retry in the background.
Related Guides
For step-by-step setup, read Getting Your Google Ads Integration Set Up on TrackDrive.