Skip to main content
Glama

Link a GA4 property to a Google Ads account

create_google_ads_link

Link a GA4 property to a Google Ads customer account (see list_google_ads_links to check what's already linked first - this errors if one already exists for that pair). Together with mark_key_event, this is what lets Google automatically sync a GA4 key event into a Google Ads conversion action - see update_ga4_conversion_action (Google Ads connector) for the one step still needed once that sync happens. Needs the analytics scope; a connection made before that scope was requested will refuse this until reconnected (see needsReconsent).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
propertyNo
customerIdYes10-digit Google Ads customer id (dashes optional, e.g. 123-456-7890).
adsPersonalizationEnabledNoAllow Ads personalization features on this link. Defaults to Google's own default (off) if omitted.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare a generic non-read-only open-world mutation; the description adds real behavioral detail the annotations cannot express: the duplicate-pair error condition, the required analytics scope, and that a pre-scope connection will refuse until reconnected (needsReconsent). This is substantive context beyond structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the action and the duplicate-check caveat, then adds workflow and scope context. Three dense sentences with no filler, though the third sentence is run-on and could be split.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no output schema, the description covers the error condition, prerequisite scope, reconnection requirement, and adjacent workflow steps. An agent has everything needed to call it and handle failures.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67%: customerId and adsPersonalizationEnabled are documented in the schema, but 'property' has no description in either place. The description adds no parameter-level meaning, so it neither compensates for the gap nor documents the format expectations for property.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Link) and both resources (GA4 property, Google Ads customer account), which immediately distinguishes it from delete_google_ads_link and list_google_ads_links in the sibling set.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes the agent to list_google_ads_links as a pre-check and warns that this errors if a link already exists. It also names the downstream workflow (mark_key_event, then update_ga4_conversion_action), so when-to-use and what-comes-next are both covered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources