> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getomni.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Google Ads

> Connect Google Ads to Omni for searchable account structure and live campaign analysis actions

The Google Ads connector indexes account structure from one or more Google Ads customer accounts and exposes live reporting actions for the AI assistant.

## Overview

### What Gets Indexed

| Entity                               | Content                                                                    |
| ------------------------------------ | -------------------------------------------------------------------------- |
| Customers                            | Customer ID, descriptive name, currency, time zone, and status             |
| Campaign budgets                     | Budget names, amounts, delivery methods, and status                        |
| Bidding strategies                   | Strategy names, types, status, and related metadata                        |
| Campaigns                            | Campaign names, IDs, status, advertising channel, labels, and budget links |
| Ad groups and ads                    | Ad group/ad IDs, names, status, campaign links, and creative metadata      |
| Assets and keywords                  | Asset IDs, keyword criteria, status, labels, and related entity metadata   |
| Shared sets, user lists, conversions | Audience, shared set, and conversion action metadata                       |

Numeric performance metrics are fetched live by connector actions instead of being synced into the index.

### How It Works

1. You configure a Google Ads OAuth client in Omni's OAuth Apps tab
2. You provide a Google Ads developer token and one or more customer IDs
3. Omni sends you through Google's OAuth flow to authorize Ads API access
4. The connector syncs configured account entities and checkpoints progress per customer/entity pair
5. The AI assistant can run live GAQL and curated report actions when the source is allowed for the chat or agent

<Note>
  The connector uses the Google Ads API. Your Google Ads developer token must have access to the customer accounts you configure.
</Note>

## Prerequisites

Before setting up the Google Ads connector, ensure you have:

* **Google Ads API access** and a developer token from Google Ads API Center
* **Customer IDs** for the accounts you want to index, without hyphens
* Optional **manager/login customer ID** if you access client accounts through an MCC/manager account
* A Google OAuth client configured in **Settings** → **Integrations** → **OAuth Apps** for the Google Ads provider
* Omni deployment with the Google Ads connector service running (profile: `google_ads`)

## Setup

### Step 1: Configure the OAuth App

1. Navigate to **Settings** → **Integrations** → **OAuth Apps**
2. Configure the **Google Ads** OAuth client
3. Use the redirect URI shown in Omni when creating the OAuth client in Google Cloud
4. Ensure the OAuth client can request the Google Ads scope: `https://www.googleapis.com/auth/adwords`

### Step 2: Connect in Omni

1. Navigate to **Settings** → **Integrations**
2. Find **Google Ads** and click **Connect**
3. Enter:
   * **Source name**: Display name for the source
   * **Developer token**: Your Google Ads API developer token
   * **Customer IDs**: Comma- or space-separated customer IDs to index
   * **Manager/login customer ID**: Optional manager account ID used for API calls
4. Click **Continue with Google** and complete the OAuth authorization flow
5. Click **Sync** to start the initial sync

<Check>
  Your Google Ads connector is now configured. Initial indexing time depends on the number of customer accounts and enabled entity types.
</Check>

## Managing the Integration

### Viewing Sync Status

Navigate to **Settings** → **Integrations** to view sync status, indexed counts, and errors. Click **Settings** on the source for sync history and source configuration.

### Sync Modes

| Mode            | Description                                                         |
| --------------- | ------------------------------------------------------------------- |
| **Full**        | Syncs all configured Google Ads entity types for each customer ID   |
| **Incremental** | Uses change-status capable resources where available to reduce work |

### Search Operators

The connector registers source-specific operators that work in Search and Chat once the source is running:

| Operator      | Meaning                                |
| ------------- | -------------------------------------- |
| `customer:`   | Filter by Google Ads customer ID       |
| `campaign:`   | Filter by campaign ID                  |
| `ad_group:`   | Filter by ad group ID                  |
| `asset:`      | Filter by asset ID                     |
| `criterion:`  | Filter by criterion ID                 |
| `shared_set:` | Filter by shared set ID                |
| `status:`     | Filter by entity status                |
| `channel:`    | Filter by campaign advertising channel |
| `entity:`     | Filter by synced entity type           |
| `label:`      | Filter by label                        |

### AI Assistant Actions

When Google Ads actions are available to a chat or background agent, the assistant can:

* Run live GAQL queries
* Export GAQL results as CSV or XLSX
* Fetch curated campaign, ad group, keyword, search term, creative, asset, landing page, budget pacing, conversion, segmented performance, change history, and policy diagnostics reports
* Fetch account summaries, recommendations, account hierarchy, and recent changes

Some actions return downloadable CSV/XLSX artifacts for deeper analysis.

## Removing the Integration

1. Navigate to **Settings** → **Integrations**
2. Click **Settings** against the Google Ads source
3. Click **Delete Permanently**
4. Optionally revoke the OAuth grant in your Google account or Google Workspace admin controls

## Troubleshooting

<AccordionGroup>
  <Accordion title="OAuth client is not configured">
    Configure the Google Ads OAuth client from **Settings** → **Integrations** → **OAuth Apps** before connecting a source. The setup dialog will not proceed without it.
  </Accordion>

  <Accordion title="Authentication or authorization failed">
    Verify the developer token, customer IDs, login customer ID, and Google account authorization. The authorized Google account must have access to the configured customer accounts.
  </Accordion>

  <Accordion title="No data appears after sync">
    Confirm the customer IDs are entered without hyphens and that the developer token has access to those accounts. For manager-account setups, set the login customer ID.
  </Accordion>

  <Accordion title="Reports differ from the Google Ads UI">
    Reconcile with the same customer, date range, filters, attribution settings, and conversion settings used in the Google Ads UI.
  </Accordion>
</AccordionGroup>

## Security Considerations

* **Credential storage**: Developer tokens and OAuth tokens are encrypted at rest in Omni
* **OAuth scope**: The connector uses the Google Ads API scope `https://www.googleapis.com/auth/adwords`
* **Action access**: Live report actions only run when the source and action are available to the current chat or agent
* **Token rotation**: Reauthorize the source if access is revoked or expires

## What's Next

<CardGroup cols={3}>
  <Card title="Search Your Data" icon="magnifying-glass" href="/user-guide/search">
    Learn how to search indexed Google Ads entities
  </Card>

  <Card title="AI Assistant" icon="robot" href="/user-guide/ai-assistant">
    Use live report actions in chat
  </Card>

  <Card title="Connector Management" icon="gear" href="/admin/connector-management">
    Monitor syncs and manage the source
  </Card>
</CardGroup>
