Google Ads
Google Ads conversion tracking enables you to track conversions and measure the effectiveness of your Google Ads campaigns via the unified gtag destination.
Installation
Configuration
This destination uses the standard destination config wrapper (consent, data, env, id, ...). For the shared fields see destination configuration. Package-specific fields live under config.settings and are listed below.
Settings
| Property | Type | Description | More |
|---|---|---|---|
como | boolean | object | Consent mode configuration: false (disabled), true (use defaults), or custom mapping | |
ga4 | ga4 | GA4-specific configuration settings | |
measurementId | string | GA4 Measurement ID from Google Analytics | |
debug | boolean | Enable debug mode for GA4 | |
pageview | boolean | Enable automatic pageview tracking | |
server_container_url | string | Server-side GTM container URL | |
snakeCase | boolean | Convert parameter names to snake_case | |
transport_url | string | Custom transport URL for GA4 | |
data | any | Custom data mapping configuration | |
ads | ads | Google Ads specific configuration settings | |
conversionId | string | Google Ads Conversion ID (required) | |
currency | string | Currency code (ISO 4217, e.g., USD, EUR) | |
data | any | Custom data mapping (WalkerOS.Mapping.Value | Values) | |
enhancedConversions | enhancedConversions | Enhanced conversions: maps event fields to Google user_data for improved measurement accuracy | |
email | any | Mapping value for user email | |
phone_number | any | Mapping value for user phone number | |
address | address | Address mapping for enhanced conversions | |
first_name | any | Mapping value for first name | |
last_name | any | Mapping value for last name | |
street | any | Mapping value for street address | |
city | any | Mapping value for city | |
region | any | Mapping value for region/state | |
postal_code | any | Mapping value for postal/zip code | |
country | any | Mapping value for country | |
gtm | gtm | Google Tag Manager specific configuration settings | |
containerId | string | GTM Container ID (required) | |
dataLayer | string | Custom dataLayer variable name (default: dataLayer) | |
domain | string | Custom GTM domain for script loading | |
data | any | Custom data mapping (WalkerOS.Mapping.Value | Values) |
Mapping
Per-event rules under config.mapping. For the standard rule fields (consent, condition, data, batch, name, policy) see mapping.
| Property | Type | Description | More |
|---|---|---|---|
ga4 | ga4 | GA4-specific event mapping | |
ads | ads | Google Ads-specific event mapping | |
label | string | Conversion label for this specific event | |
gtm | gtm | GTM-specific event mapping |
Examples
Add to cart
A product add event is mapped to the GA4 add_to_cart event with item details and value.
Enhanced conversions
enhancedConversions maps event fields into a gtag set user_data call sent immediately before the conversion event.
Google Ads init
The destination bootstraps gtag and configures a Google Ads account via its conversionId.
Consent Mode v2
A walker consent command with marketing and functional granted updates gtag Consent Mode v2 parameters.
GA4 init
The destination bootstraps gtag and configures a GA4 property via its measurementId.
GA4 include all
Include flattens every event section into prefixed GA4 params, exposing data, context, user, source, and event fields.
Ads conversion
An order complete event is sent as a Google Ads conversion with a configured label and transaction value.
GTM dataLayer push
A page view event is pushed to window.dataLayer for GTM with the mapped event name and parameters.
GTM init
The destination initializes the dataLayer and pushes the gtm.js start event for a GTM container.
Multi-tool push
A single order event fans out to GA4, Google Ads, and GTM from one mapping rule with per-tool settings.
Page view
A page view event is forwarded as a GA4 page_view event with no additional mapping.
Purchase
An order complete event is mapped to the GA4 purchase event with transaction details and nested product items.
Enhanced conversions
Enhanced conversions
improve measurement accuracy by sending first-party customer data (email,
phone, address) alongside a conversion. The destination calls
gtag('set', 'user_data', {...}) immediately before the conversion event, and
passes allow_enhanced_conversions: true at init. Google hashes the data, the
destination sends it in plain form.
Set enhancedConversions on the ads settings. It maps event fields to
Google's user_data. Each value is a standard mapping value, so you can pull
from event.user, event.data, or anywhere a mapping reaches.
The address object accepts first_name, last_name, street, city,
region, postal_code, and country. When no user data resolves, the
set user_data call is skipped and the conversion is sent normally.