# Google Ads Conversion Tracking & Attribution Setup Guide

OAuth Google Ads to push offline conversions back to your campaigns. Enhanced Conversions, GCLID upload, multi-account MCC support, all from one connection.

Source: https://sourceloop.ai/help/connect-google-ads/
Updated: 2026-05-28

---

Connecting Google Ads to SourceLoop opens up the full offline-conversion loop. Every time a tracked lead converts (form submission, meeting booked, payment received), SourceLoop pushes that conversion back to Google Ads against the matching GCLID. The bidding algorithms learn from real revenue instead of just clicks, and your CPA and ROAS reports finally reflect what actually happened.

This article covers the OAuth connect flow only. After connecting, see:
- [Configure Google Ads offline conversion sync](/help/configure-google-ads-offline-conversions/)
- [Troubleshoot Google Ads sync issues](/help/troubleshoot-google-ads-sync/)

## Why connect Google Ads to SourceLoop?

Google Ads optimises bids based on the conversion events you report. By default, Google sees the on-site events that fire on tag-managed pages (form submits, page views), but it doesn't see what happens after the form, the demo that converted to a paid plan, the trial that became a $10K/month contract.

SourceLoop closes that gap:

- **Push offline conversions** to your Google Ads conversion actions via the Google Ads API
- **Enhanced Conversions** (hashed email / phone) automatically populated so Google can match conversions to clicks even when GCLID is missing
- **Revenue values** sent on every conversion when payment integrations are connected
- **Bid optimisation** trains on real qualified leads and paying customers, not vanity events
- **Multi-touch attribution** within SourceLoop, while still feeding Google the conversion data they need for tCPA and tROAS bidding

## Before you start

You'll need:

- A **SourceLoop workspace** with the [tracking pixel installed](/help/install-the-tracking-pixel/)
- A **Google Ads account** (any tier; Google Ads doesn't charge for the API)
- A Google user with **Standard access** or higher on the ad account you want to connect
- **Admin** or **Owner** role in SourceLoop (Editors can't add integrations)

## Step 1: Open the Ad Platforms page

1. Sign in to [SourceLoop](https://app.sourceloop.ai/).
2. Click **Setup** in the left sidebar.
3. Click the **Ad Platforms** tab.
4. Scroll to the **Google Ads** card and click **Connect**.

You'll be redirected to Google's OAuth consent screen.

## Step 2: Authorise SourceLoop on Google

1. Sign in to Google if you aren't already.
2. Pick the Google account that has access to the Google Ads account you want to connect.
3. Review the requested scope (read/write access to the Google Ads API).
4. Click **Continue**.

Google redirects you back to SourceLoop with an authorisation code, which SourceLoop exchanges for an access token + refresh token. The tokens are encrypted at rest.

## Step 3: Pick the Google Ads account

If your Google user has access to more than one Google Ads account (common for agencies and teams using a Manager / MCC account), SourceLoop shows a picker with every account accessible to that user.

1. Find the Google Ads account you want to connect.
2. Click **Connect this account**.

SourceLoop creates a connection record for that specific Google Ads account. The connection card on the Ad Platforms tab flips to **Connected** with the account name and Customer ID.

> **To connect a second account, repeat the flow**
> Each Google Ads account is its own connection. If you manage multiple accounts under a Manager (MCC), run the Connect Google Ads flow once per ad account. They sync and push conversions independently.

## Step 4: Wait for the first sync

After connecting, SourceLoop kicks off:

1. **Hierarchy sync** — pulls your campaigns, ad groups, and ads into SourceLoop so spend and impressions can be reported alongside conversions
2. **90-day click mapping backfill** — pulls historical GCLID to ad mappings so SourceLoop knows which ad each historical click came from
3. **Connection status** flips to **Active** once the initial sync completes

The first sync takes anywhere from a few minutes (small accounts) to ~30 minutes for accounts with 90 days of high-traffic history. The conversion push starts immediately once the connection is Active, you don't have to wait for hierarchy sync to finish.

## What gets synced

Once connected, SourceLoop runs two flows automatically:

**PULL (Insights sync, daily at 05:00 UTC):**
- Campaign / ad group / ad hierarchy
- Daily spend, impressions, clicks per campaign / ad group / ad
- 14-day rolling re-sync to catch Google's late-attribution updates
- Refreshed in SourceLoop dashboards within minutes of each sync run

**PUSH (Conversions API, every 2 minutes):**
- Every SourceLoop conversion (form submit, meeting, chat, payment) where the visitor's session has a `gclid` cookie or a hashed email / phone match
- Conversion value (currency) and currency code if a value is configured
- Enhanced Conversions data (hashed email / phone) for click-matching when GCLID is absent
- Adjustments (RESTATE / RETRACT) on subscription upgrades and refunds when payments are connected

## What's next

- **Pick which SourceLoop events get pushed to which Google Ads conversion action.** See [Configure Google Ads offline conversion sync](/help/configure-google-ads-offline-conversions/).
- **Troubleshoot** any push errors or stale syncs: [Troubleshoot Google Ads sync issues](/help/troubleshoot-google-ads-sync/).
- **Disconnect or reset** the integration: [Disconnect Google Ads from SourceLoop](/help/disconnect-google-ads-from-sourceloop/).

## Frequently Asked Questions

### Do I need a Google Ads Developer Token to connect?

No. SourceLoop holds the Developer Token on our side, so you don't need to apply for one yourself. You authorise the OAuth flow with your Google account and we handle the rest. The Developer Token tier is Basic which covers every real-world ad account size.

### Does SourceLoop work with a Google Ads Manager (MCC) account?

Yes, but you connect each sub-account individually. MCC accounts can't directly push offline conversions, only the individual ad accounts under them can. After OAuth, SourceLoop shows the list of accounts accessible via the connected Google user and you pick which one to wire up. Repeat for additional accounts.

### What scopes does SourceLoop request from Google?

The `adwords` scope (read/write access to the Google Ads API) for the specific accounts you select during the account picker step. SourceLoop does not request access to Gmail, Drive, or any other Google service.

### Do I need Enhanced Conversions enabled in Google Ads first?

No. SourceLoop enables Enhanced Conversions automatically on the conversion actions you select. The first push to a conversion action turns on the Enhanced Conversions flag for User-provided data so hashed email and phone can be matched to ad clicks even when GCLID isn't available.

### How long do Google Ads access tokens last?

1 hour. SourceLoop stores the refresh token and rotates the access token automatically as needed, so you won't have to reconnect unless you revoke the integration on Google's side.

### Can I connect multiple Google Ads accounts to one SourceLoop workspace?

Yes. Each Google Ads account is a separate connection in SourceLoop. Run the OAuth flow once, pick the first account; run it again with the same Google user, pick the second account. They sync and push conversions independently.

### Does this work for Performance Max and Demand Gen campaigns?

Yes. Offline conversion uploads are campaign-type-agnostic. As long as the conversion action exists in your Google Ads account, SourceLoop can push conversions against it, whether the original click came from Search, Display, Video, Performance Max, Demand Gen, or any other type.
