---
name: launch-a-video-campaign
description: >-
  Builds and launches a YouTube Video campaign for awareness or consideration goals, subtype selection (efficient
  reach, non-skippable, target-frequency, ad sequence, or view-based), CPM/CPV bidding, audience and content
  targeting, frequency caps from day one, and a full brand-safety configuration (inventory type, content labels,
  sensitive-category and placement exclusions). Reach for it when the objective is measured in reach, impressions,
  completions, or views: brand launches, product explainers, sequential storytelling, channel growth. Do NOT use it
  when the goal is conversions, Video campaigns cannot bid to CPA/ROAS, so conversion-oriented upper-funnel work
  belongs to launch-a-demand-gen-campaign. Ongoing upkeep of a live Video campaign is run-video-campaign-optimization-
  cycle, and deep placement cleanup is manage-demand-gen-and-video-placements.
---
# Video (YouTube) Campaign Launch

## Purpose
Launch a Video campaign whose three launch-day decisions are made deliberately: the subtype (which fixes the
bidding model and the KPI), the frequency cap (unlimited by default, and unlimited is always wrong), and brand
safety (the default inventory setting will happily place a premium brand next to shock content). Everything else, targeting, creative format, budget, hangs off those three.

## When to run
- Brand awareness pushes where the KPI is reach, CPM, or completion rate.
- Consideration campaigns: product demos, explainers, comparison content, with views/view-rate as the KPI.
- Sequential storytelling across multiple videos to the same audience.
- Growing YouTube channel engagement (views, subscribers) with paid support.

## When NOT to run
- Any conversion goal → `launch-a-demand-gen-campaign` (Video has no conversion bidding; Demand Gen does).
- The Video campaign exists and needs a health pass → `run-video-campaign-optimization-cycle`.
- The problem is where ads are showing, not whether to launch → `manage-demand-gen-and-video-placements`.
- Audiences need to be designed or built first → `set-up-audience-targeting` / `build-customer-match-lists`.

## Prerequisites
- A goal statable as reach/frequency/completions (awareness) or views/engagement (consideration).
- The ad video(s) uploaded to YouTube (public or unlisted), the API references YouTube video IDs, it does not
  host video.
- YouTube channel linked to the Google Ads account (needed for engagement audiences and organic attribution).
- A targeting intent: which audiences, and optionally which content (topics, keywords, channels), plus a budget.

## Procedure
1. **Consult the policy guardrail.** Call `gads_policy_guardrail` before the session's first Google Ads write.
2. **Confirm the goal is not conversions.** If the user describes the outcome in leads, sales, or CPA, stop and
   route to `launch-a-demand-gen-campaign`. Video bids on CPM or CPV only; forcing conversion goals onto it wastes
   the budget and the month.
3. **Select the subtype.** Map the goal: cheapest possible reach → efficient-reach subtype (target CPM); message
   must be seen whole → non-skippable (target CPM, 15s ceiling); controlled repeat exposure → target-frequency
   subtype; multi-step narrative → ad sequence; views/engagement → view-based subtype (CPV). The subtype is
   immutable after creation, get sign-off here.
4. **Plan the build.** Call `gads_plan_video_campaign` with goal, subtype, geo, language, audiences, budget, and
   CPM/CPV target. Review the blueprint with the user.
5. **Register the video.** Call `gads_upload_youtube_video_asset` with the YouTube video ID(s). If the video is
   not on YouTube yet, that upload is a HUMAN STEP (outside VigilDog), pause here until it exists.
6. **HUMAN STEP (outside VigilDog): create the campaign in the Google Ads UI.** The Google Ads API cannot create
   VIDEO campaigns, Google restricts video campaign creation to the UI, so walk the user through the UI build
   using the approved plan from step 4. Settings that matter: YouTube inventory only at launch (leave partner-site
   video inventory off until the core placement quality is proven), naming that encodes market/language/goal, bid
   strategy matching the subtype from step 3. (Conversion-focused video is API-manageable, via Demand Gen or
   PMax, which is why step 2 routes those goals away first.)
7. **Set frequency caps immediately.** Call `gads_update_campaign` to cap impression frequency (preview →
   approval). Bands: awareness/reach 2–3 per day and 7–10 per week; consideration 3–4 per day and 10–14 per week;
   remarketing 4–5 per day and 12–15 per week. An uncapped Video campaign concentrates spend on a small set of
   heavy viewers within days.
