---
title: "Switch the conversion event a Meta ad set optimizes for"
method: POST
path: "/ad-sets/{id}/optimization-event"
---

# Switch the conversion event a Meta ad set optimizes for

`POST /ad-sets/{id}/optimization-event`

## Request

- Base URL: `https://lazyads.ai/api/v1`
- URL: `https://lazyads.ai/api/v1/ad-sets/{id}/optimization-event`
- Auth: HTTP bearer

Event graduation for a live Meta ad set (for example Lead → Purchase once purchases clear the learning threshold). Provide a Meta standard event (`customEventType`) or a custom conversion id (`customConversionId`). The event must exist on the account pixel; learning-volume and 14-day cooldown concerns are returned as `warnings` rather than blocking a user-directed change. Recorded in the Activity Log.

## Path parameters

- `id` string, required

## Request body

- object
  - `customEventType` 'PURCHASE' | 'LEAD' | 'COMPLETE_REGISTRATION' | 'ADD_TO_CART' | 'INITIATED_CHECKOUT' | 'ADD_PAYMENT_INFO' | 'CONTENT_VIEW' | 'SEARCH' | 'SUBSCRIBE' | 'START_TRIAL' | 'CONTACT' | 'SCHEDULE' | 'SUBMIT_APPLICATION' | 'ADD_TO_WISHLIST' | 'CUSTOMIZE_PRODUCT' | 'DONATE' | 'FIND_LOCATION' | 'RATE' | 'TUTORIAL_COMPLETION' | 'LEVEL_ACHIEVED' | 'ACHIEVEMENT_UNLOCKED' | 'SPENT_CREDITS' | 'SERVICE_BOOKING_REQUEST' | 'MESSAGING_CONVERSATION_STARTED_7D' | 'LISTING_INTERACTION' | 'OTHER'
  - `customConversionId` string
  - `reason` string

## Response `200`

Optimization event updated

- object
  - `data` object
    - `adSetId` string
    - `campaignId` string
    - `optimizationEvent` object
    - `previous` object, nullable
    - `weeklyVolume` number, nullable
    - `warnings` string[]
  - `message` string

---

[API](https://skmtc.dev/lazyads/apis/lazyads-api.md) · [All operations](https://skmtc.dev/lazyads/apis/lazyads-api/llms.txt) · [OpenAPI document](https://skmtc.dev/lazyads/apis/lazyads-api/revisions/7d5de42538e9?raw)
