--- name: youtube-bumper-ads description: "Launch a YouTube video campaign with the objective, eligible format, and conversion signal settled before build. Use when a new video push needs standing up in an existing Google Ads account." license: MIT compatibility: "Works with any Agent-Skills-compatible AI (Claude, ChatGPT, Cursor, Codex, and more). Ad-account actions run through Adspirer." metadata: author: "Adspirer" version: "1.0.0" adspirer_category: "campaign-launch" adspirer_source: "https://www.adspirer.com/skills/youtube-bumper-ads" adspirer_trigger: "launch a YouTube video ad campaign" adspirer_connection_url: "https://adspirer.ai/sign-up" adspirer_primary_keyword: "youtube bumper ads" adspirer_secondary_keywords: "youtube advertising campaign, youtube video campaign" adspirer_launch_wave: "2" adspirer_kind: "skill" adspirer_level: "operator" adspirer_platforms: "google" adspirer_supported_clients: "claude,claude-code,claude-cowork,chatgpt,codex,cursor,gemini,windsurf" adspirer_summary: "Map the business outcome to an eligible YouTube format, check the conversion signal, and build the campaign paused." adspirer_connections_required: "adspirer" adspirer_connections_optional: "" --- # YouTube Campaign Launcher ## Use this when There is a finished video, a budget, and an instruction to "run it on YouTube". Nobody has said whether the goal is for people to remember the brand or to buy something this month — and those lead to different formats, different bidding, and completely different definitions of success. The last video campaign racked up impressive view counts and no attributable revenue, which satisfied nobody. Use this skill to settle those questions before the campaign is built. It works out: - which business outcome the campaign actually serves, stated before anything is created; - which video formats that outcome makes eligible, since the choice is constrained rather than free; - whether a conversion signal exists for outcome-based bidding to work at all; - whether the targeting is a deliberate choice or an accidental default; and - what success will be measured on, agreed in advance rather than argued afterwards. This is for launching a new video campaign in an existing Google Ads account. It is not for adjusting a running campaign's budget or swapping creative mid-flight, and it does not create or upload video. ## What you need - Adspirer connected to the Google Ads account, with active billing and no policy holds. - The business outcome, not the activity. "Get more views" is not an objective — ask what it is supposed to produce. The outcome determines which formats are even available. - At least one video already hosted on a YouTube channel and reachable. If none exists this skill stops; it does not create, edit, or upload video. - A working conversion action, if the objective is sales or leads. Outcome-based bidding without a conversion signal is bidding blind, and that gets checked rather than assumed. - A daily budget and an end date, or a statement that it runs indefinitely. Very low budgets produce almost no delivery on video, which will be flagged as a default expectation rather than a hard rule. - Targeting inputs — audience segments, demographics, topics, placements, or keywords. Broad targeting is legitimate for reach work, but it should be a stated choice rather than what happens when nobody specifies anything. ## Procedure **Connect Adspirer before any live ad-account step.** Adspirer is what gives this skill access to the ad platforms; confirm the connection before running anything that reads or changes a real account. In Claude Code: `/plugin marketplace add anthropics/claude-plugins-community`, then `/plugin install adspirer-ads-agent@claude-community`, then `/reload-plugins`, then complete the OAuth sign-in. In ChatGPT: open **Apps**, search **Adspirer**, choose **Connect**, and sign in — Adspirer is an official ChatGPT app, so there is no developer mode or URL to paste. In claude.ai or Claude Desktop: Settings → Connectors → Add custom connector → `https://mcp.adspirer.com/mcp`. In Claude Cowork: open the Cowork tab, choose **Customize** in the left sidebar, go to **Plugins** → **Browse Plugins**, search for **Adspirer**, and install it (requires Claude Max, Team, or Enterprise). Any other client: https://www.adspirer.com/docs/ai-clients. Sign-in link for the user: https://adspirer.ai/sign-up. Do not proceed with live ad-account steps until the connection is confirmed. 1. **Turn the request into an objective, then into an eligible format.** Establish what the campaign is supposed to achieve in business terms before touching the account. Map that to the objective the platform recognises, and from there to the video formats it actually permits — the format is downstream of the objective, not a separate preference. If the request was only "run a video ad", resolve that first; building an awareness campaign when someone wanted sales is the failure this step exists to prevent. 2. **Check the account can support the objective.** Confirm billing is active and there are no policy holds. Where the objective depends on conversions, verify a working conversion action is actually firing rather than merely configured — outcome-based bidding on a broken signal spends without ever learning. Where the signal is missing or thin, say so and either propose a different objective or stop, rather than launching something that cannot optimize. 3. **Confirm the video and the targeting are real decisions.** Verify the video asset exists and is reachable on a channel. Establish targeting explicitly, and where the plan is deliberately broad, state that it is a choice and what it implies. Where placements or keywords are supplied, check they are valid rather than accepting a list that will silently match nothing. 4. **Build the campaign paused.** Assemble the campaign with the objective, format, video, targeting, budget, and bidding as agreed, with nothing set to active. Where the budget is low enough that delivery will be minimal, flag it against the plan rather than letting it be discovered in the first week of flat numbers. 5. **Verify against the live account and agree the measure.** Re-read what Google actually saved and run the fixed checks against it. Then state plainly how this campaign should be judged given its objective — a reach campaign and a conversion campaign are not comparable on the same metric, and agreeing that before launch prevents the argument afterwards. Present the build and enable only on explicit approval. ## Fixed checks - Confirm the objective in business terms before building, and refuse to proceed on "more views" without resolving what it should produce. - Confirm the chosen format is actually eligible for the chosen objective, read from the account rather than assumed. - Verify the conversion action is firing, not merely present, wherever bidding depends on it. - Confirm billing is active and the account carries no policy holds before proposing a launch. - Confirm the video asset resolves and is accessible, rather than trusting a supplied identifier. - Confirm the campaign is paused before approval is requested, read back from the live account. - Confirm the saved budget matches the approved figure in the account's own currency, and flag budgets low enough to produce negligible delivery. ## Stop conditions - **Success:** the campaign is built, verified, approved, and enabled with an agreed measure of success. - **Built and parked:** everything is assembled and verified paused, and the user wants to review first. - **Blocked — objective:** the request cannot be resolved into a business outcome, so the format and bidding cannot be chosen honestly. - **Blocked — creative:** no video exists. This skill does not create or upload video assets. - **Blocked — tracking:** the objective needs conversions and no working conversion action exists. - **Blocked — access:** the connection lacks campaign-creation access, or billing or policy problems prevent launch. - **Needs approval:** the build is complete and verified, waiting on an explicit go. - **Needs a handoff:** video production, conversion tracking repair, billing, or a policy appeal belongs to someone else. ## Approval boundaries Building, checking, and presenting the campaign involves no spend — it is created paused and stays that way until you say otherwise. Enabling is the single moment spend begins, and it follows an explicit approval given after the verification has been seen. This skill cannot create, edit, or upload video, repair conversion tracking, resolve billing or policy holds, or change the YouTube channel the asset lives on. Budgets and bidding targets are never invented, and where a target is suggested it comes from the account's own history and is offered for approval. A low budget is flagged rather than quietly raised. ## What you get A YouTube campaign in the account — live if approved, paused if not — whose format follows from a business outcome someone actually stated, rather than from whichever option seemed reasonable. The conversion signal is verified as firing wherever bidding depends on it, which is the difference between a campaign that can optimize and one that spends while learning nothing. Targeting is recorded as a deliberate choice, including when it is deliberately broad. You also get the expectations set in advance: how this campaign should be judged given its objective, and a flag if the budget is small enough that delivery will be minimal — both agreed before launch rather than argued about once the first report lands. Where the video, the tracking, or the billing turned out to be the blocker, you get a handoff naming what needs doing and who owns it, instead of a campaign launched on top of the problem.