Skip to content This library is free, offered as dana. If it helps your work, donate here →

This is one of 3,622 free prompts in the penguin tree ai library. Sign up once and the whole library opens, with new prompts by email.

open the library →

Campaign QA checker

Runs a pre-launch quality assurance review of a paid campaign setup across 8 checkpoints — objective alignment, targeting, tracking and pixels, naming conventions, budget and bidding, creative and links, scheduling, and…

download .md

Purpose

Catch the setup errors that quietly waste budget, break attribution, or violate policy — before a campaign goes live. Produces a prioritized pre-launch punch list where every flagged issue is labeled by severity and paired with the exact correction, so a specialist can approve or fix in one pass.

When to Use

Invoke this skill when the user asks to:

  • QA or review a campaign before hitting launch
  • Check ad setup for targeting, tracking, or budget errors
  • Verify UTM parameters, pixels, or conversion tracking are correct
  • Confirm campaign naming follows the team's convention
  • Build a pre-flight checklist or approval process for paid media
  • Get a second set of eyes on a campaign someone else built

Inputs Required

Before starting, collect:

  • Platform(s): Meta, Google, TikTok, LinkedIn, or other — QA rules differ by platform
  • Campaign objective: The selected objective and the actual business goal (they should match)
  • Targeting setup: Audiences, geos, ages, placements, exclusions, and any lookalikes/custom audiences
  • Tracking setup: Pixel/conversion event selected, UTM parameters, destination URLs
  • Budget and bidding: Daily/lifetime budget, bid strategy, and CPA/ROAS target if any
  • Naming convention: The team's naming standard (or a note that none exists)
  • Creative and copy details: Ad formats, headlines, primary text, CTAs, landing page URLs

If a naming convention isn't provided, flag naming as a Note and recommend a standard format rather than skipping the check.

Instructions

Review the campaign against all 8 checkpoints below. For every issue found, assign a severity and a fix:

  • 🔴 Blocker — will waste spend, break tracking, or get the campaign rejected. Must fix before launch.
  • 🟡 Warning — likely to hurt performance or reporting; fix strongly recommended.
  • 🔵 Note — best-practice improvement or a check the reviewer should confirm.

If a checkpoint passes cleanly, mark it ✅ Pass with a one-line confirmation.

Checkpoint 1: Objective Alignment

Confirm the selected objective matches the business goal.

  • Awareness goal → Reach/Awareness objective (not Traffic)
  • Lead goal → Leads or Conversions optimizing for a lead event (not Traffic or Engagement)
  • Sales goal → Conversions/Sales optimizing for purchase (not Add-to-Cart unless intentional)
  • Flag any objective optimizing for a cheap proxy metric (clicks, landing page views) when the real goal is downstream conversion.

Checkpoint 2: Targeting

  • Geo: Confirm countries/regions are correct and that "people living in" vs "recently in" is intentional.
  • Exclusions: Existing customers or converters excluded from prospecting? Prospecting audiences excluded from retargeting overlap?
  • Audience size: Too narrow (learning phase risk) or too broad for the budget?
  • Placements: Manual placements intentional, or is broad/automatic placements silently including low-quality inventory (Audience Network, Search Partners)?
  • Overlap: Multiple ad sets targeting the same audience competing against each other?
  • Age/gender/language: Match the intended customer and the ad's language?

Checkpoint 3: Tracking & Pixels

  • Conversion event: Correct event selected and confirmed firing (not a stale or test event)?
  • Attribution window: Intentional (e.g., 7-day click) and consistent with reporting expectations?
  • UTM parameters: Present, correctly structured, and matching the team's UTM taxonomy? Check for spaces, uppercase inconsistencies, and missing source/medium/campaign values.
  • Destination URL: Loads, is HTTPS, matches the ad promise, and carries UTMs correctly.
  • Pixel/tag presence: Tracking installed on the landing page and thank-you/conversion page.

Checkpoint 4: Naming Conventions

  • Campaign, ad set, and ad names follow the team's standard.
  • Names encode the fields the team reports on (objective, audience, geo, funnel stage, date/version).
  • No default names left in place (e.g., "New Campaign," "Ad Set 1," "Untitled").
  • Consistent delimiters and casing across all levels.

