# How to QA a campaign launch before it spends

> Tier: deep. Full contract: quantified decision rules and evidence requirements.

The pre-flight checklist run by tools instead of eyeballs: settings, budgets, tracking, targeting and destinations verified before money moves.

**Intent.** Catch the launch errors that cost real money in the first 48 hours, before the first impression.

## When to use

- Every launch that matters.
- Especially launches created in a hurry, by a new team member, or cloned from an old campaign.

## When not to use

- As a post-mortem: after spend has run, use campaign-anomaly-investigation.

## Sources

Required: Google Ads
Optional: Meta Ads, TikTok Ads, Pinterest Ads, Google Analytics 4

## Preconditions

- The campaign exists, paused, on the ticked account.
- The launch brief available: intended budget, dates, market, destination.

## Inputs

- `campaign` (required): The campaign to check.
- `brief` (required): Intended settings to verify against.

## Procedure

1. Read the campaign's actual settings: status, dates, budget object, bid strategy. — tools: `google_ads_get_campaigns`, `google_ads_get_budgets`, `google_ads_get_bidding_strategies`, `meta_get_campaigns`, `tiktok_get_campaigns`
2. Compare every setting to the brief and list the diffs.
3. Verify conversion wiring live for the account before spend depends on it. — tools: `google_ads_get_conversion_actions`, `ga4_get_key_events`, `meta_get_pixels`, `tiktok_get_pixels`
4. Check destinations respond, via the landing page view for existing URLs. — tools: `google_ads_get_landing_pages`
5. Deliver the go/no-go with the diff list; resuming the campaign is a Safe Write for a human to confirm. — tools: `google_ads_update_campaign_status`, `meta_update_campaign_status`, `tiktok_update_campaign_status`, `pinterest_update_campaign_status`

## Decision rules

- **When** The budget object is shared with other campaigns and the brief assumed dedicated → **conclude** No-go until resolved: a shared budget makes the launch spend unpredictable by design.
- **When** The conversion action the bid strategy optimises to fired zero times in 7 days → **conclude** No-go: launching onto a dead conversion optimises toward nothing.
- **When** Dates, geo or language differ from the brief → **conclude** Diff listed, launch held: these three are the classic silent clone errors.
- **When** Everything matches → **conclude** Go, with the checklist as the record: a clean QA is a deliverable too.

## Evidence requirements

- Every check quotes the read value against the brief value.
- The go/no-go names the blocking diffs, or the absence of any.

## Human approval boundary

- The campaign is resumed only through Safe Writes after human confirmation; the QA itself changes nothing.
- Campaigns the gateway creates are always created paused, which is what makes this checklist runnable at all.

## Failure modes

- Cloned campaigns inherit invisible settings (exclusions, dayparting) nobody re-reads; the diff must cover the ones the brief never mentioned.
- Tracking verified account-wide can still miss the campaign's specific conversion action; check the one being optimised to.
- Timezone: midnight launches in the account timezone are not midnight in yours.

## Output

- **Diff list**: Read vs brief, setting by setting.
- **Go / no-go**: The verdict with blocking items.
- **Launch record**: The verified state at launch, for the post-mortem that hopefully never happens.

## Related

- Skill: [tracking-audit](https://www.getmcpads.com/skills/tracking-audit.md)
- Skill: [campaign-anomaly-investigation](https://www.getmcpads.com/skills/campaign-anomaly-investigation.md)
- Guide: [safe-writes](https://www.getmcpads.com/guides/safe-writes.md)
