Skip to content
AdCrunch
Esc
↑↓navigate↵open⌘Jpreview
On this page

meta_copy_campaign

Copy a Meta campaign into the same ad account, with no ad set and no ad. The copy always arrives paused.

Ask to copy a campaign that works. Meta makes one new campaign with the settings of the source and adds “ - Copy” to its name. meta_rename gives the copy a full name. The copy has no ad set and no ad, and it arrives paused, so it delivers nothing until you activate it.

Copy Spring Prospecting.

The agent calls meta_copy_campaign, then get_mutation_status, and you see the id of the copy and the budget that it carries. That budget is what the copy can spend after you activate it. Change what runs on Meta shows how to rebuild the ad sets and the ads of the copy.

Reference

Available on: Meta

Copy a Meta campaign on a live ad account. Meta makes one new campaign with the settings of the source, in the same ad account, and adds “ - Copy” to its name. To give the copy a full name, call meta_rename on it. The copy is shallow: it has no ad set and no ad. Rebuild them with meta_copy_adset (with campaignId set to the new campaign) or meta_create_adset. The copy is always created PAUSED and cannot be created active. Rejected if the source is not in this ad account. Runs asynchronously: returns a workflowId — call get_mutation_status with it to get the id of the copy and its budget: { "dailyBudget": 50 } or { "lifetimeBudget": 500 } in whole units of the ad account currency, or "adset" when each ad set carries its own budget. That budget is what the copy can spend after you activate it with meta_set_status. To change it, call meta_update_budget on the paused copy. A copy starts its own learning phase. Meta refuses some copies: an Advantage+ shopping campaign and an Advantage+ app campaign cannot be copied, and a copy that targets the EU needs the default payor and the default beneficiary of the ad account.

Input

Argument Type Required Description
advertiserId string yes Advertiser account ID (acc_<id>). Must belong to the active organization.
id string yes The Meta ID of the campaign to copy, digits only. It must be in this ad account. Find one with meta_list_campaigns.

Output

A successful call returns this object in structuredContent.

Field Type Always present Description
workflowId string yes The id of the change. The change has not reached Meta yet. Give this id to get_mutation_status to find out how the change ended.

Failure codes

A failed call has isError set, and structuredContent.error holds one of these codes. Errors describes the shape of a failed call.

  • not_found
  • provider_not_connected
  • missing_write_access
  • forbidden
  • invalid_request
  • internal_error

Scope

The token must hold mutation:write. Auth & scopes lists each scope.

Annotations

A client reads these hints. A hint that the tool does not declare has the default value of the MCP specification.

  • Writes. The tool can change data.
  • Destructive. The tool can make a change that you cannot undo. A client can ask you to confirm before it calls the tool.
  • Not idempotent. A second call with the same arguments can change more.
  • Open world. The tool reaches a system outside AdCrunch, such as an ad platform.

Example

The arguments:

{
  "advertiserId": "acc_1485443900032333",
  "id": "120215678901234567"
}

The result, in structuredContent:

{
  "workflowId": "3f9c2b7e-8a41-4d6e-9b05-c1e7a2d4f860"
}

Was this page helpful?