Checkpoint 5: Budget & Bidding

  • Budget level: Set at the intended level (campaign budget optimization vs ad-set budgets) — not doubled or misplaced.
  • Budget vs audience/goal: Enough daily budget to exit the learning phase (roughly enough for ~50 optimization events/week)?
  • Bid strategy: Matches maturity — automated/lowest-cost when data is thin; target CPA/ROAS only with sufficient conversion history (~30–50 conversions/month).
  • Caps: Any bid or cost cap set that's unrealistically low and will throttle delivery?
  • Schedule vs lifetime budget: Lifetime budget paired with a defined end date; daily budget not accidentally set as lifetime (or vice versa).

Checkpoint 6: Creative & Links

  • Every ad has creative, headline, primary text, and a CTA — no empty or placeholder fields.
  • Creative meets platform spec (aspect ratio, resolution, text-in-image, length limits).
  • Links in each ad point to the correct, live URL — no broken, staging, or mismatched links.
  • CTA button matches the offer (Shop Now vs Learn More vs Sign Up).
  • Copy is free of typos, correct pricing/claims, and no leftover bracket placeholders.

Checkpoint 7: Scheduling

  • Start/end dates and day-parting correct and in the intended time zone.
  • No unintended immediate launch if a scheduled start was expected.
  • Time zone of the ad account matches reporting/team expectations.
  • For time-sensitive promos, confirm end date is set so the campaign doesn't run past the offer.

Checkpoint 8: Compliance & Policy

  • No restricted-category issues (health claims, financial promises, before/after, personal attributes targeting where prohibited).
  • Special ad category set correctly if applicable (housing, employment, credit, social/political).
  • Landing page matches ad claims and has required disclosures/privacy policy.
  • No policy-violating language (guarantees, "you," discriminatory framing) for the platform.

Final: Launch Verdict

Summarize counts of Blockers / Warnings / Notes and give a clear verdict:

  • Do not launch — one or more Blockers present.
  • Launch after quick fixes — Warnings only.
  • Cleared to launch — no Blockers or Warnings.

Output Format

  • Structure: 8 checkpoint sections in order, each showing Pass or a list of flagged issues; issues formatted as [Severity] Issue — Fix. Ends with a Launch Verdict summary.
  • Length: 700–1,100 words depending on issue count
  • Format: Scannable structured list with severity icons; verdict as a short summary block with counts
  • Sections: Objective Alignment → Targeting → Tracking & Pixels → Naming Conventions → Budget & Bidding → Creative & Links → Scheduling → Compliance & Policy → Launch Verdict
  • Tone: Direct pre-flight reviewer — terse, specific, no hedging; every flag has an actionable fix

Quality Checklist

Before delivering output, verify:

  • [ ] All 8 checkpoints are addressed — each is either ✅ Pass or has flagged issues
  • [ ] Every flagged issue has a severity label (Blocker / Warning / Note) and a specific fix
  • [ ] Tracking check covers UTM structure, conversion event, and destination URL — not just "check tracking"
  • [ ] Launch Verdict includes exact counts of Blockers, Warnings, and Notes
  • [ ] No issue is flagged without a corresponding correction
  • [ ] Platform-specific rules are applied to the platform(s) provided (e.g., special ad category, placement inventory)

Notes

  • The most expensive errors are silent: wrong conversion event, broken UTMs, and accidentally-broad placements rarely trigger warnings inside the ad platform — check these hardest.
  • Only flag a Blocker when the issue genuinely wastes spend, breaks attribution, or risks rejection. Overusing Blockers erodes trust in the review.
  • If details for a checkpoint weren't provided, mark it as a Note with "confirm before launch" rather than assuming it's fine.
  • Recommended workflow: run this QA on every campaign at build-complete, then again after any bulk edit — bulk edits are a common source of reintroduced errors.

How to use this skill

This file is a Claude Code skill in Anthropic's standard format — markdown with YAML frontmatter at the top.

Installing in Claude Code:

  • ~/.claude/skills/<folder-name>/SKILL.md — auto-loads in every session anywhere on your machine (recommended for skills you'll use across multiple projects)
  • <your-project>/.claude/skills/<folder-name>/SKILL.md — auto-loads only when working in that project (recommended for project-specific skills)

Restart Claude Code or open a new session to register.

Using in Claude.ai, ChatGPT, Gemini, or other AI tools:

  1. Drag this file into a new chat, or copy and paste its contents
  2. Send your task or request as your next message — the AI will apply the skill where it fits

For Claude Code skill details: https://docs.anthropic.com/en/docs/claude-code/skills