Skip to main content
Glama

analyticsadmin.properties.conversionEvents.create

Creates a conversion event for a Google Analytics property; deprecated, use CreateKeyEvent instead.

Instructions

Deprecated: Use CreateKeyEvent instead. Creates a conversion event with the specified attributes [HTTP POST] — creates or triggers a change; refused under --readonly safety profiles. Returns the API's response resource as JSON — request body is a JSON GoogleAnalyticsAdminV1betaConversionEvent object accepting countingMethod, createTime, custom, defaultConversionValue, deletable, eventName, name; pass it via params or whole via body_file Siblings over the same resource: delete, get, list, patch.

Input Schema

NameRequiredDescriptionDefault
queryNoExtra KEY=VALUE query pairs for endpoints whose parameters Discovery does not describe.
paramsNoParameter map merged into the request; typed parameters win.
parentYes[URL path segment] Required. The resource name of the parent property where this conversion event will be created. Format: properties/123
dry_runNoReturn the request that would be sent, without sending it.
body_fileNoRead the request body from this file ('-' for stdin) instead of building one from the parameters. The body is a JSON GoogleAnalyticsAdminV1betaConversionEvent object.
request_bodyNoRequest body of type GoogleAnalyticsAdminV1betaConversionEvent: pass it via `params` (merged into the built body) or whole via `body_file`.

Output Schema

NameRequiredDescriptionDefault
nameNo
customNo
deletableNo
eventNameNo
createTimeNo
countingMethodNo
defaultConversionValueNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / body_file / description
      Previous value: -"Read the request body from this file ('-' for stdin) instead of building one from the parameters."New value: +"Read the request body from this file ('-' for stdin) instead of building one from the parameters. The body is a JSON GoogleAnalyticsAdminV1betaConversionEvent object."
    • addedInput schema / properties / request_body
      Added value: +{
      +  "description": "Request body of type GoogleAnalyticsAdminV1betaConversionEvent: pass it via `params` (merged into the built body) or whole via `body_file`.",
      +  "properties": {
      +    "countingMethod": {
      +      "enum": [
      +        "CONVERSION_COUNTING_METHOD_UNSPECIFIED",
      +        "ONCE_PER_EVENT",
      +        "ONCE_PER_SESSION"
      +      ],
      +      "type": "string"
      +    },
      +    "createTime": {
      +      "type": "string"
      +    },
      +    "custom": {
      +      "type": "boolean"
      +    },
      +    "defaultConversionValue": {
      +      "properties": {
      +        "currencyCode": {
      +          "type": "string"
      +        },
      +        "value": {
      +          "type": "number"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "deletable": {
      +      "type": "boolean"
      +    },
      +    "eventName": {
      +      "type": "string"
      +    },
      +    "name": {
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  2. Changed3 schema fields changed
    • changedInput schema / properties / parent / description
      Previous value: -"Required. The resource name of the parent property where this conversion event will be created. Format: properties/123"New value: +"[URL path segment] Required. The resource name of the parent property where this conversion event will be created. Format: properties/123"
    • addedInput schema / properties / parent / pattern
      Added value: +"^properties/[^/]+$"
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "countingMethod": {
      +      "enum": [
      +        "CONVERSION_COUNTING_METHOD_UNSPECIFIED",
      +        "ONCE_PER_EVENT",
      +        "ONCE_PER_SESSION"
      +      ],
      +      "type": "string"
      +    },
      +    "createTime": {
      +      "type": "string"
      +    },
      +    "custom": {
      +      "type": "boolean"
      +    },
      +    "defaultConversionValue": {
      +      "properties": {
      +        "currencyCode": {
      +          "type": "string"
      +        },
      +        "value": {
      +          "type": "number"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "deletable": {
      +      "type": "boolean"
      +    },
      +    "eventName": {
      +      "type": "string"
      +    },
      +    "name": {
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  3. First observed

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the burden well: it declares the HTTP method (POST), that it creates or triggers a change, that it is refused under --readonly profiles, and that it returns the API response resource as JSON. It omits permissions/scopes required and duplicate-handling or error behavior, which keeps it below a 5.

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-loaded with the deprecation warning and the core verb, which is the right order. It is dense but nearly every clause carries information, though the field list recital at the end is partly redundant with the schema and could be trimmed.

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 exists, the description needn't explain return values, and it still notes they come back as JSON. Parameters are fully covered by the schema, and the deprecation, mutation semantics, and readonly refusal are all disclosed; only auth requirements are unaddressed.

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 100%, so all six parameters including the nested request body are already documented structurally. The description restates the body fields and the params/body_file merge rule, which is marginal added value; the baseline 3 applies when the schema does the heavy lifting.

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 and resource ('Creates a conversion event') and immediately flags the tool as deprecated in favor of CreateKeyEvent, which lets an agent distinguish it from the keyEvents.create sibling without opening either schema. It further enumerates the sibling operations (delete, get, list, patch) over the same resource.

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?

The very first token is a directive: 'Deprecated: Use `CreateKeyEvent` instead.' That is an explicit when-not-to-use statement paired with a named alternative, plus a note that readonly safety profiles refuse the call. Nothing about selection is left to inference.

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