Skip to main content
Glama
kLOsk

AdLoop: Google Ads, Reddit Ads & GA4

List Analytics key events

list_key_events
Read-only

List GA4 key events (conversions) configured on a property, showing event names, counting method, create time, deletability, custom status, resource names, and total.

Instructions

List the key events (conversions) configured on a GA4 property.

Returns each key event's event name, counting method (ONCE_PER_EVENT or ONCE_PER_SESSION), create time, whether GA4 allows deleting it, whether it is a custom event, and its resource name, sorted by event name, plus the total. Reads the GA4 Admin API (keyEvents.list).

Google Analytics Data API: https://developers.google.com/analytics/devguides/reporting/data/v1 and Admin API: https://developers.google.com/analytics/devguides/config/admin/v1

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
property_idNoGA4 property as "properties/123456789" or the bare numeric ID (see get_account_summaries). If empty, uses the default from config.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.27.1

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already carry the safety profile (readOnlyHint=true, openWorldHint=true, destructiveHint=false), so the bar is lower. The description adds real context beyond that: it names the backing call (keyEvents.list / GA4 Admin API) and notes the result is sorted by event name with a total, which helps the agent interpret output ordering.

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

Conciseness3/5

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

Purpose is front-loaded in the first sentence, good. The second paragraph enumerates return fields in prose, which largely duplicates the existing output schema, and the trailing API doc URLs add bulk without aiding tool selection. Clean but not tight.

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

Completeness4/5

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

Given an output schema, a fully documented parameter, and annotations covering safety, the description covers what an agent needs: what is listed, for which resource, and how results are ordered. The only real omission is routing guidance against the mutation siblings.

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?

With a single parameter at 100% schema description coverage, the schema already documents property_id format and the empty-string fallback to config. The description adds nothing about the parameter, so the baseline 3 applies.

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

Purpose4/5

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

Specific verb+resource with scope: 'List the key events (conversions) configured on a GA4 property.' Mapping key events to 'conversions' disambiguates terminology against neighbors like draft_create_conversion_action and get_custom_conversion_goals. It does not, however, explicitly distinguish itself from the write-side sibling draft_key_event.

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

Usage Guidelines2/5

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

There is no when-to-use or when-not-to-use guidance and no named alternative. A read/write pair exists in the sibling list (draft_key_event, draft_delete_key_event), but the description never tells the agent that this is the read path and those are the mutation paths.

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

Deploy Server

Other Tools