← All runbooks
gooseworks-ai / composites-meta-ads-campaign-builder

Meta Ads Campaign Builder

Build a complete Meta Ads campaign structure for Facebook and Instagram from a product, ICP, objective, budget, and tracking context. The runbook produces audience targeting recommendations, ad set structure, copy frameworks per placement, budget allocation, tracking checks, laun

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

Deploy Meta Ads Campaign Builder 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

8 steps · start to finish.

  1. 1
    Step 1

    Environment Setup

    1. Create the results directory.
    2. Validate required parameters are present: product name, product URL, objective, ICP, monthly budget, landing pages, and business type.
    3. Normalize the objective to one of awareness, traffic, lead_generation, conversions, or app_installs.
    4. Initialize validation_report.json with a setup stage.
    mkdir -p "{{ results_dir }}"
    python - <<'PY'
    import json, os, pathlib
    results = pathlib.Path(os.environ.get('RESULTS_DIR', '{{ results_dir }}'))
    results.mkdir(parents=True, exist_ok=True)
    required = ['product_name', 'product_url', 'campaign_objective', 'icp', 'monthly_budget', 'landing_pages', 'business_type']
    missing = [name for name in required if not os.environ.get(name.upper())]
    report = {'version':'1.0.0','stages':[{'name':'setup','passed':not missing,'message':'Missing: '+', '.join(missing) if missing else 'Required inputs present'}]}
    (results / 'validation_report.json').write_text(json.dumps(report, indent=2))
    if missing:
        raise SystemExit(1)
    PY
    
  2. 2
    Step 2

    Intake and Objective Selection

    Collect or confirm the campaign intake:

  3. 3
    Step 3

    Research Audiences and Competitors

    Run bounded research for targeting and messaging. Use max 3 rounds: one round for product/category targeting, one for ICP-specific interests or behaviors, and one for competitor Meta Ad Library findings when competitor names are available.

  4. 4
    Step 4

    Build Campaign Architecture

    Design the campaign tree with enough consolidation to exit learning phase where possible.

  5. 5
    Step 5

    Generate Copy Framework and Budget Plan

    For each ad set, generate 3-5 copy variants using these angles: pain, outcome, social proof, contrarian, and product-led. Include placement-specific guidance for Feed, Stories, Reels, Right Column, and Audience Network.

  6. 6
    Step 6

    Write Outputs

    Write `meta_campaign_plan.md` with this structure:

  7. 7
    Step 7

    Evaluate Outputs

    Run programmatic checks and update `validation_report.json`:

  8. 8
    Step 8

    Iterate on Errors (max 3 rounds)

    If validation fails or finds partial coverage, perform up to max 3 rounds of targeted fixes. Fix missing files first, then missing sections, then weak assumptions or unsupported recommendations. Stop early once all required checks pass.