---
name: launch-a-demand-gen-campaign
description: >-
  End-to-end build of a conversion-optimized Demand Gen campaign, the Google Ads campaign type that serves across
  YouTube (in-stream, in-feed, Shorts), Discover, Gmail, and Display inventory, and the only one that offers lookalike
  audiences. Use it when the goal is measurable conversions from upper-funnel reach: prospecting off a strong seed
  list, re-engaging site visitors and customers, or expanding beyond Search/Shopping while still bidding to CPA or
  ROAS. It verifies conversion tracking, plans the structure, creates the campaign, seeds audiences, uploads the
  image/video/text asset mix, sets exclusions, and hands off to a monitoring cadence. Do NOT use it for pure awareness
  or reach buying (that is launch-a-video-campaign, Video cannot bid to conversions, Demand Gen can), and do NOT use
  it to tune a campaign that is already live (run-demand-gen-optimization-cycle). Audience list construction itself
  belongs to build-customer-match-lists.
---
# Demand Gen Campaign Launch

## Purpose
Stand up a Demand Gen campaign that can actually feed Smart Bidding: correct conversion goal, an audience
structure matched to its tier (remarketing, lookalike prospecting, or AI expansion), a complete image + video +
text asset mix, and exclusions that stop it cannibalizing warmer campaigns. Most Demand Gen failures are launch
failures, starved conversion volume, image-only creative, or expansion left on for remarketing, so this skill
front-loads the checks that prevent them.

## When to run
- You want conversions (not just reach) from YouTube / Discover / Gmail / Display surfaces.
- You want to test lookalike audiences, Demand Gen is the only campaign type that has them.
- Search and Shopping are saturated and the account needs a conversion-bidding growth lane.
- You need a re-engagement layer over site visitors, cart abandoners, or customer lists.

## When NOT to run
- Goal is awareness, reach, or view volume with CPM/CPV economics → `launch-a-video-campaign`.
- The Demand Gen campaign already exists and needs tuning → `run-demand-gen-optimization-cycle`.
- Only bad placements are the problem → `manage-demand-gen-and-video-placements`.
- The seed or remarketing lists don't exist yet → `build-customer-match-lists` first.
- Conversion tracking is broken or unverified → `set-up-google-ads-conversion-tracking` first.

## Prerequisites
- A primary conversion action recording real conversions (verified below, not assumed).
- Landing page URL; image assets in landscape and square; at least one YouTube-hosted video strongly recommended.
- A budget that can plausibly buy ~50 conversions/month per ad group, see Decision rules.
- For lookalike prospecting: a seed list of 1,000+ matched users (converters or high-value customers beat plain
  site visitors as seeds).

## Procedure
1. **Consult the policy guardrail.** Call `gads_policy_guardrail` before the session's first Google Ads write.
2. **Verify conversion plumbing.** Call `gads_list_conversion_actions`: confirm the intended primary action is
   enabled, set as primary, and has recorded conversions recently. Cross-check recent volume with
   `gads_run_gaql_query` if in doubt. A Demand Gen campaign optimizing toward a dead or secondary action is the
   single most expensive mistake available here, stop and fix tracking before anything else.
3. **Pick the tier.** Decide with the user which of three shapes this launch is: (a) remarketing, warm lists,
   tight targeting, expansion OFF; (b) prospecting, lookalike segments built on a quality seed; (c) expansion, Google-driven optimized targeting for maximum discovery. The tier drives audiences, creative angle, exclusions,
   and the expansion toggle throughout.
4. **Plan the build.** Call `gads_plan_demand_gen_campaign` with goal, geography, language, tier, target CPA/ROAS,
   and budget. Review the returned blueprint with the user before creating anything, this is where structure
   arguments are cheap.
5. **Prepare seed audiences (prospecting tier).** If the lookalike seed doesn't exist, create the container with
   `gads_create_customer_match_list` (preview first, apply only after user approval) and route list population to
   `build-customer-match-lists`. Do not launch lookalikes on a seed under 1,000 matched users, the similarity
   model has nothing to learn from.
6. **Create the campaign.** Call `gads_create_demand_gen_campaign` per the approved plan, preview
   (validate_only=true) first, apply only after explicit user approval. Name it so reports self-describe
   (market_language_demandgen_tier). Note Demand Gen is ad-group-structured: one ad group per audience, or per
   channel combination, that you want to read separately later. If the blueprint calls for additional containers,
   create them (`gads_create_asset_group` fills this role in the VigilDog surface); expect the preview to reject
   token daily budgets, Demand Gen enforces a high minimum.
7. **Attach audiences.** Call `gads_add_audience_signal` to attach the tier's audiences (preview → approval →
   commit). Remarketing priority order: cart/form abandoners, then product viewers, then all visitors, then
   customer lists, then channel-engaged viewers. Prospecting: the lookalike segment plus, optionally, custom
   segments built from competitor URLs or converting search terms.
