---
name: launch-a-search-campaign
description: >-
  The last-mile skill that takes a fully built, paused Search campaign live safely: a tool-driven pre-flight
  audit of settings, structure, ads, extensions, bidding, budget, and brand separation; a policy pre-check; a
  staged enable (brand before non-brand) gated on explicit stakeholder approval; then first-hours delivery
  verification and a fixed monitoring cadence for the opening weeks. Everything is verify-then-flip, this skill
  builds nothing. Use it when structure (build-search-campaign-structure), ads (write-compelling-rsas), extensions,
  bidding, and conversion tracking are all done and the campaign sits paused. Not for relaunching or fixing a
  running campaign (run-search-campaign-optimization-cycle, investigate-performance-anomalies) and not a substitute
  for tracking setup (set-up-google-ads-conversion-tracking).
---
# Launch a Search Campaign

## Purpose
Between "built" and "spending" sits the highest-leverage half hour in a campaign's life: the pre-flight check.
This skill verifies every layer of a paused campaign against launch standards, flips it live in a deliberate order
with the user's sign-off, and then watches the first hours and days on a fixed cadence, because launch-day
mistakes (Display network left on, a dead landing page, silent tracking) compound daily until someone looks.

## When to run
- A new Search campaign is fully assembled and paused, with all upstream work complete.
- A rebuilt campaign is ready for its go-live after a restructure.

## When NOT to run
- Structure, keywords, or negatives are unfinished → `build-search-campaign-structure`.
- Ads or extensions are missing → `write-compelling-rsas`, `set-up-ad-extensions`.
- Conversion tracking is unverified → `set-up-google-ads-conversion-tracking`, launching blind is the one
  unforgivable skip.
- The campaign is already live and misbehaving → `investigate-performance-anomalies` or
  `run-search-campaign-optimization-cycle`.

## Prerequisites
- Campaign(s) in paused status with structure, keywords, negatives, RSAs, extensions, bid strategy, and budget
  configured.
- Conversion tracking verified end-to-end (a test conversion recorded).
- Landing pages live; daily budget confirmed with the stakeholder who owns the spend.
- Explicit human approval is REQUIRED for the enable step, this skill never self-launches.

## Procedure
1. **Audit campaign settings.** `gads_get_campaign` / `gads_list_campaigns` plus `gads_run_gaql_query` per launch
   campaign: naming convention respected; locations and language match the plan; ad schedule open unless a
   documented exception; Search network ON, Display network OFF (the single most common budget-wasting default, check it explicitly), search partners per plan (a legitimate test, roughly a coin flip by vertical, monitor
   rather than assume).
2. **Audit structure and negatives.** Via `gads_run_gaql_query`: every ad group non-empty and single-themed;
   match types as designed; no duplicate keywords across ad groups; shared negative lists linked (irrelevant +
   poor-performer lists everywhere; the brand list on non-brand campaigns ONLY, and verify it is absent from
   the brand campaign itself).
3. **Audit creative.** `gads_list_ads`: each ad group carries at least one RSA with 7–8 distinct headlines
   mixing angles and 2–3 distinct descriptions, no pinning without a documented reason, final URLs pointing at
   the mapped pages. `gads_list_extensions`: 4+ sitelinks, 4+ callouts, 1+ structured snippet at
   campaign/account level.
4. **Verify landing pages and tags fire.** HUMAN STEP (outside VigilDog): click through every unique final URL, loads clean, mobile-usable, conversion tag fires on the test action. Pages changed since build day more often
   than anyone expects.
5. **Audit bidding and budget.** `gads_run_gaql_query`: strategy matches conversion history (no history →
   conversion-maximizing without a target; ~30–50 conversions/month → add a loose target; 50+ → tCPA/tROAS at
   the calculated target); daily budget matches the approved plan and will not throttle the strategy on day one;
   the campaign conversion goal points at the right action.
6. **Policy pre-check.** `gads_get_disapproved_ads` for existing disapprovals across the launch set, and
   `gads_policy_guardrail`, both as pre-launch hygiene and as the required check before this session's first
   Google Ads write. Any disapproval → route to `resolve-ad-disapprovals` before enabling.
