kadam_adv_update_campaign
Update an existing Kadam campaign by passing only the fields to change, covering targeting, budget, bid, schedule, and conversion edits. Status changes use set_campaign_status.
Instructions
Update a campaign (read-modify-write): pass only the fields to change, same names as create. Handles all targeting/budget/bid/schedule/conversion edits. For status changes use set_campaign_status.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Campaign ID to update | |
| os | No | Comma-separated OS names or IDs (e.g. 'Android,iOS' or '10,20') | |
| bid | No | Bid amount in USD. For cpa_target this is the target CPA cost | |
| url | No | Landing page URL | |
| name | No | Campaign name shown in dashboard | |
| sspIds | No | Comma-separated SSP IDs for the whitelist/blacklist | |
| devices | No | Comma-separated device names or IDs (e.g. 'Desktop,Smartphone' or '1,4') | |
| endDate | No | End date (YYYY-MM-DD) | |
| sspMode | No | SSP list mode: whitelist (allow listed) or blacklist (block listed) | |
| browsers | No | Comma-separated browser names or IDs (e.g. 'Chrome,Firefox' or '8,16') | |
| folderId | No | Campaign group ID (API field: folderId) | |
| schedule | No | Comma-separated hours (0-23) to show ads, applied to all days (e.g. '9,10,11,17') | |
| timezone | No | Timezone offset in hours (e.g. 3 for UTC+3) | |
| countries | No | Comma-separated ISO country codes (e.g. 'US,DE,BR') | |
| languages | No | Comma-separated language names or IDs | |
| startDate | No | Start date (YYYY-MM-DD) | |
| categories | No | Comma-separated targeting from kadam://reference/categories: 'mainstream', 'adult' (parent 1001), and/or adult subcategory IDs. Do not pass other numeric category IDs on create. | |
| impTracker | No | Third-party impression tracking pixel URL | |
| secondPush | No | Enable second push notification (push/inpage_push only) | |
| dailyBudget | No | Daily spending limit in USD | |
| totalBudget | No | Total campaign budget in USD | |
| disableProxy | No | Block proxy/VPN traffic | |
| siteBlacklist | No | Comma-separated site IDs for blacklist | |
| siteWhitelist | No | Comma-separated site IDs for whitelist | |
| connectionType | No | Network connection type filter (all = no filter) | |
| conversionHold | No | Custom postback status name for Hold (e.g. 'reg'). Sent only for a custom mapping, without a template id. | |
| postViewWindow | No | Post-view attribution window in hours (1-168) | |
| trafficSources | No | Traffic source pool: 'proven' = EasyStart pool of proven sources, 'all' = full pool filtered by Audience Engagement levels. Supported formats are configured server-side (popunder at release); for unsupported formats the API rejects the field with 422. Under 'proven' the API ignores audienceEngagementLevels. | |
| campaignCapDays | No | Window in days for campaignCapViews | |
| postClickWindow | No | Post-click attribution window in hours (1-168) | |
| campaignCapViews | No | Campaign-level cap: max views of ANY creative from this campaign per user within campaignCapDays | |
| conversionReject | No | Custom postback status name for Rejected. Sent only for a custom mapping, without a template id. | |
| evenDistribution | No | Spread budget evenly across the day | |
| frequencyCapDays | No | Window in days for frequencyCapViews | |
| subscriptionAges | No | Comma-separated subscription-age IDs (push / in-page push only; see campaign options 'subAges'). Replaces the current set. Example: '1' = newest only. | |
| frequencyCapViews | No | Creative-level cap: max views of ONE creative per user within frequencyCapDays | |
| audienceExcludeIds | No | Comma-separated audience IDs to exclude | |
| audienceIncludeIds | No | Comma-separated audience IDs to include | |
| conversionApproved | No | Custom postback status name for Approved (e.g. 'dep'). Sent only for a custom mapping, without a template id. | |
| conversionTemplateId | No | Conversion template id from conversion-templates. Omit or pass 0 for a custom mapping: approved/hold/reject are sent and id is not. A positive id selects that template; the status names are then taken from the template and are not sent. | |
| pauseAfterModeration | No | Pause campaign after creatives pass moderation | |
| countLastCampaignOnly | No | Attribute conversion only to the last campaign impression (default: true) | |
| postClickAttrPriority | No | Post-click attribution takes priority over post-view (default: true) | |
| audienceEngagementLevels | No | Comma-separated Audience Engagement level slugs, e.g. 'very_high,high,medium'. Allowed slugs: very_high, high, medium, low, not_rated. Only meaningful with trafficSources=all; at least one level is required. | |
| countFirstConversionOnly | No | Count only the first conversion per user (default: true) | |
| postConversionAudienceIds | No | Comma-separated audience IDs for post-conversion retargeting |