8. **Attach targeting.** `gads_attach_audience_to_ad_group` for audience segments (preview → approval): warm goals
   use channel-engaged viewers, site visitors, customer lists; awareness/prospecting uses in-market, affinity,
   custom segments (e.g. competitor-brand searchers), or demographic-only reach. Prune demographics that are
   plainly out of market with `gads_set_demographic_targeting` (preview → approval). Positive content targeting, specific channels, videos, topics, keyword themes, is a HUMAN STEP (outside VigilDog) if wanted; record exactly
   what was chosen.
9. **HUMAN STEP (outside VigilDog): expansion toggle.** In the UI, confirm audience expansion / optimized targeting:
   ON for pure awareness, test cautiously for consideration, OFF always for remarketing.
10. **Configure brand safety.** Call `gads_set_video_brand_safety` (preview → approval): inventory type at the
    moderate tier for most brands, the restricted tier for premium or regulated brands, never the widest tier;
    exclude the mature-audience content label (and unlabeled content for sensitive brands); exclude embedded and
    live-stream video; exclude the sensitive-content categories (tragedy/conflict, social-issue, profanity,
    suggestive, shock content).
11. **Add placement exclusions.** Call `gads_add_negative_placements` (preview → approval) for known-bad channels,
    competitor channels if desired, and any standing account blocklist. Mobile app exclusions matter as soon as
    any display-adjacent inventory is in play.
12. **HUMAN STEP (outside VigilDog): create the ads in the Google Ads UI.** Video ads ride the same API restriction
    as their campaigns, build them in the UI per ad group. Format follows subtype: skippable in-stream, any
    length but 15–60s recommended; non-skippable, hard 15s ceiling; bumper, 6s ceiling; in-feed for click-to-play
    discovery. Supply final URL, display paths, CTA button text (very short, ~10 chars), and a headline for
    in-feed. Creative law regardless of format: the hook lands in the first 5 seconds, because that is all a
    skippable view guarantees.
13. **Go live.** Verify the pre-flight list in Decision rules with the user, then enable the campaign (preview →
    approval, creations land paused). Confirm impressions within 24 hours via `gads_run_gaql_query` if available
    in session, otherwise as part of the 24–48h check.
14. **Schedule the follow-ups.** 24–48h: delivery and ad approval status. Day 7: placement report, first
    exclusion pass. Day 14: frequency distribution vs. caps. Day 30: reach, view rate, cost trends, hand off to
    `run-video-campaign-optimization-cycle`.

## Decision rules
- **Subtype ↔ bidding lock:** reach subtypes bid target CPM; the view subtype bids CPV; sequences bid CPM. If the
  desired KPI and the subtype's bid model disagree, the subtype is wrong.
- **Frequency caps (set at launch, always):** awareness 2–3/day, 7–10/week · consideration 3–4/day, 10–14/week ·
  remarketing 4–5/day, 12–15/week.
- **Inventory tier:** widest tier, never; moderate tier, sensible default; restricted tier, premium brands,
  regulated categories, or any client who would escalate over a single bad adjacency.
- **Expansion:** awareness ON, consideration test-and-measure, remarketing OFF without exception.
- **Format duration ceilings:** non-skippable 15s, bumper 6s; skippable free-form but front-load the message.
- **View-rate expectation (skippable in-stream):** healthy creative clears roughly 20%; plan a hook re-cut if
  early data lands materially below that.
- **Pre-flight list:** subtype matches goal · caps set · inventory tier + label + sensitive-category exclusions
  set · placement blocklist applied · video plays and is the approved cut · channel linked · budget and CPM/CPV
  target entered.

## Common failure modes
- **Conversion goals smuggled into Video.** "Awareness campaign, but we'll judge it on leads" ends with everyone
  unhappy. Settle the KPI in step 2 or switch campaign types.
- **No frequency cap.** The default is uncapped; the outcome is one user seeing the ad 40 times. Cap at launch,
  not after the complaint.
- **Default inventory setting untouched.** Brand-safety incidents are launch-configuration failures. Step 10 is
  not optional.
- **Hook after second 5.** Skippable formats give five guaranteed seconds; brand or intrigue must appear inside
  them or the view rate collapses.
- **Partner-network video inventory on at launch.** It dilutes placement quality before there is any baseline to
  compare against; earn it later behind a placement review.
- **Over-narrow targeting inflating CPMs.** Stacking audience + demographic + content filters can shrink the
  auction pool until reach goals price themselves out. Loosen one layer at a time.

## Related skills
- Before: `set-up-audience-targeting`, `build-customer-match-lists` (if warm lists are part of targeting).
- After: `run-video-campaign-optimization-cycle` (monthly checkpoint from day 30),
  `manage-demand-gen-and-video-placements` (day-7 placement pass and ongoing).
- Sibling: `launch-a-demand-gen-campaign`, same surfaces, conversion bidding; the right tool for CPA/ROAS goals.
