update_conversion_action

Google Ads Write

๐Ÿšจ **IF THIS TOOL RETURNS A QUOTA ERROR:** - The error message will include a clickable upgrade link - Show the FULL error message to the user (it contains the upgrade link) - DO NOT attempt to work ar

Endpoint

POST https://api.adspirer.ai/api/v1/tools/update_conversion_action/execute

Headers

Description

๐Ÿšจ **IF THIS TOOL RETURNS A QUOTA ERROR:** - The error message will include a clickable upgrade link - Show the FULL error message to the user (it contains the upgrade link) - DO NOT attempt to work around the error or use alternative data - DO NOT create campaigns or perform actions without valid tool data - STOP and direct the user to upgrade via the provided link Update an EXISTING conversion action (change its name, category, status, value, counting, lookback windows, primary flag, whether it counts in Conversions, or attribution model). Only the fields you pass change โ€” everything else stays as-is. It never removes a conversion action (to pause it, set status=PAUSED, which is reversible). **Parameters:** - conversion_action_id: The conversion action to update (REQUIRED). Get it from list_conversion_actions or audit_conversion_tracking. - Any of: name, category, status (ENABLED/PAUSED), value (+ currency_code, always_use_default_value), counting_type, click_through_lookback_window_days, view_through_lookback_window_days, include_in_conversions_metric, primary_for_goal, attribution_model. - customer_id: Optional. **Common uses:** - "Set the payment-calculator conversion to secondary" โ†’ primary_for_goal=false - "Stop counting Get Directions in Conversions" โ†’ include_in_conversions_metric=false - "Assign $250 to the Lead Submit conversion" โ†’ value=250 - "Pause the old duplicate conversion" โ†’ status=PAUSED **Execution time:** 2-4 seconds. Confirm changes with the user first โ€” this changes a live conversion setup.

Request body

All tool arguments are wrapped in an arguments object.

FieldTypeDescription
conversion_action_idstring requiredThe conversion action ID to update. Get it from list_conversion_actions or audit_conversion_tracking.
namestring optionalNew display name.
categorystring optionalNew category: PURCHASE, SIGNUP, ADD_TO_CART, BEGIN_CHECKOUT, SUBMIT_LEAD_FORM, BOOK_APPOINTMENT, REQUEST_QUOTE, GET_DIRECTIONS, ENGAGEMENT, CONTACT, PHONE_CALL_LEAD, OUTBOUND_CLICK, QUALIFIED_LEAD, CONVERTED_LEAD, DOWNLOAD, PAGE_VIEW, SUBSCRIBE_PAID, IMPORTED_LEAD, STORE_VISIT, STORE_SALE, DEFAULT.
statusstring optionalNew status: ENABLED or PAUSED. (This tool never removes a conversion action.)
valuenumber optionalNew default conversion value in the ACCOUNT'S currency as a decimal (not cents, not USD). E.g. 50 for 50/lead.
currency_codestring optional3-letter currency code for the value (USD, EUR, ...).
always_use_default_valueboolean optionalIf True, every conversion is worth `value` regardless of what the tag sends. Requires value > 0.
counting_typestring optionalONE_PER_CLICK (lead-gen) or MANY_PER_CLICK (e-commerce).
click_through_lookback_window_daysinteger optional1-30.
view_through_lookback_window_daysinteger optional1-30.
include_in_conversions_metricboolean optionalWhether this action counts in the 'Conversions' metric Smart Bidding optimizes toward.
primary_for_goalboolean optionalWhether this is a primary conversion action for its goal.
attribution_modelstring optionalAttribution model: GOOGLE_ADS_LAST_CLICK, GOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN, GOOGLE_SEARCH_ATTRIBUTION_LINEAR, GOOGLE_SEARCH_ATTRIBUTION_TIME_DECAY, GOOGLE_SEARCH_ATTRIBUTION_POSITION_BASED, GOOGLE_SEARCH_ATTRIBUTION_FIRST_CLICK, EXTERNAL.
customer_idstring optionalGoogle Ads customer ID. Required for multi-account users. Get from get_connections_status.

Example request

{
  "arguments": {
    "conversion_action_id": "string",
    "name": "string",
    "category": "string",
    "status": "string",
    "value": 1.0,
    "currency_code": "string",
    "always_use_default_value": false
  }
}

Example responses

200 โ€” Success

{
  "success": true,
  "data": {
    "text": "(tool-specific textual output for update_conversion_action)",
    "quota": {
      "used": 42,
      "limit": 150,
      "tier": "plus",
      "period_end": "2026-05-01"
    }
  },
  "tool": "update_conversion_action"
}

400 โ€” Tool-level error (bad arguments / multi-account selection)

{
  "success": false,
  "error": "You have 25 meta_ads accounts connected. Please specify which account to use by passing the ad_account_id parameter:\n  - Acme Holdings (ad_account_id=\"act_123456789\")\n  - Acme EU (ad_account_id=\"act_987654321\")",
  "is_error": true,
  "tool": "update_conversion_action"
}

402 โ€” Quota exhausted

{
  "success": false,
  "error": "\ud83d\udea8 Monthly limit reached (150/150 tool calls on Plus tier).\nUpgrade to Pro at https://adspirer.ai to keep building.",
  "is_error": true,
  "tool": "update_conversion_action",
  "quota": {
    "used": 150,
    "limit": 150,
    "tier": "plus",
    "period_end": "2026-05-01",
    "upgrade_url": "https://adspirer.ai"
  }
}

Try it live


Adspirer REST API โ€” get an API key at adspirer.ai/keys ยท adspirer.ai