# Google Ads Store Sales

{% hint style="info" %}
This destination is currently under final review and will be available soon.
{% endhint %}

[Google Ads](https://ads.google.com/) is an online advertising platform where businesses pay to show their ads across Google’s ecosystem, mainly in search results, websites, apps, and videos. Using this destination you can leverage [Data Manager API](https://developers.google.com/data-manager/api) to send event data for [Google Ads store sales conversions](https://support.google.com/google-ads/topic/9941533?db=lindseyvolta).

## Key features

The Google Ads Store Sales destination provides the following key features:

* **Events structure**: our [Events reference](https://community.commandersact.com/platform-x/developers/tracking/events-reference) model matches [Google's event structure](https://developers.google.com/data-manager/api/reference/rest/v1/events/ingest), meaning that your data is properly bridged to the expected fields in an optimized way.
* **Prebuilt mappings**: data mapping for event-based destinations happens automatically, which simplifies user inputs.
* **Automatic hashing**: information is automatically hashed matching partner specifications.
* **Custom properties**: you can freely push custom properties based on your specific needs.
* **Smart mapping**: data mapping can be readjusted using your datalayer defined fields.
* **Support batch mode**: multiple events are sent, with a single request, instead of one at a time.

## Destination setup

{% hint style="warning" %}
Store sales conversions are only available to accounts on a Google allowlist. More details are available by following this [LINK](https://support.google.com/google-ads/answer/15885010).
{% endhint %}

### Configuration

<table><thead><tr><th width="300">Settings</th><th>Description</th></tr></thead><tbody><tr><td><code>Credentials</code></td><td><em><strong><code>Required</code></strong></em><br>Your credentials with Google Ads as set in the Commanders Act interface following: <code>Administration</code> ➜ <code>Connector Credentials</code> ➜ <code>Add connector credentials</code> ➜ <code>Google Ads</code></td></tr><tr><td><code>Store Identifier</code></td><td><em><strong><code>Required</code></strong></em><br>The identifier to represent a physical store where the event happened. More details are available by following this <a href="https://support.google.com/business/answer/3370250#storecode&#x26;zippy=%2Cbusiness-code">LINK</a>.</td></tr><tr><td><code>Mapping</code></td><td><p><em><strong><code>Required</code></strong></em><br>Map your Google Ads conversion names with your events by setting the fields <code>Google Ads Conversion Name</code> and <code>Your event name</code>. The conversion name must be of the type <code>STORE_SALES</code>. At least one line is required. Conversion names can be found in the Google Ads interface following:</p><p><code>Goals</code> ➜ <code>Summary</code> ➜ <code>Conversion action</code> (column)</p></td></tr><tr><td><code>Custom Variables</code></td><td>Custom variable for ads conversions. Map your <code>Custom variable name</code> with <code>Your value</code>. More details are available by following this <a href="https://developers.google.com/data-manager/api/reference/rest/v1/events/ingest#CustomVariable">LINK</a>.</td></tr><tr><td><code>Experimental Fields</code></td><td>Experimental fields represent unofficial fields. Map your <code>Experimental field name</code> with <code>Your value</code>. More details are available by following this <a href="https://developers.google.com/data-manager/api/reference/rest/v1/events/ingest#ExperimentalField">LINK</a>.</td></tr><tr><td><code>Additional User Properties</code></td><td>Additional user properties for the user associated with this event. Map your <code>User field name</code> with <code>Your value</code>. More details are available by following this <a href="https://developers.google.com/data-manager/api/reference/rest/v1/events/ingest#UserProperty">LINK</a>.</td></tr></tbody></table>

## Field mappings

{% hint style="info" %}
Properties can be remapped using our [Smart Mapping](https://doc.commandersact.com/features/destinations/advanced-mapping#smart-mapping) feature.\
The Data Manager API currently removes the entire <mark style="color:blue;">`cartData`</mark> property from a store sales event if any item in the <mark style="color:purple;">`cartData`</mark> is missing either of the following Google properties: <mark style="color:blue;">`merchantProductId`</mark> or <mark style="color:blue;">`unitPrice`</mark>. More details are available by following this [LINK](https://developers.google.com/data-manager/api/devguides/events/send-events#google-ads-store-sales).
{% endhint %}

<table data-full-width="true"><thead><tr><th width="263">Smart Mapping Field</th><th width="368">Commanders Act Default Properties</th><th width="375">Google Properties</th></tr></thead><tbody><tr><td><code>-</code></td><td><code>Store Identifier</code></td><td><code>eventLocation.storeId</code> <strong>[*]</strong></td></tr><tr><td><code>Transaction Id</code></td><td><code>id</code></td><td><code>transactionId</code> <strong>[*][1]</strong></td></tr><tr><td><code>Transaction Value</code></td><td><code>value</code></td><td><code>conversionValue</code> <strong>[*][1]</strong></td></tr><tr><td><code>Currency</code></td><td><code>currency</code></td><td><code>currency</code> <strong>[*][1]</strong></td></tr><tr><td><code>Event Timestamp</code></td><td><code>context.event_timestamp</code></td><td><code>eventTimestamp</code> <strong>[1][2]</strong></td></tr><tr><td><code>User Email</code></td><td><code>user.email</code></td><td><code>emailAddress</code> <strong>[3][4]</strong></td></tr><tr><td><code>User Phone</code></td><td><code>user.phone</code></td><td><code>phoneNumber</code> <strong>[3][4]</strong></td></tr><tr><td><code>User First Name</code></td><td><code>user.firstname</code></td><td><code>address.givenName</code> <strong>[3][4]</strong></td></tr><tr><td><code>User Last Name</code></td><td><code>user_lastname</code></td><td><code>address.familyName</code> <strong>[3][4]</strong></td></tr><tr><td><code>User Country</code></td><td><code>user.country</code></td><td><code>address.regionCode</code> <strong>[3]</strong></td></tr><tr><td><code>User ZIP Code</code></td><td><code>user.zipcode</code></td><td><code>address.postalCode</code> <strong>[3]</strong></td></tr><tr><td><code>Consent adUserData</code></td><td><code>partners.google.consent_ad_user_data</code></td><td><code>consent.adUserData</code> <strong>[5]</strong></td></tr><tr><td><code>Consent adPersonalization</code></td><td><code>partners.google.consent_ad_pers</code></td><td><code>consent.adPersonalization</code> <strong>[5]</strong></td></tr><tr><td><code>Merchant Identifier</code></td><td><code>partners.google.merchant_id</code></td><td><code>merchantId</code> <strong>[6]</strong></td></tr><tr><td><code>Merchant Feed Label</code></td><td><code>partners.google.merchant_feed_label</code></td><td><code>merchantFeedLabel</code> <strong>[6]</strong></td></tr><tr><td><code>Merchant Feed Language Code</code></td><td><code>partners.google.merchant_feed_lang_code</code></td><td><code>merchantFeedLanguageCode</code> <strong>[6]</strong></td></tr><tr><td><code>Transaction Discount</code></td><td><code>discount_value</code></td><td><code>transactionDiscount</code> <strong>[6]</strong></td></tr><tr><td><code>Item List</code></td><td><code>items</code></td><td><code>items</code> <strong>[6]</strong></td></tr><tr><td><code>Merchant Product Id</code></td><td><code>items.X.product.id</code></td><td><code>merchantProductId</code> <strong>[7][8]</strong></td></tr><tr><td><code>Quantity</code></td><td><code>items.X.quantity</code></td><td><code>quantity</code> <strong>[7][9]</strong></td></tr><tr><td><code>Price</code></td><td><code>items.x.product.price</code></td><td><code>unitPrice</code> <strong>[7][10]</strong></td></tr><tr><td><code>Conversion Value</code></td><td><code>items.x.product.conv_value</code></td><td><code>conversionValue</code> <strong>[7][11]</strong></td></tr><tr><td><code>-</code></td><td><code>Custom Variables</code></td><td><code>customVariables.X.value</code> <strong>[12]</strong></td></tr><tr><td><code>-</code></td><td><code>Experimental Fields</code></td><td><code>experimentalFields.X.value</code> <strong>[13]</strong></td></tr><tr><td><code>Customer Type</code></td><td><code>partners.google.customer_type</code></td><td><code>customerType</code> <strong>[14][15]</strong></td></tr><tr><td><code>Customer Value Bucket</code></td><td><code>partners.google.customer_value_bucket</code></td><td><code>customerValueBucket</code> <strong>[14]</strong></td></tr><tr><td><code>-</code></td><td><code>Additional User Properties</code></td><td><code>additionalUserProperties.X.value</code> <strong>[14][16]</strong></td></tr><tr><td><code>User Id</code></td><td><code>user.id</code></td><td><code>userId</code></td></tr><tr><td><code>City</code></td><td><code>partners.google.city</code></td><td><code>city</code> <strong>[17]</strong></td></tr><tr><td><code>Subdivision Code</code></td><td><code>partners.google.subdiv_code</code></td><td><code>subdivisionCode</code> <strong>[17]</strong></td></tr><tr><td><code>Region Code</code></td><td><code>partners.google.region_code</code></td><td><code>regionCode</code> <strong>[17]</strong></td></tr><tr><td><code>Subcontinent Code</code></td><td><code>partners.google.subcont_code</code></td><td><code>subcontinentCode</code> <strong>[17]</strong></td></tr><tr><td><code>Continent Code</code></td><td><code>partners.google.cont_code</code></td><td><code>continentCode</code> <strong>[17]</strong></td></tr></tbody></table>

{% hint style="info" %}
**\*** Mandatory property.\
**1.** Set in <mark style="color:blue;">`events.X`</mark> .\
**2.** If not passed, the current timestamp is used.\
**3.** Set in <mark style="color:blue;">`events.X.userData.userIndentifiers.X`</mark> .\
**4.** If set in clear text, it's automatically normalized and hashed via SHA256.\
**5.** This is automatically set if the consent is passed via client-side. Smart Mapping fields <mark style="color:blue;">`Consent adUserData`</mark> and <mark style="color:blue;">`Consent adPersonalization`</mark> have priority over the consent passed via client-side.\
**6.** Set in <mark style="color:blue;">`cartData`</mark> .\
**7.** Set in <mark style="color:blue;">`cartData.items.X`</mark> .\
**8.** The [product identifier](https://developers.google.com/data-manager/api/devguides/events/send-events#google-ads-store-sales) within the Merchant Center account. More details are available by following this [LINK](https://developers.google.com/data-manager/api/devguides/events/send-events#google-ads-store-sales).\
**9.** Default value if not set: <mark style="color:blue;">`1`</mark> .\
**10.** The unit price excluding tax, shipping, and any transaction level discounts. If the item has an item scoped discount, use the discounted unit price. E.g. if an item has a unit price of <mark style="color:blue;">`27.67`</mark> and a unit discount of <mark style="color:blue;">`6.66`</mark>, then set unitPrice to <mark style="color:blue;">`21.01`</mark>.\
**11.** The conversion value for a single unit of this item. For example, if two units of an item are purchased for <mark style="color:blue;">`10.00`</mark> each, set this wit <mark style="color:blue;">`10.00`</mark> and quantity to <mark style="color:blue;">`2`</mark>. Note that while this field is optional for individual items, the <mark style="color:blue;">`Transaction Value`</mark> Smart Mapping field is required.\
**12.** See <mark style="color:blue;">`Custom Variables`</mark> in [Configuration](#configuration) for more details.\
**13.** See <mark style="color:blue;">`Experimental Fields`</mark> in [Configuration](#configuration) for more details.\
**14.** Set in <mark style="color:blue;">`userProperties`</mark> .\
**15.** This is automatically set if the property <mark style="color:blue;">`user.status`</mark> is set with proper information. The "Smart Mapping" field <mark style="color:blue;">`Event Source`</mark> has priority over <mark style="color:blue;">`user.status`</mark>.\
**16.** See <mark style="color:blue;">`Additional User Properties`</mark> in [Configuration](#configuration) for more details.\
**17.** Set in <mark style="color:blue;">`eventLocation`</mark> .
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.commandersact.com/features/destinations/destinations-catalog/google/google-ads-store-sales.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
