> ## Documentation Index
> Fetch the complete documentation index at: https://docs.datalyr.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Change ads after launch

> Have an agent pause, change budgets, give an ad new content, archive or delete, and what it can touch: only what agents made, unless the owner allows more.

Agents can change campaigns, ad sets and ads after they exist. Every change is a preview
first, then your yes, like a create. See [How agents publish](/agent-ads/how-publishing-works).

## What an agent can change

| Change | Tool | Meta | TikTok | Google Ads | Level for agent-made objects |
| - | - | - | - | - | - |
| Turn on | `activate_ad_objects` | Yes | Yes | Yes | Publish live |
| Pause | `pause_ad_objects` | Yes | Yes | Yes | Create paused |
| Raise a budget | `set_ad_budget` | Yes | Yes | Campaign daily budgets | Publish live |
| Lower a budget | `set_ad_budget` | Yes | Yes | Campaign daily budgets | Create paused |
| New content for an ad | `update_ad_content` | Yes | No | No | Create paused for a paused ad, Publish live for a running ad |
| Archive | `archive_ad_objects` | Yes | No | No | Create paused |
| Delete | `delete_ad_objects` | Yes | Yes | No | Publish live, owner only |

Each call takes up to 50 objects in one ad account. A level below the one listed turns
the yes into an approval link. See [Access levels and approvals](/agent-ads/access-and-approvals).

## Only what agents made

DATALYR keeps its own record of every object agents created through it.

| Change | Objects people made |
| - | - |
| Pause, lower a budget, new content | Needs Publish live. The summary marks each one `(made by a person)`. |
| Turn on, raise a budget | Allowed under the normal live rules |
| Archive, delete | Never. The agent tells you to do it in Ads Manager. |

Archive and delete also take everything underneath. A campaign takes its ad sets and
ads along, so every one of them must be agent-made too. For archive and delete, a copy
made with Ads Manager's **Duplicate** doesn't count as agent-made, even with the
`datalyr-agent` label.

## Pause

`pause_ad_objects` pauses campaigns, ad sets or ads. It pauses the campaign first, so
spend stops soonest. To pause everything agents turned on at once, use
[Stop agent ads](/agent-ads/stop-and-alerts).

## Change a budget

Ask for a new amount in the ad account's currency. `50` means 50.00.

| Rule | Detail |
| - | - |
| Daily or lifetime | Give `daily` for an object with a daily budget, `lifetime` for one with a lifetime budget. The type can't be switched. |
| Where the budget is | On the campaign when it has a campaign budget, otherwise on each ad set. An ad has no budget. |
| Raising | New spend: the increase, or a lifetime budget's daily share of the days left |
| Google Ads | A campaign's own daily budget only. Shared budgets and total (custom-period) budgets are changed in Google Ads. |

## Give an ad new content (Meta)

`update_ad_content` replaces the text, image or video, link and call to action of one
Meta ad. The agent sends the full new ad, as for a create.

1. The agent previews. DATALYR runs the same checks and placement previews as a new ad in that ad set.
2. You read the summary: `Budget, targeting and status (…) stay as they are.`
3. You say yes. Meta gets a new creative, and the ad switches to it.

Meta reviews the new content before it delivers. On a running ad, the new content goes
live once Meta approves it, so it counts as a live change. Meta allows one edit per ad
every 30 seconds: DATALYR waits once and tries again. If someone edits the ad in Ads
Manager after the preview, the agent must preview again.

## Archive (Meta)

`archive_ad_objects` stops delivery and keeps the reporting. Archived objects can't be
edited, and a person can unarchive them in Ads Manager. Prefer it to delete on Meta.

## Delete (Meta and TikTok)

<Warning>
  A delete can't be undone. The platform keeps the reporting, but the objects can't be edited or turned on again.
</Warning>

`delete_ad_objects` removes agent-made campaigns, ad sets, ad groups or ads, and everything
under them. DATALYR tells agents to delete only when you ask for it. It applies directly only for
the owner in chat with Publish live. Every other yes becomes an approval link for the owner.

## Verify

1. Ask the agent for the status of the objects it changed.
2. It calls `get_ad_objects`, which returns status, budget and today's spend for up to 50 objects.
3. Compare with Ads Manager.
4. Open **Settings → Ad publishing → Activity**.
5. Confirm the change appears in the list.

## When it does not work

| Symptom | Cause | Fix |
| - | - | - |
| `wasn't created by an agent through DATALYR` | The object, or something under it, was made by a person. | Archive or delete it in Ads Manager. To pause it, lower its budget or give it new content, connect with Publish live. |
| `has a daily budget: give daily` | The request used the wrong budget type. | Ask again with the type the object has. |
| `has no budget of its own` | The budget is on the campaign, or on the ad sets. | Change the budget where it is. |
| `Google Ads has no archive. Pause it instead.` | Archive and delete aren't available on Google Ads. | Pause it. |
| `is archived and can't be changed` | Archived objects are read-only. | Unarchive it in Ads Manager first. |

## Next

* [Stop agent ads and alerts](/agent-ads/stop-and-alerts): pause everything at once.
* [Turn ads on within spend limits](/agent-ads/live-ads-and-spend-limits): how raises count.
* [Agent ad tools](/agent-ads/tools): the inputs of each change tool.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.