7. **Present the go/no-go summary.** One table: every check from steps 1–6, pass/fail, and the fix route for
   fails. ALL items pass or the launch waits. On pass, request the stakeholder's explicit launch approval.
8. **Enable in order.** Brand campaign(s) first (low risk, establishes the baseline and protects brand queries),
   then non-brand. For each: `gads_resume_campaign`, preview first (validate_only default), commit only on the
   user's explicit approval. Post-enable, confirm via `gads_get_campaign` that status = enabled/eligible, the
   budget reads correctly, and the bid strategy shows active rather than limited. Use `gads_update_campaign`
   (preview → approval) for any last setting corrected during the audit.
9. **First-hours verification (2–4 hours post-enable).** `gads_run_gaql_query` intraday: impressions
   accumulating (zero → check keyword/ad status and budget); CTR sanity band roughly 1–5% for non-brand;
   CPCs within the expected range (wildly high → target or competition mismatch); early
   `gads_get_search_terms_report` for obvious junk queries → immediate negatives (preview → approval);
   conversion pings when volume plausibly allows.
10. **Set the monitoring cadence and log the launch.** Cadence: day 1, the 2–4h check plus end-of-day;
    days 2–3, daily (search terms, CTR, pacing); days 4–7, every other day (trends, first conversions);
    weeks 2–3, two or three checks weekly (learning status, stabilization); week 4+, fold into
    `run-search-campaign-optimization-cycle`. Log launch date, campaigns, strategy + target, budget, and who
    approved; notify the stakeholder the campaign is live. During learning, resist target changes, impatient
    tuning in week one restarts the clock it is trying to beat.

## Decision rules
- **All-pass gate:** a single failing pre-flight item blocks the launch. The pressure to ship anyway is exactly
  how Display-on and dead-URL launches happen.
- **Enable order:** brand → non-brand, always; non-brand spend without brand coverage leaks brand queries to
  competitors and to broader matching.
- **Strategy-by-history:** no conversion history → maximize conversions untargeted; ~30–50/month → loose target;
  50+ → firm tCPA/tROAS. Launching a fresh campaign straight onto a tight target starves delivery.
- **First-hours sanity bands:** CTR ~1–5% non-brand; zero impressions after 4 hours = an eligibility problem,
  not patience territory.
- **Learning window discipline:** no bid-target changes in the first ~2 weeks unless the campaign is simply not
  serving; add negatives freely, query hygiene does not disturb learning.
- **No-conversions-by-day-7 rule:** verify tracking before touching bids or budget; the tag is guilty until
  proven innocent.

## Common failure modes
- **Launching with known failing checks** under deadline pressure, the fix always costs less before spend starts.
- **Display network on by default,** quietly siphoning the Search budget into placements nobody chose.
- **Pages that changed between build and launch:** the click-through in step 4 exists because "it worked last
  month" is not verification.
- **Brand negative list linked to the brand campaign,** blocking the account's own name.
- **Tinkering during learning:** target changes in week one trade a temporary wobble for a full learning restart.
- **No launch log:** a month later nobody can say what the baseline settings were or who approved the budget.

- **Enabling non-brand first** "because it's the important one", brand queries then leak into broader matching
  or competitor ads while the cheap defensive layer sits paused.

## What done looks like
- Every pre-flight item passed and archived; stakeholder approval on record.
- All launch campaigns enabled, eligible, serving impressions, with no disapprovals outstanding.
- First-day verification confirms relevant queries, sane CTR/CPC, and firing conversion tags.
- Monitoring cadence booked through week 4; launch log complete with baseline settings.

## Related skills
- Run before: `build-search-campaign-structure`, `write-compelling-rsas`, `set-up-ad-extensions`,
  `select-a-bidding-strategy`, `set-up-google-ads-conversion-tracking`.
- Run after: days 1–7 negatives via `analyze-search-term-reports`; week 2+ harvest via
  `promote-search-terms-to-keywords`; week 2–4 creative loop via `rsa-testing-with-the-iteration-loop`; steady
  state via `run-search-campaign-optimization-cycle`.
- Issue routes: `resolve-ad-disapprovals`, `investigate-performance-anomalies`,
  `handle-budget-limited-campaigns`.
