Create a ConversionAction resource via the Google Ads API with the appropriate category, value settings, and counting_type (ONE_PER_CLICK or MANY_PER_CLICK).
Enable enhanced conversions on the conversion action by setting enhanced_conversions_settings.enabled to true in the ConversionAction payload.
Deploy the Google tag (gtag.js) or Google Tag Manager tag on the conversion page; configure it to send user-provided data (hashed email, name, address) to Google at the time of conversion.
Hash user-provided data using SHA-256 before sending if using the API path; if using the tag, the tag handles hashing automatically when the data is passed as plaintext.
Verify the enhanced conversions setup in the Google Ads UI diagnostics panel or via the API's conversion_action_service to confirm the user-provided data is being received.
Monitor the 'Enhanced conversions' column in reporting to track what percentage of conversions are receiving the enhanced data signal; low rates indicate issues with tag firing or data availability on the conversion page.
Known gotchas
Enhanced conversions for web requires the Google tag (not just the conversion linker); if you are running a legacy Google Ads conversion tag without gtag.js, enhanced conversions will not function even if the API flag is set.
The hashing of user-provided data must use SHA-256 on normalized values (lowercase email, stripped whitespace); inconsistent normalization is the most common cause of poor match rates in enhanced conversions.
Enhanced conversions data is used for modeling and bidding but is not directly reported as a separate conversion column; the improvement shows as incremental modeled conversions mixed into the standard conversion count, not as an additive metric.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp