MMetadata /docs
Docs/Tools/launch_campaign

launch_campaign

LAUNCHES REAL MARKETING CAMPAIGNS WITH REAL BUDGET SPEND 🚨 KEYWORDS: launch, start, activate, go live, campaign, begin, advertising, spend, marketing PREREQUISITE: Before runni…

Destructive campaigns

Deletes, archives, launches or moves budget. Do not give an agent this one without a human gate.

What it does

🚨 LAUNCHES REAL MARKETING CAMPAIGNS WITH REAL BUDGET SPEND 🚨

                KEYWORDS: launch, start, activate, go live, campaign, begin, advertising, spend, marketing

                PREREQUISITE: Before running this tool, call get_integrations_status and verify at least one advertising channel is connected (FACEBOOK, INSTAGRAM, LINKEDIN, GOOGLE_ADS). If none are connected, tell the user to connect at least one channel before proceeding and stop.

                This tool takes a draft campaign and launches it as a LIVE, ACTIVE marketing campaign.
                Once launched, the campaign will immediately start:
                - SPENDING REAL MONEY from your marketing budget
                - SERVING ADS to real audiences across platforms (LinkedIn, Facebook, Instagram, Google)
                - GENERATING ACTUAL IMPRESSIONS, CLICKS, AND CONVERSIONS
                - COMPETING in real ad auctions with real bid amounts

                ⚠️ CRITICAL SAFETY REQUIREMENTS ⚠️
                This tool will ALWAYS require explicit user confirmation before launching any campaign.
                The user must understand they are launching a real campaign with real budget implications.

                WHEN TO USE:
                - Launch a draft campaign to start real advertising and budget spend
                - Activate a campaign after final review, approval, and budget confirmation
                - Begin live ad serving across configured channels
                - Transition from campaign testing/setup phase to live marketing execution

                REQUIRED PARAMETERS:
                - campaign_id: The unique identifier of the draft campaign to launch (integer, required)

                MANDATORY CONFIRMATION PROCESS:
                Before launching any real campaign, this tool MUST:
                1. Display the campaign ID and retrieve campaign details if possible
                2. Show estimated daily/total budget that will be spent
                3. List all channels where ads will go live (LinkedIn, Facebook, Instagram, Google)
                4. Warn that this starts REAL BUDGET SPENDING immediately
                5. Require explicit "YES, LAUNCH REAL CAMPAIGN" confirmation
                6. Confirm the user understands this is not a test or simulation
                7. Only proceed after receiving unambiguous user approval
                8. Provide immediate launch status and live campaign monitoring URL

                CAMPAIGN ID SOURCES:
                Campaign IDs can be obtained from:
                - search_campaigns_by_names tool (recommended)
                - create_campaign tool response (returns campaign_id)
                - Campaign management interface URLs

                EXAMPLE CONFIRMATION FLOW:

                User: launch_campaign(campaign_id=159490)

                System Response:
                "🚨 REAL CAMPAIGN LAUNCH REQUEST 🚨

                Campaign ID: 159490
                Campaign Name: 'Q1_2026_Multi_Channel_Campaign'
                Channels: LinkedIn, Facebook, Instagram, Google Ads
                Budget Group: 'BoFu'
                Estimated Daily Spend: $500-800
                Total Budget Allocation: $15,000

                ⚠️ WARNING: This will launch a REAL marketing campaign ⚠️
                - Real money will be spent immediately
                - Ads will serve to real audiences
                - This is NOT a test or simulation

                Type 'YES, LAUNCH REAL CAMPAIGN' to confirm you want to proceed with live campaign launch:"

                Only after explicit confirmation will the campaign launch proceed.

                RESPONSE FORMAT:

                Success Response (launched — ONLY when "waitingAudiencesToLaunch" is false or absent):
                {
                    "success": true,
                    "campaign_id": 159490,
                    "status": "LIVE - ACTIVELY SPENDING BUDGET",
                    "campaign_url": "https://platform.metadata.io/hub/advertise/campaigns/159490",
                    "launch_timestamp": "2026-01-15T12:00:00Z",
                    "message": "🔥 REAL CAMPAIGN IS NOW LIVE 🔥 - Budget spending has begun",
                    "live_channels": ["LinkedIn", "Facebook", "Instagram", "Google Ads"],
                    "budget_status": "Active - Real spend initiated",
                    "immediate_actions_required": [
                        "🚨 MONITOR SPEND IMMEDIATELY - Real money is being spent",
                        "Check live ad performance in dashboard",
                        "Set up budget alerts if not already configured",
                        "Monitor audience engagement in first 2 hours",
                        "Prepare to pause campaign if performance issues arise"
                    ]
                }

                DEFERRED LAUNCH — CHECK THIS BEFORE YOU REPORT A LAUNCH:
                A 202 does NOT always mean the campaign went live. When the response carries
                "waitingAudiencesToLaunch": true (it comes back with "status": "Draft", not
                "Launching"), the platform has QUEUED the campaign rather than launched it. It is
                NOT live, it is NOT serving ads, and it is NOT spending budget. The response also
                carries a "context" block that states this in plain language.

                Deferred Response:
                {
                    "id": 159490,
                    "status": "Draft",
                    "waitingAudiencesToLaunch": true,
                    "context": {
                        "waitingAudiencesToLaunch": true,
                        "description": "This campaign will be launched only after its audiences
                            finish uploading and matching on the native channels. That happens
                            automatically when the match completes, so nothing further is needed
                            from the user. The campaign is NOT live and is NOT spending budget
                            yet, and it stays editable until it launches. Some channels can take
                            up to 72 hours to finish the match flow."
                    }
                }

                When you get this response, tell the user plainly:
                - The campaign is queued, not live, and no budget is being spent yet.
                - It will launch on its own once the audiences finish syncing to the channels.
                  Nothing more is required from them.
                - They can keep editing the campaign until it launches.
                - Some channels take up to 72 hours to finish matching, so it may not be today.

                NEVER describe this outcome as live, launched, active, or spending. Do not tell the
                user to monitor spend, and do not hand them the live-campaign monitoring checklist
                from the success case above; none of it applies until the campaign actually launches.

                Error Response:
                {
                    "success": false,
                    "campaign_id": 159490,
                    "error": "Campaign not found or already launched",
                    "details": "The specified campaign ID does not exist or is already in active status"
                }

                User Cancellation Response:
                {
                    "success": false,
                    "campaign_id": 159490,
                    "status": "Cancelled",
                    "message": "Campaign launch cancelled by user. Campaign remains in Draft."
                }

                BUDGET IMPLICATIONS — REAL MONEY:
                Launching a campaign will IMMEDIATELY:
                - Deduct REAL DOLLARS from your marketing budget
                - Serve ads that cost money per impression/click
                - Compete in live ad auctions with actual bid amounts
                - Impact budget availability for other campaigns in the same budget group

                POST-LAUNCH MONITORING (CRITICAL):
                After launch, IMMEDIATE monitoring is required:
                - Check spend within the first 30 minutes
                - Monitor CPCs, impression delivery, and budget burn rate
                - Review audience engagement and conversion tracking
                - Be prepared to pause or adjust bids if needed

                Anchor all date-related decisions to the REAL current date — call get_current_date if you are not already certain what today is.

Arguments

ArgumentTypeNotes
campaign_id integer required The unique identifier of the draft campaign to launch

Request

curl
curl -s -X POST https://mcp-server.metadata.io/mcp \
  -H "Authorization: $METADATA_PAT" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "MCP-Protocol-Version: 2025-11-25" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"launch_campaign","arguments":{"campaign_id":0}}}'

Response

No recorded response. This tool can delete, archive, launch or move budget, so it is never executed to build these docs. The request above is still the exact shape to send. Nothing on this page is invented.

Other campaigns tools:

All 160 tools · machine-readable index