> For the complete documentation index, see [llms.txt](https://docs.roivenue.com/roivenue-resources/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roivenue.com/roivenue-resources/roivenue-training/roivenue-app/data/connectors-overview/list-of-connectors/google-ads.md).

# Google Ads

How to connect Google Ads to Roivenue, what the default setup downloads, and how the figures are put together.

Google Ads is usually the largest connector in an account. The Roivenue connector downloads daily impressions, clicks and cost, together with conversions broken down by conversion action.

## Setting up the connector

### 1. Connect the account

Add a Google Ads connector in Roivenue and choose Connect to Google Ads. Roivenue sends you to Google Ads to sign in and approve access, then brings you back to Select Google Ads Account.

No keys to copy, and nothing to configure on the Google Ads side.

### Setup options

The connector asks a few questions when you create it. The defaults suit most accounts.

| Option                            | Default    | What it does                                                                                                                        |
| --------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| Regex filter for conversion types | everything | Limits which Google Ads conversion actions are counted. Useful when the account tracks several actions and only one is a real sale. |
| Conversion type name              | `purchase` | What the selected conversions are called inside Roivenue.                                                                           |
| AdCampaign REGEX filter           | everything | Limits the connector to campaigns matching a pattern.                                                                               |
| Adset REGEX filter                | everything | Limits the connector to ad groups matching a pattern.                                                                               |

## What the default setup downloads

Two jobs. The first assembles performance and conversions from four Google Ads reports at once, and the second downloads the hourly feed behind synthetic impressions.

### Where the values land

| Google Ads field                                   | Roivenue column |
| -------------------------------------------------- | --------------- |
| `campaign.name`                                    | adCampaign      |
| `ad_group.name`                                    | adGroup         |
| `metrics.impressions`                              | impressions     |
| `metrics.clicks`                                   | clicks          |
| `metrics.cost_micros`                              | cost            |
| `metrics.all_conversions_by_conversion_date`       | conversions     |
| `metrics.all_conversions_value_by_conversion_date` | conversionValue |
| `segments.conversion_action_name`                  | conversion type |

{% hint style="info" %}
Performance Max and Smart campaigns arrive at campaign level with no ad group, because Google Ads does not expose ad groups for them. Every other campaign type arrives at ad group level. A report broken down by ad group will therefore show Performance Max spend against a blank ad group rather than losing it.
{% endhint %}

Conversions are counted by conversion date rather than click date, so a conversion appears on the day it happened.

Rows with no impressions, no clicks and no cost are dropped, so an ad group that did not run on a day has no row for that day.

The main job reprocesses the last 30 days on every run, and the synthetic impressions job the last 7.

## Available columns

The table above is what the recommended template downloads. Every column this connector can bring back is listed on [Google Ads - Supported Columns](/roivenue-resources/roivenue-training/roivenue-app/data/connectors-overview/list-of-connectors/google-ads/google-ads-supported-columns.md).

Adding one means editing the connector in the Advanced Editor, which stops that connector receiving template updates.

## Synthetic impressions

Alongside the daily figures, this connector downloads a conversion feed that Roivenue uses to build synthetic impressions.

Ad platforms report conversions that Roivenue never saw as a web session, because of ad blockers, cross-device journeys or conversions uploaded from a CRM. Left alone those orders look like they came from nowhere, and paid media gets undercounted. The synthetic impression stands in for the missing visit so path analysis and attribution see a complete journey.

There is nothing to configure. It comes with the connector, and it is why the setup creates more than one job.

## How far back the data goes

The connector will request up to three years of history. How much arrives depends on what Google Ads holds for the account.

## Troubleshooting

<details>

<summary>Performance Max campaigns have no ad group</summary>

That is expected. Google Ads does not expose ad groups for Performance Max or Smart campaigns, so those rows are campaign level only.

</details>

<details>

<summary>Conversions are higher than expected</summary>

The connector counts every conversion action unless a filter is set. If the account tracks page views or sign-ups alongside purchases, they are all included. Narrow the conversion type regex on the connector to the actions that represent a sale.

</details>

<details>

<summary>Synthetic impressions are missing for search campaigns</summary>

Deliberate. The synthetic impressions feed excludes the Search and Search Partners networks, where clicks are normally tracked as ordinary web sessions and no synthetic touchpoint is needed.

</details>
