← All runbooks
gooseworks-ai / composites-ad-campaign-analyzer

Ad Campaign Analyzer

Analyze paid advertising performance data and convert it into concrete campaign decisions. This runbook diagnoses which campaigns, ad groups, audiences, creatives, keywords, and channels are working, which are wasting budget, and where spend should be…

agent codexmodel gpt-5.5snapshot python312-uveval programmatic7 stepsv1.0.0

Deploy Ad Campaign Analyzer to your jetty.io

One-click installs this runbook into a collection on your Jetty account. You can run it from the Spot dashboard, schedule it, or pipe inputs in via the API.

The shape of the run

7 steps · start to finish.

  1. 1
    Step 1

    Environment Setup

    1. Create /app/results if it does not exist.
    2. Install or verify pandas, numpy, and scipy.
    3. Confirm the campaign data, platform list, time period, primary goal, and any target metrics are available.
    4. If screenshot data is provided, extract it into a normalized table before analysis.
  2. 2
    Step 2

    Normalize Campaign Data

    Load the exported CSV, pasted table, or extracted screenshot data. 2. Standardize field names for spend, impressions, clicks, conversions, revenue, campaign, ad group, creative, keyword, audience…

  3. 3
    Step 3

    Diagnose Performance

    Rank each campaign entity by spend, conversions, CPA, ROAS, and conversion volume. 2. Separate high-spend low-return waste from low-spend opportunities that need more budget to learn. 3. Check…

  4. 4
    Step 4

    Generate Cut, Scale, Hold, and Test Decisions

    Mark campaigns or entities for cut when spend is material and performance is below target without a credible learning rationale. 2. Mark campaigns or entities for scale when they beat target metrics…

  5. 5
    Step 5

    Reallocate Budget Across Channels

    Compare Google, Meta, LinkedIn, and any other active channels on equal conversion and revenue definitions. 2. Identify over-funded channels and under-funded channels relative to marginal returns and…

  6. 6
    Step 6

    Write Analysis Outputs

    Write /app/results/campaign_analysis.md with findings by channel and by campaign entity. 2. Write /app/results/summary.md with the top decisions, recommended budget movement, and risks. 3. Call out…

  7. 7
    Step 7

    Iterate on Analysis Quality (max 3 rounds)

    If validation finds incomplete outputs or unsupported recommendations, run up to max 3 rounds of targeted correction: