Skip to main content
Skill manage-a-campaign · version 1.0.0 · for buyers.

When to use

  • A person asks how a campaign is delivering or pacing.
  • A person wants to launch a staged campaign, pause it, resume it, or change its budget, flight or targeting.
  • A person wants to cancel or archive a campaign, or archive a draft media buy.
  • A media buy looks stuck and the person wants to know why.

Before you start

  • You are connected to the buyer account that owns the campaign.
  • You know the campaign by name or campaignId.
  • For a launch: the campaign has staged media buys, from Set up a campaign.

Steps

  1. Call get_status and confirm the account.
  2. Find the campaign with search and kind: "campaign", then call get with kind: "campaign", its id and include: ["mediaBuys", "creatives"]. Note the revision.
  3. To answer a delivery question, call get_delivery with report: "campaign_delivery", the metrics you need, a range of at most 90 days (or lifetime) and filters.campaignId. Call open_reporting when the person wants the chart.
  4. Agree the smallest change that does what the person wants.
  5. Call save_campaign with campaignId, expectedRevision and only the fields that change: isPaused to pause or resume, budget, flight, targeting, name or brief.
  6. To launch a draft:
    • call open_campaign_receipt and clear or explain every blocker;
    • call save_campaign with desiredPhase: "active"; the result is pending_confirmation with the spend per seller;
    • show that summary, and only after the person says yes, call save_campaign again with confirmLaunch: true and the same expectedRevision;
    • read mediaBuysExecuted and errors. Launching again resubmits only the failed draft buys, and only where the error says a retry is safe.
  7. To cancel, call save_campaign with desiredPhase: "canceled" and confirm with the person. To archive, send isArchived: true. To drop a draft media buy, call save_media_buy with its mediaBuyId and isArchived: true.
  8. For a stuck media buy, call get with kind: "media_buy" and explain the stage it is in.
  9. Call get on the campaign again and confirm the change landed at the new revision.

Guardrails

  • Never send confirmLaunch: true without an explicit approval from the person, given after they saw the spend summary.
  • A missing metric is unavailable, not zero. Say which metrics are missing and why, if known.
  • Cancelling cannot be undone. Say so before you ask for confirmation.
  • After a REVISION_CONFLICT, read the campaign again and check with the person before retrying.
  • Change one thing per call where you can, so each change is easy to explain and to reverse.

Done when

  • The change shows in a fresh get at the new revision, or the launch result lists every media buy executed and every error with its next step; or
  • the person’s delivery question is answered, with the date range and metrics you used stated.