What can I change at each level?
Campaign management in Qonversion works on three Apple Ads entity levels: campaigns, ad groups and keywords. Every change targets exactly one entity.- Campaigns, ad groups and keywords can each be paused and resumed (Apple status
PAUSED/ENABLED). - Bids can be changed only for keywords. Campaigns have no bid (they have a daily budget), and ad groups support pause and resume only — the ad group default bid cannot be changed from Qonversion.
- Only the daily budget of a campaign can be changed. Ad groups and keywords have no budget of their own; in the Daily budget column their cells show a dash with the explanation “Apple Ads sets budgets per campaign — an ad group or keyword has none of its own, it spends the campaign’s.”
- Only the campaign’s daily budget is editable; the campaign’s lifetime (total) budget cannot be changed from Qonversion.
- Each change does exactly one thing: change the status, change the bid, or change the daily budget.
- Summary rows (Total, Unallocated) and Apple’s Search Match placement rows cannot be changed; Search Match has no id, state or bid in Apple Ads.
- A change can only target a campaign that belongs to the current Qonversion project’s Apple Ads data. Any other campaign id is answered with HTTP 404
campaign_not_found(“Campaign<id>is not attributed to this project. Reload the report — the campaign list comes from it.”).
Where in the dashboard do I make a change?
All controls are in the Apple Ads report of the Qonversion dashboard.How do I pause or resume a campaign, ad group or keyword?
In the report tables (Campaigns, Ad groups, Keywords) and in the campaign page header, the Status column shows a switch. Turning it off pauses the entity and turning it on resumes it. A single switch change is sent immediately, without a confirmation dialog. Next to the Status switch the row can show not delivering (enabled, but Apple is not serving it) or Unknown (Apple reports no state, or a state other than active/paused — the switch is then disabled). Right after resuming, Apple often still reports the entity as not running, so not delivering can appear briefly after a successful resume.How do I change a keyword bid?
On the Keywords level the Bid column shows each keyword’s current Apple bid. Clicking the amount (pencil icon) opens a dialog titledKeyword bid — <keyword> with:
- Apple’s current bid;
- a New bid field with −/+ steppers of 0.01;
- percent shortcuts −50%, −20%, −10%, +10%, +20%, +50%;
- the buttons Cancel and Save changes.
How do I change a campaign daily budget?
On the Campaigns level the Daily budget column (and the campaign page header) shows each campaign’s daily budget. Clicking it opens a dialog titledDaily budget — <campaign> with Apple’s current daily budget, a New daily budget field with −/+ steppers of 1.00, and percent shortcuts −50%, −25%, +25%, +50%, +100%.
The Daily budget column header explains: “The maximum Apple may spend per day on this campaign; actual spend can be lower”. The budget dialog adds: “This is a daily limit, not a spend forecast — Apple can spend less depending on auction demand.”
Why is a control disabled?
A change is only possible when the report shows Apple’s current value for that row. If the current status, bid or daily budget is not in the report, the matching control is disabled with an explanation, for example “Apple’s current bid for this row is not in this report yet, and a bid cannot be changed without a verified current value.”Who can change campaigns?
Two separate checks must both allow the change: the Qonversion capability of the dashboard member, and the Apple Ads role of the Apple Ads user behind the connection.Which Qonversion members have the Manage Apple Ads campaigns capability?
Changing campaigns requires the Manage Apple Ads campaigns capability. It covers pausing and enabling campaigns, ad groups and keywords and changing daily budgets and bids (it spends the account’s Apple Ads budget); it does not include changing the Apple Ads connection or importing spend history. Account owners and administrators have Manage Apple Ads campaigns through their role; it cannot be switched off for them. Every other role gets it only when an owner or administrator grants it to that person.How do I grant the capability to a member?
1
Open Members
An account owner or administrator opens Members and edits the member.
2
Open the Capabilities tab
In the edit-member drawer, go to the Capabilities tab.
3
Switch it on and save
Switch on Manage Apple Ads campaigns and click Save Changes. The switch takes effect only after Save Changes.
- The capability can be granted only to an existing member from the edit-member drawer; the invite form has no capabilities.
- Only account owners and administrators can change capabilities, and nobody can change their own.
What do members without the capability see?
Members without the capability see the Status, Bid and Daily budget values read-only: no switches, edit buttons, row checkboxes or bulk bar are shown. In the dashboard, a change attempted without the capability is refused with HTTP 403 and “Managing Apple Ads campaigns requires the owner or administrator role, or the “Manage Apple Ads campaigns” capability.” Manage Apple Ads campaigns is separate from managing the Apple Ads connection and importing spend history. A member with only this capability can change campaigns but cannot reconnect Apple Ads or import spend; in that case connection problems are shown as “Ask an account owner or administrator to …”.Which Apple Ads role does the connection need?
Changes also require that the Apple Ads user behind the connection has a role that can edit campaigns in Apple Ads:
Campaign management works with either kind of Apple Ads connection (Sign in with Apple or an API key); what decides whether changes are allowed is the Apple Ads role of the connected user, not the connection type.
When the connection’s Apple role is read-only, the report shows “Reporting is connected. Campaign management isn’t enabled” with “This project’s Apple Ads access is read-only (role:
<role>). Change the role in Apple Ads, then reconnect with Apple.” A change sent anyway is refused with HTTP 403 read_only_credential: “The Apple Ads API user for org <id> cannot make changes (role: <role>). Change the role in Apple Ads or connect a different key.”
When does the Apple Ads connection block changes?
Changes cannot be made while the Apple Ads connection is missing, rejected by Apple, expired or revoked, or still being verified. The report explains the state in a banner with an action such as Connect Apple Ads, Reconnect with Apple, Fix credentials or Review credentials, and pressing a campaign control in that state opens a dialog that says “No changes were made.” If Qonversion has not been able to confirm the connection’s Apple permissions for more than 48 hours, changes are refused. In the dashboard the report shows Apple Ads permissions need to be refreshed with a Refresh connection action. A change sent anyway gets HTTP 503permission_data_stale (“Apple has not confirmed this credential’s permissions for more than 48 hours, so a change cannot be authorised right now. Reopen Apple Ads settings to refresh, then try again.”); through MCP the change fails with HTTP 503.
Which accounts have campaign management?
Campaign management is part of the Apple Ads feature: accounts that have the Apple Ads report also get campaign management, subject to the Manage Apple Ads campaigns capability and the Apple Ads role. There is no separate add-on. Apple Ads is available to accounts with the Apple Ads feature — contact support.What amounts can I enter for bids and daily budgets?
Which currency do I use?
Bids and daily budgets are entered and sent in the Apple Ads account (org) currency, not converted to USD — even when the report shows spend in USD or another display currency. A change in any other currency is rejected with<field>.currency must be <ORG CURRENCY>, the default currency of org <id>., and if the org currency is not known yet the change is refused until Apple Ads settings are refreshed.
Can I save the same amount again?
No. Saving the same amount as the current one is not possible: Save changes stays disabled while the field holds the current value (the dialog opens pre-filled with it), and if you type your way back to it the dialog says “That is already the current bid.” or “That is already the current daily budget.”How much can I raise a bid or budget in one change?
In the dashboard, one change cannot raise a bid or daily budget to more than 3× the current value shown in the report. Above that, Save changes is disabled and the dialog saysWe will not send more than <3× amount> — one change cannot raise this to more than 3× the current value. Raise in steps instead. Decreases have no size limit (the amount must stay above zero). For example, a keyword bid of 0.50 can be raised to at most 1.50 in one change.
The server also refuses a single change that raises a bid or daily budget above 3× the last value Qonversion saw Apple confirm for that entity, with HTTP 422 and the field message “a single change may not raise the bid above 3× the current one (<amount>). Raise it in steps.” (or “…the daily budget above…”).
Through MCP and the API, the 3× ceiling is checked against the last amount Qonversion saw Apple confirm. If Qonversion has no confirmed history for the entity, the ceiling is not applied, the change counts as an increase, and the success response includes baseline_unverified: true.
What limits apply to campaign changes?
Limits are counted per Qonversion project, not per user, and are shared by every member and every surface: changes made in the dashboard and through Qonversion’s MCP server (AI agents acting as a dashboard user with theapple_ads:write scope) count toward the same limits.
- Each project can make at most 10 changes per rolling minute and 60 per rolling hour, counting pauses, resumes, bid and budget changes alike (only changes that did or may have reached Apple count). Over the limit the change is refused with HTTP 429 and “Too many changes in the last minute (limit 10).” or “Too many changes in the last hour (limit 60).”; the dashboard adds “Try again in a minute.” or “Try again within the hour.”
- Changes that can increase spend have daily limits per project: 20 resumes (enables), 20 bid increases and 10 daily-budget increases in any rolling 24 hours. Over the limit the change is refused with HTTP 429 (for example “Daily limit of 20 enables reached for this project.”), and the dashboard adds “This limit counts changes in the last 24 hours. Each change stops counting 24 hours after it was made.”
- Rate-limit refusals carry error class
rate_limit, one of the codes above, and aRetry-Afterheader equal to the full window length (60, 3600 or 86400 seconds) — an upper bound, not the exact moment the limit frees up.
Do pauses and decreases count?
Pausing is never subject to the daily limits — only to the 10-per-minute and 60-per-hour limits. Lowering a bid or daily budget is also exempt from the daily limits, except the first change on a keyword or campaign that Qonversion has never changed before, which is counted as an increase.Why did lowering a bid count as an increase?
If Qonversion has never successfully changed that keyword or campaign before (no pause, resume, bid or budget change made through Qonversion), the first bid or daily-budget change on it is counted toward the daily increase limit even when it lowers the value. The tooltip of the row’s confirmation note then adds: “Applied, but we had no confirmed previous value for this row — the “before” we sent came from the report, not from a change we had seen Apple confirm.”Do failed changes count?
Changes that provably did not happen (refused by Apple, refused before reaching Apple) do not count toward the limits; changes whose outcome is unknown do count.What do I see after I make a change?
Pending. While a change is being sent, the row shows a spinner and a progress label such as Pausing…, Resuming…, Setting bid… or Setting daily budget…, and the row’s controls are disabled until Apple answers.
Confirmed. When Apple confirms a change, the row immediately shows the value Apple confirmed and a note ✓ Paused · just now (or Resumed, Bid set, Daily budget set). The note disappears once the report shows the same value, and clicking it dismisses it.
Failed. If Apple or Qonversion refuses a change, the row shows ! Pause failed (or Resume failed, Set bid failed, Set daily budget failed). Clicking it shows the reason, Apple’s error code as
Apple Ads: <code> when Apple gave one, what it means (usually “Nothing changed on Apple’s side.”), and the buttons Dismiss and, when retrying makes sense, Try again.
Outcome unknown. If no answer comes back from Apple, the row shows ? Outcome unknown: the change may or may not have been applied. Reload the report and check before retrying. The Check and retry button asks about the same attempt instead of sending a second change, so it cannot double-apply.
Value changed. If the entity was changed through Qonversion shortly before (for example by a teammate) and the value you saw is no longer the one Apple confirmed, the change is refused with HTTP 409 value_changed (“The status changed since you loaded the report (now …, you saw …). Reload and try again.”) and no retry is offered: reload the report and decide against the current value.
A change never alters historical metrics: spend, installs and revenue already in the report stay as they are.
Each change carries a one-time key, so repeating the same request (double click, network retry) applies it only once and returns the original result. A second identical request while the first is still running gets HTTP 409 in_progress (“The same change is already being applied. Wait for it to finish.”).
What happens to changes made in the Apple Ads console?
Changes made directly in the Apple Ads console are not detected before a change is sent: Qonversion checks the value you saw only against changes it confirmed itself shortly before, so a change from Qonversion overwrites a newer console edit. Before changing an entity in Qonversion that someone may have edited in the Apple Ads console, check its current value in Apple Ads.How do bulk actions work?
Rows can be selected with checkboxes, across levels. The bulk bar then shows<N> selected with a per-level breakdown (for example “2 campaigns · 3 keywords”) and the buttons Enable…, Pause…, Adjust bids… and ✕ to clear the selection (also Esc).
Pause and enable
Bulk pause/enable always asks for confirmation. The dialog is titledPause <N> entities? or Enable <N> entities?, lists up to 5 names (then + <N> more), explains the effect (“Apple stops serving them until you enable them again.” or “Apple resumes serving them — spend can start again.”) and has Cancel and Pause <N> or Enable <N>.
In a bulk pause or enable, rows already in the requested state are skipped (counted as “skipped”), not re-sent.
Adjust bids
Adjust bids… opens Adjust keyword bids: choose −50, −20, −10, +10, +20 or +50 % (default +10 %). Each selected keyword moves by that percent from its own current Apple bid, a preview lists “old → new”, and the button readsUpdate <N> bids. Selected campaigns, ad groups and keywords without a known bid are left unchanged.
Progress and results
Bulk changes are sent one at a time; the bar showsPausing <i> of <N>… one by one, keeping Apple’s rate limits with a Stop after current button, then a result such as <n> paused · <m> skipped · <k> failed with Retry failed. Each item is still subject to the per-project rate limits (10 changes per minute, 60 per hour, plus the daily increase limits).
Can I change daily budgets in bulk?
No. There is no bulk daily-budget change; daily budgets are changed one campaign at a time.Can I make changes in the demo account?
No. In the read-only demo account changes are never sent: the dashboard shows “Not available in the demo account. This project is a read-only demo, so the change was never sent to Apple — nothing changed.”Can I change campaigns through MCP or the REST API?
Campaign changes through the public API are possible only via Qonversion’s MCP server acting as a dashboard user with theapple_ads:write scope. A project Secret Key alone is refused with HTTP 403 (“Changing Apple Ads campaigns requires the apple_ads:write scope and an authenticated dashboard user.”), and the user’s Manage Apple Ads campaigns capability is re-checked on every call. Through MCP, a member without the capability gets HTTP 403 with “This user is not allowed to manage Apple Ads campaigns in this account.”
Through MCP, the same entity levels (keyword bids, campaign daily budgets), the Apple Ads organization currency, the Apple Ads role requirement and the per-project limits apply. In addition:
- Through MCP, every resume and every live bid or daily-budget change is held for human confirmation before it is sent; pauses run without confirmation.
- Every change carries an idempotency key of at most 64 characters. On the REST change endpoint
idempotency_keyis required (in the body or theIdempotency-Keyheader); a request without it is refused with HTTP 422. Through MCP it is optional: when you omit it, the tool generates a new key for each attempt, so to retry a change safely pass your own key and resend the same key. Reusing a key for a different change is refused with HTTP 409idempotency_key_reuse. - API and MCP callers can send
dry_run: trueto validate a change and see what would be sent without changing anything in Apple Ads; dry runs do not count toward the rate limits. - Through the public REST API, 4xx refusals (409, 422, 429 with
Retry-After, 403, 404) are returned verbatim, but any 5xx (outcome unknown, temporarily unavailable, permission data stale) is returned with its status and a generic error body without the dashboard’s code and message. Through MCP, the change tools pass on only the error message text of a 4xx refusal, and any 5xx becomes a generic error; see How do I use Apple Ads through the Qonversion MCP server?.
What is not supported?
- Changing the ad group default bid, or a bid on a campaign.
- Changing a budget on an ad group or keyword, or a campaign’s lifetime (total) budget.
- Changing anything other than status, keyword bid or campaign daily budget: name, targeting, dates, and creating or deleting campaigns, ad groups or keywords cannot be done from Qonversion.
- Changing summary rows (Total, Unallocated) or Apple’s Search Match placement rows.
- Changing daily budgets in bulk.
- Raising a bid or daily budget above 3× the current value in one change.
- Detecting edits made directly in the Apple Ads console; a change from Qonversion overwrites them.
- Making changes with a project Secret Key over the plain REST API.
- Making changes in the read-only demo account.
Related pages
- Apple Ads report — how to read the Campaigns, Ad groups and Keywords levels where the Status, Bid and Daily budget controls live.
- Connect Apple Ads — how to connect Apple Ads with Sign in with Apple or an API key and fix connection problems.
- Apple Ads via MCP — the MCP tools for pausing, resuming and changing bids and daily budgets, with scopes and the confirmation flow.
- Apple Ads troubleshooting — fixes for common Apple Ads report and connection problems.
- Apple Ads REST API — the REST API v4 endpoints for the report, series and connection status.