# campaign.budget.depleted

A campaign Zernio already tracked ran out of budget. TikTok only.

### When it fires

Fires once per campaign when its budget runs out, at most once per 6 hours, so a daily budget that runs out again the next day is announced again.

### When it does not fire

Ads seen for the first time by a sync never fire it.

### Platform notes

Only TikTok reports this on the ad. Meta and Google keep such ads `ACTIVE`, so they never fire it.




**Payload for `campaign.budget.depleted`:**

- **id** (required) `string`: Stable webhook event ID: the dedupe key, also sent as the X-Zernio-Event-Id header and identical on every retry and redelivery.
- **profiles**: `WebhookProfiles` - See schema definition
- **test** `boolean`: Always true when present: only a sample sent by POST /v1/webhooks/test with an event carries it. Real deliveries never do.
- **event** (required) `string`: No description - one of: campaign.budget.depleted
- **account** (required): `WebhookAdsAccount` - See schema definition
- **adObject** (required) `object`: 
  - **level** (required) `string`: Always `CAMPAIGN`. - one of: CAMPAIGN
  - **platformId** (required) `string`: Platform-native campaign ID.
  - **platformAdAccountId** (required) `string`: Platform-native ad account ID.
  - **name** (required) `string,null`: No description
- **budget** (required) `object`: 
  - **raw** (required) `string`: Platform-native status string, forwarded verbatim (TikTok `AD_STATUS_CAMPAIGN_EXCEED`).
- **timestamp** (required) `string` (date-time): UTC time at which Zernio generated this event.