8. **HUMAN STEP (outside VigilDog): lookalike reach and channel selection.** The lookalike reach setting (narrow /
   balanced / broad) and per-ad-group channel selection live in the Google Ads UI. Instruct the user: start reach
   at the middle setting; select all channels unless a channel test is the point, in which case isolate Display
   inventory in its own ad group so it never pollutes YouTube/Discover/Gmail readings.
9. **Upload creative.** HUMAN STEP for producing the assets; then load them:
   `gads_upload_image_asset`, landscape 1200x628 and square 1200x1200 required (3–5 each), portrait 960x1200
   recommended for mobile Discover; `gads_upload_youtube_video_asset`, 16:9 plus a 9:16 vertical for Shorts;
   `gads_upload_text_asset`, 3–5 headlines (≤40 chars), 3–5 descriptions (≤90 chars), business name (≤25 chars).
   Ship both images AND video: each placement family needs its own format, and image-only launches quietly forfeit
   most YouTube inventory.
10. **Build the ads.** Call `gads_create_demand_gen_ad` per ad group combining the uploaded assets, final URL, and
    a call-to-action (preview → approval → commit). Match message to tier: offers and urgency for remarketing,
    problem/solution and proof for prospecting, broad brand introduction for expansion.
11. **Set exclusions.** Exclude recent converters (7–30 day window scaled to the sales cycle) on every tier, and
    exclude all remarketing lists from prospecting/expansion ad groups so cold budget never pays warm-traffic
    prices. Apply via `gads_add_audience_signal` in exclusion mode where supported (preview → approval); otherwise
    HUMAN STEP with the exact list names and windows.
12. **HUMAN STEP (outside VigilDog): optimized targeting toggle.** Confirm in the UI: OFF for remarketing, OFF at
    launch for lookalike prospecting (test ON later), ON for expansion tier. If any ad group serves Display
    inventory, also set a frequency cap and confirm app/parked-domain exclusions per
    `manage-demand-gen-and-video-placements`.
13. **Go live.** Walk the pre-flight list in Decision rules with the user, then enable, VigilDog creates campaigns
    paused, so enabling is itself a previewed write requiring explicit approval (`gads_resume_campaign`).
14. **Schedule the follow-ups.** 48–72h: delivery and policy status. Day 7: conversion volume vs. plan. Day 14:
    efficiency check, targeting adjustments. Day 30: hand off to `run-demand-gen-optimization-cycle`. Do not judge
    CPA during the first two weeks, that is learning-period noise.

## Decision rules
- **Budget floor:** monthly budget ≥ 50 × target CPA (daily ≈ that ÷ 30). Value-based version: monthly revenue
  goal ÷ target ROAS. Example: €20 tCPA → ≥ €1,000/month → ~€33/day.
- **Volume gate per ad group (projected conversions/30 days):** 50+ → launch as planned; 30–50 → consolidate ad
  groups before launch; under 30 → consolidate or raise budget, do not launch a starved structure.
- **Seed quality ladder (lookalikes):** converters ≥ high-value customers > site visitors ≈ channel-engaged; all
  need 1,000+ matched users. A better seed beats a wider reach setting every time, widen reach only when volume-
  constrained on an already-good seed.
- **Optimized targeting:** remarketing OFF (non-negotiable), prospecting OFF-then-test, expansion ON.
- **Converter exclusion window:** impulse products 7–14 days; typical 14–30; long consideration cycles 30–60.
- **Asset completeness bar:** ≥1 landscape + ≥1 square image (aim 3–5 each), ≥3 headlines, ≥3 descriptions, logo,
  and at least one video. Anything less limits the surfaces the campaign can serve on.
- **Pre-flight list:** tracking verified · tier-correct audiences attached · reach at middle setting · expansion
  toggle intentional · images AND video present · converter/remarketing exclusions on · budget passes the 50-
  conversion math.

## Common failure modes
- **Launching under the volume floor.** Demand Gen needs more conversion data than Search to stabilize; a €10/day
  test "to see if it works" is designed to fail. Consolidate or fund properly.
- **Image-only creative.** Serves fine on Discover/Gmail, forfeits YouTube. Always ship at least one video, even a
  simple one.
- **Broad reach on day one.** The widest lookalike setting has the weakest similarity signal; start middle, earn
  broad.
- **Expansion on for remarketing.** Optimized targeting quietly converts a precision remarketing campaign into
  broad prospecting at remarketing's budget. Check the toggle explicitly at launch and every cycle after.
- **Wrong conversion action selected.** The campaign will faithfully optimize toward whatever is selected, including a newsletter signup you meant as secondary. Step 2 exists because this happens constantly.
- **Judging week-one CPA.** Learning-period numbers are noise; the first honest read is the day-14 check.

## Related skills
- Before: `set-up-google-ads-conversion-tracking` (tracking), `build-customer-match-lists` (seeds),
  `set-up-audience-targeting` (audience layer design).
- After: `run-demand-gen-optimization-cycle` (day-30 onward), `manage-demand-gen-and-video-placements` (if Display
  inventory is in play), `run-a-creative-testing-cycle` (creative iteration).
- Sibling: `launch-a-video-campaign`, the awareness/reach counterpart when conversions are not the goal.
