# Google Ads Reference

Optimize your Google Ads spend by attributing ad clicks to conversion and other key behaviors.

## Destination Info

* Supports [Track](https://documentation.freshpaint.io/developer/freshpaint-sdk-reference#track) calls
* Supports [HIPAA mode](https://documentation.freshpaint.io/hipaa-mode)
* Supports forwarding from the [Google Tag Manager Integration](https://documentation.freshpaint.io/integrations/google-tag-manager-integration)
* Refer to this destination as **Google AdWords New** in the [Integrations object](https://documentation.freshpaint.io/reference/developer/freshpaint-sdk-reference#using-the-integrations-object)
  * If you've configured multiple Conversion IDs, you can choose a specific one by suffixing the Conversion ID, such as: **Google AdWords New::123456789.** You can retrieve this value from the Google Ads configuration page for the Conversion ID of interest.&#x20;

{% hint style="info" %}
When no suffix is specified, all configured Conversion IDs are selected for inclusion / exclusion.
{% endhint %}

* Connection Modes:

<table><thead><tr><th align="right"> </th><th width="229" data-type="checkbox">Client-side</th><th data-type="checkbox">Server-side</th></tr></thead><tbody><tr><td align="right">Web</td><td>true</td><td>true</td></tr><tr><td align="right">Mobile</td><td>false</td><td>true</td></tr><tr><td align="right">Server</td><td>false</td><td>true</td></tr></tbody></table>

{% hint style="info" %}
When using Server-Side connection mode you are using a Proxy Integration for Google Ads. This destination runs on Freshpaint's servers, but emulates a native installation of Google Universal Analytics Tag. That means the integration behaves the same as if you did a native installation of Google Universal Analytics Tag, but the data first flows through Freshpaint before it's sent to Google. [See our docs on proxy integrations for more information](https://documentation.freshpaint.io/reference/faqs/what-is-a-proxy-integration).
{% endhint %}

This is a reference document for the Google Ads destination. For information on how to set up this integration, see the[ Quick Start guide](https://documentation.freshpaint.io/integrations/destinations/direct-response-ads/google-ads/google-ads-quick-start-guide).

## API Mapping

### Events

Freshpaint.`track()` events map to any **Click Conversions** you've already created in Google Ads. Any `properties` you've created will be passed along as well.

## Track Events

When you send an event to Google Ads, you can track conversions from your ad campaigns based on those events.

### Client-side

Freshpaint uses the [Google Tag](https://support.google.com/google-ads/answer/11994839) to send events to Google Ads. You may provide the following additional event properties:

| **Freshpaint property** | **Google Ads parameter** | **Type** | **Required?** | **Description**                                                                                         |
| ----------------------- | ------------------------ | -------- | ------------- | ------------------------------------------------------------------------------------------------------- |
| `category`              | `ec`                     | string   | Optional      | Event category defined as you wish. Can be used as an additional filter criterion for conversion goals. |
| `revenue`               | `gv`                     | number   | Optional      | Value of the conversion in USD. Must be between 0 and 9999999 with up to 3 decimal places.              |

### Server-side

{% hint style="warning" %}
This is a Proxy Integration for Google Ads. This destination runs on Freshpaint's servers, but emulates a native installation of Google Universal Analytics Tag. That means the integration behaves the same as if you did a native installation of Google Universal Analytics Tag, but the data first flows through Freshpaint before it's sent to Google. [See our docs on proxy integrations for more information](https://documentation.freshpaint.io/reference/faqs/what-is-a-proxy-integration).
{% endhint %}

{% hint style="info" %}
The Proxy integration allows you to re-use your existing google ads configuration. If you're starting fresh, we recommend using the [Google Ads Conversion API](https://documentation.freshpaint.io/integrations/destinations/direct-response-ads/google-ads-conversion-api) destination.
{% endhint %}

Freshpaint's servers use the same API as the client-side Google Tag. You may provide the following additional event properties:

| **Freshpaint property**         | **Google Ads parameter** | **Type** | **Required?** | **Description**                                                                                                                                                                                                                                                                    |
| ------------------------------- | ------------------------ | -------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `$gclid`                        | `gclid`                  | string   | Required      | gclid (Google Click ID) is generated at ad click time and appended to the landing page URL. **Freshpaint will automatically capture gclid for events from your website**. If you wish, you may provide `$gclid` as an event property to override the automatically captured value. |
| `conversion_label`              | `label`                  | string   | Required      | The Conversion Label configured within google ads to identify which conversion action the event should trigger                                                                                                                                                                     |
| `$gbraid`                       | `gclgb`                  | string   | Optional      | gbraid is generated at ad click time and appended to the landing page URL. It will be used as the click ID if `$gclid` is not provided.                                                                                                                                            |
| `$wbraid`                       | `gclgb`                  | string   | Optional      | wbraid is generated at ad click time and appended to the landing page URL. It will be used as the click ID if `$gclid` and `$gbraid` are not provided.                                                                                                                             |
| `transaction_id`                | oid                      | string   | Optional      | Allows overriding the [Transaction ID](https://support.google.com/google-ads/answer/6386790) generated by Freshpaint with a custom id to avoid duplicate conversions in Google Ads.                                                                                                |
| `_gcl_aw` or `gclaw`            | `gclaw`                  | string   | Optional      | Defaults to the gclid                                                                                                                                                                                                                                                              |
|                                 | `gac`                    | string   | Optional      | The google analytics code. Will only be sent to google ads if configured within your account.                                                                                                                                                                                      |
|                                 | `gtm_ee`                 | string   | Optional      | Enable Enhanced Ecommerce on the event.                                                                                                                                                                                                                                            |
| `$title`                        | `tiba`                   | string   | Optional      | The title of the page being visited                                                                                                                                                                                                                                                |
| `$referrer`                     | `ref`                    | string   | Optional      | The referrer to the page being visited                                                                                                                                                                                                                                             |
| `user_agent_arch`               | `uaa`                    | string   | Optional      | The User-Agent Architecture                                                                                                                                                                                                                                                        |
| `user_agent_bitness`            | `uab`                    | string   | Optional      | The User-Agent Bitness                                                                                                                                                                                                                                                             |
| `user_agent_full_version_list`  | `uafvl`                  | string   | Optional      | The User-Agent Full Version List                                                                                                                                                                                                                                                   |
| `user_agent_mobileness`         | `uamb`                   | string   | Optional      | The User-Agent Mobileness. Must be 1 for a mobile device and 0 for non-mobile devices.                                                                                                                                                                                             |
| `user_agent_platform`           | `uap`                    | string   | Optional      | The User-Agent Platform.                                                                                                                                                                                                                                                           |
| `user_agent_platform_version`   | `uapv`                   | string   | Optional      | The User-Agent Platform Version                                                                                                                                                                                                                                                    |
| `user_agent_wow64`              | `uaw`                    | string   | Optional      | The User-Agent WoW64 (Win32 on Win64)                                                                                                                                                                                                                                              |
| `utm_campaign`                  | `utm_campaign`           | string   | Optional      | The advertising campaign the specific event belongs to                                                                                                                                                                                                                             |
| `utm_source`                    | `utm_source`             | string   | Optional      | The advertising source that the user followed to reach the site.                                                                                                                                                                                                                   |
| `utm_medium`                    | `utm_medium`             | string   | Optional      | The medium or channel that the user followed to reach the site.                                                                                                                                                                                                                    |
| `utm_content`                   | `utm_content`            | string   | Optional      | The content tag used to track the specific content or variation of an ad that the user followed to reach the site.                                                                                                                                                                 |
| `utm_term`                      | `utm_term`               | string   | Optional      | The keywords the user used when searching that led to the ad impression.                                                                                                                                                                                                           |
| `$screen_height`                | `u_ah`                   | number   | Optional      | The screen height of the device visiting the page                                                                                                                                                                                                                                  |
| `$screen_width`                 | `u_aw`                   | number   | Optional      | The screen width of the device visiting the page                                                                                                                                                                                                                                   |
| `$viewport_height`              | `u_h`                    | number   | Optional      | The visible height of the web page                                                                                                                                                                                                                                                 |
| `$viewport_width`               | `u_w`                    | number   | Optional      | The visible width of the web page                                                                                                                                                                                                                                                  |
| `u_tz`                          | `u_tz`                   | number   | Optional      | The timezone offset of the device                                                                                                                                                                                                                                                  |
| `value` or `total` or `revenue` | `value`                  | number   | Optional      | Value of the conversion. See [About conversion values](https://support.google.com/google-ads/answer/3419241?hl=en#zippy=%2Cmeasure-transaction-specific-conversion-values%2Cconversion-value-currency) for more information                                                        |
| `currency`                      | `currency_code`          | string   | Optional      | Currency of the conversion value, "USD" by default. See the list of [supported currency codes](https://support.google.com/merchants/answer/160637?hl=en).                                                                                                                          |
| `$os`                           | `os`                     | string   | Optional      | The operating system of the device. Freshpaint will only send this property if it is allowlisted.                                                                                                                                                                                  |

{% hint style="info" %}
Freshpaint will only deliver events to Google when a user arrives on your site by clicking on a Google Ad, thus generating an `gclid`, `gbraid`, or `wbraid`.  Without one of these click IDs, Google will not be able to attribute conversions.
{% endhint %}

#### Setup Conversion Labels

{% hint style="warning" %}
If you are using conversion actions that trigger off of a Page load, you will need to create new manual conversion actions in google ads. Freshpaint does not pass the URL to google ads which could expose HIPAA sensitive data when using the server-side integration.
{% endhint %}

Each Google Adwords conversion action uses a conversion label to uniquely identify the conversion action.

1. Get your google conversion label. In you're google ads account go to [Tools > Conversions](https://ads.google.com/aw/conversions).
2. Click on the conversion action you're setting up

<figure><img src="https://1666823438-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MA7aDqsXMFbUsWVqonF%2Fuploads%2Fgit-blob-f6d364a92df680001bbc9674253265be49d41050%2Fgoogle-ads-conversions-page.png?alt=media" alt=""><figcaption></figcaption></figure>

3. Select Tag Setup

<figure><img src="https://1666823438-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MA7aDqsXMFbUsWVqonF%2Fuploads%2Fgit-blob-831cbcb557091b4a7733b3706a19001b8b4e43cc%2Fgoogle-ads-conversion-details.png?alt=media" alt=""><figcaption></figcaption></figure>

4. Select Use Google Tag Manager

<figure><img src="https://1666823438-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MA7aDqsXMFbUsWVqonF%2Fuploads%2Fgit-blob-fe81906785ac712bbe07f7491300c7936194b0f8%2Fgoogle-ads-tag-setup.png?alt=media" alt=""><figcaption></figcaption></figure>

5. Get the Conversion label from the instructions

<figure><img src="https://1666823438-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MA7aDqsXMFbUsWVqonF%2Fuploads%2Fgit-blob-21e6fd816025d8ac4e592c0683795677aed54ecc%2Fgoogle-ads-tag-instructions-label.png?alt=media" alt=""><figcaption></figcaption></figure>

6. Configure a [transformation](https://documentation.freshpaint.io/admin-panel/transformations) for the Event within Freshpaint to attach the conversion\_label or any other fields to send to the destination.

<figure><img src="https://1666823438-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MA7aDqsXMFbUsWVqonF%2Fuploads%2Fgit-blob-e334f216e7d4cb6174cc8d567112fbddb6264d2f%2Fgoogle-ads-send-constant-property.png?alt=media" alt=""><figcaption></figcaption></figure>

## Using Multiple Google Ads Accounts

If you need to send conversion actions to more than one different Google Ads account, this can be achieved by configuring additional instances, each with its own Conversion ID. After doing this, you'll see them listed in the Overview list, for example:

<figure><img src="https://1666823438-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MA7aDqsXMFbUsWVqonF%2Fuploads%2FPrdOrpQV3VuJJrOvvFRR%2Fmultigads.png?alt=media&#x26;token=c11d4bd1-9e50-489a-acee-a4c547ede24a" alt=""><figcaption></figcaption></figure>

You can then select which Conversion ID you want for a given Event using the toggles in your [Library](https://app.freshpaint.io/events/schema):

<figure><img src="https://1666823438-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MA7aDqsXMFbUsWVqonF%2Fuploads%2FsG82e9cIkKvaclqYgZe1%2Fimage.png?alt=media&#x26;token=990e667a-a067-4145-b57b-d45cd2a45fee" alt=""><figcaption></figcaption></figure>

If you're using precision tracking, see [#destination-info](#destination-info "mention") above.

If you're using the [google-tag-manager-integration](https://documentation.freshpaint.io/integrations/google-tag-manager-integration "mention") integration, you enter the specific Conversion ID on the Freshpaint GTM Template tag:

<figure><img src="https://1666823438-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MA7aDqsXMFbUsWVqonF%2Fuploads%2FnfIb1VygG7QSMYctfHgm%2Fimage.png?alt=media&#x26;token=c610ec2e-0a36-4b6d-a8a4-3cf024c558bc" alt=""><figcaption></figcaption></figure>

## Call Conversions

To use Google Ads call conversions, you need to call `freshpaint.registerCallConversion`. If you have an existing Google Ads Call Conversion configuration that looks like:

```javascript
gtag('config', <TAG_ID/CONVERSION_LABEL>, {
  'phone_conversion_number': <phone-number>
});
```

You need to replace it with the following call to the Freshpaint SDK:

```javascript
freshpaint.registerCallConversion('<TAG_ID/CONVERSION_LABEL>', <phone-number>)
```

Here's an example:

```javascript
freshpaint.registerCallConversion('AW-1234567/aLabel', '312-555-1212')
```

{% hint style="info" %}
If you have call conversions configured through Google Tag Manager, you can use the Google Ads Call Conversions on the Freshpaint GTM Template instead of calling `freshpaint.registerCallConversion` directly.
{% endhint %}

## Considerations

{% hint style="info" %}
Conversions may take up to 24 hours to appear in your Google Ads Conversion Goals.
{% endhint %}

### Conversion Actions Configuration

The way you set up your conversion actions can affect the data that shows in the Google Ads console downstream. For example, if you have your conversion action set up to "Count one conversion", only one click per user will be shown in your console. This means that even if recent events are triggered, if they are triggered by the same user and ad as a previous event that was already counted, it will not show again. You can read more about how click ids are generated by Google Ads [here](https://support.google.com/searchads/answer/7342044?hl=en).

Similarly, the click through conversion setting on your conversion action can be important. For example, if you have a 30-day click through conversion setting on your conversion action, any of the corresponding events sent to Google Ads from outside that 30-day window will not be shown in the Google Ads console under that conversion action. You can read more about that [here](https://support.google.com/google-ads/answer/3123169?hl=en).

## Conversion Event Imports Between Google Analytics and Google Ads

The workflow of importing GA4 events as conversion actions in Google Ads is considered non-compliant, primarily related to the handling of user identifiers like the GCLID (Google Click Identifier).&#x20;

To remain compliant for both GA4 and Google Ads, Freshpaint recommends:

* **Not allowlisting the Google Click Identifier (GCLID) property for your Google Analytics destination.**
* **Creation of net-new Website Conversion Actions in Google Ads**: Instead of passing the GCLID directly to GA4, create specific Website conversion actions. This method generates a "conversion label" which allows Freshpaint to map an event to a specific conversion action in Google Ads.
* **Unlinking your Google Analytics 4 property from your Google Ads account.** The process for how these 2 tools are unlinked is documented [here](https://support.google.com/analytics/answer/9379420), under the "*Unlinking Google Ads accounts from Analytics*" section of the article.

## View-Through Conversions and Retargeting

View-through conversions and retargeting are possible with the Google Ads Conversions API destination:

{% content-ref url="../google-ads-conversion-api/google-ads-conversions-api-reference" %}
[google-ads-conversions-api-reference](https://documentation.freshpaint.io/integrations/destinations/direct-response-ads/google-ads-conversion-api/google-ads-conversions-api-reference)
{% endcontent-ref %}
