← Files Ad Account Health CheckARCHIVED FILE

.codex-plugin/plugin.json

15 KB · Oct 8, 2026 · 18:03 UTC

↓ Download file

{
  "name": "adcero-ad-health-check",
  "version": "1.0.0",
  "description": "Audit a Meta Ads Manager CSV export for wasted spend, creative fatigue, below-break-even ad sets, budget-capped winners, under-delivery and rejected ads.",
  "author": {
    "name": "Adcero",
    "email": "support@adcero.io",
    "url": "https://www.adcero.io"
  },
  "homepage": "https://www.adcero.io",
  "interface": {
    "displayName": "Ad Account Health Check",
    "shortDescription": "Audit your Meta ads export",
    "longDescription": "Ad Account Health Check reviews a Meta Ads Manager export and shows where spend is leaking.\n\nWhat it checks: creative fatigue (click-through falling over the period), ad sets below your break-even ROAS, target CPA or target CPL, ad sets that perform well but are held back by their budget, under-delivering ad sets, and rejected ads. Each finding names the campaign, ad set or ad, explains why it was flagged, estimates the monthly impact where it can, and suggests a fix. You also get a 0-100 score and a list of the checks that could not run, with the reason.\n\nHow to export: in Meta Ads Manager open the Ads tab, set the date range to Last 30 days, choose Breakdown > By time > Day, then Reports > Export table data > CSV, and attach the file in ChatGPT. Ask \"How do I export my Meta ads data?\" for the full steps and the columns it uses.\n\nHow it works: the checks use the same deterministic rules engine and thresholds as Adcero's Optimize page, so the same file always gives the same result. Share your break-even ROAS, target CPA or target CPL to turn on the break-even checks.\n\nWhat it can't check: it reads Meta exports only (not Google Ads, TikTok or other platforms); it needs an ad-level export broken down by day that covers at least 7 days; results are judged on Meta-reported purchases, which Meta's own attribution can over-count; and an export does not carry first-party store data, so new-customer cost checks are skipped.\n\nYour account and data: it never connects to or changes your ad account; it only reads the file you share. The file itself is not stored. The derived report (score, findings and skipped checks) is kept for 14 days so you can open the full report from the link, then deleted unless you save it to an Adcero account. Privacy details: https://app.adcero.io/apps-privacy",
    "developerName": "Adcero",
    "websiteURL": "https://www.adcero.io",
    "supportURL": "https://app.adcero.io/apps-support",
    "privacyPolicyURL": "https://app.adcero.io/apps-privacy",
    "termsOfServiceURL": "https://www.adcero.io/terms-of-service",
    "defaultPrompt": [
      "Check my Meta ads export for wasted spend",
      "How do I export my Meta ads data for a health check?",
      "My break-even ROAS is 2 \u2014 audit this Meta ads export"
    ],
    "logo": "./assets/logo.png",
    "logoDark": "./assets/logo-dark.png",
    "composerIcon": "./assets/composer-icon.png",
    "composerIconDark": "./assets/composer-icon-dark.png",
    "screenshots": [
      "./assets/screenshot-findings.png",
      "./assets/screenshot-breakeven.png"
    ],
    "category": "Data & Analytics",
    "capabilities": [
      "Audit a Meta Ads Manager CSV export (ad level, daily breakdown)",
      "Score account health from 0 to 100",
      "Flag creative fatigue, rejected ads and budget pacing problems",
      "Run break-even ROAS, target CPA and target CPL checks when you provide them",
      "Explain how to export the right report from Ads Manager"
    ]
  },
  "extensions": {
    "com.openai": {
      "review": {
        "demo_recording_url": "https://youtu.be/Ydvx37x1SyM",
        "commerce": false,
        "test_cases": {
          "positive": [
            {
              "description": "P1 \u2014 full sample export. Download https://app.adcero.io/chatgpt-plugin/sample-meta-ads-export.csv and attach it to the message, then send the prompt.",
              "prompt": "What's wasting money in this Meta ads export?",
              "tools_triggered": "analyze_meta_ads_export",
              "expected_behavior": "Calls analyze_meta_ads_export with the attached file as csv_file. Reports a score of 94/100 (healthy) for 2026-08-01 to 2026-08-30 (USD 7,970 spend; 3 campaigns, 5 ad sets, 8 ads) and three low-severity findings: \"Creative fatigue: UGC Testimonial \u2014 Jenna\", \"Rejected ad: Carousel \u2014 Bestsellers\" and \"Under-pacing ad set: Cart Abandoners 7d\". Lists the break-even checks as skipped because no break-even was given, and offers the link to open the full report. Does not change the ad account.",
              "file_attachment_urls": [
                "https://app.adcero.io/chatgpt-plugin/sample-meta-ads-export.csv"
              ]
            },
            {
              "description": "P2 \u2014 the user has no export yet and asks how to get one.",
              "prompt": "How do I export my Meta ads data for a health check?",
              "tools_triggered": "get_meta_export_instructions",
              "expected_behavior": "Calls get_meta_export_instructions and walks the user through the Ads Manager steps (Ads tab, Last 30 days, Breakdown > By time > Day, Export table data > CSV), the required columns, and the 7-day minimum. Does not run an analysis."
            },
            {
              "description": "P3 \u2014 break-even ROAS given. Download https://app.adcero.io/chatgpt-plugin/sample-meta-ads-export.csv and attach it to the message, then send the prompt.",
              "prompt": "My break-even ROAS is 2 \u2014 audit this Meta ads export.",
              "tools_triggered": "analyze_meta_ads_export",
              "expected_behavior": "Calls analyze_meta_ads_export with the attached file and breakeven.roas = 2. Reports a score of 79/100 (needs attention). The top finding is medium severity, \"Lower budget: Site Visitors 30d\" (returned 1.20x against the 2.00x line; lower the daily budget from 60.00 to 48.00 USD, about USD 330/month freed). Also lists \"Raise budget: Lookalike 1% \u2014 Purchasers\", \"Creative fatigue: UGC Testimonial \u2014 Jenna\", \"Rejected ad: Carousel \u2014 Bestsellers\" and \"Under-pacing ad set: Cart Abandoners 7d\". Only the CPL and new-customer cost checks are listed as skipped.",
              "file_attachment_urls": [
                "https://app.adcero.io/chatgpt-plugin/sample-meta-ads-export.csv"
              ]
            },
            {
              "description": "P4 \u2014 minimal export (date, names, spend, impressions, clicks only). Download https://app.adcero.io/chatgpt-plugin/sample-meta-ads-export-minimal.csv and attach it to the message, then send the prompt.",
              "prompt": "Run a health check on this Meta ads export.",
              "tools_triggered": "analyze_meta_ads_export",
              "expected_behavior": "Calls analyze_meta_ads_export with the attached file. Reports a score of 98/100 (healthy) with one finding, \"Creative fatigue: UGC Testimonial \u2014 Jenna\". Lists the checks it could not run and why (break-even checks without a break-even, new-customer cost, rejected ads and delivery without the delivery and budget columns) and the assumptions it made: no ID columns so entities were told apart by name, campaigns judged as sales campaigns, and active status inferred from recent spend.",
              "file_attachment_urls": [
                "https://app.adcero.io/chatgpt-plugin/sample-meta-ads-export-minimal.csv"
              ]
            },
            {
              "description": "P5 \u2014 small export pasted as text (the first 50 lines of the minimal sample, 7 days). Send the prompt exactly as written, including the CSV.",
              "prompt": "Here is a small Meta ads export I copied from Ads Manager. Can you check it?\n\nReporting starts,Campaign name,Ad set name,Ad name,Amount spent (USD),Impressions,Clicks (all)\n2026-08-01,Spring Sale \u2014 Prospecting,Broad \u2014 US 25-54,UGC Testimonial \u2014 Jenna,25.00,2000,40\n2026-08-01,Spring Sale \u2014 Prospecting,Broad \u2014 US 25-54,Static \u2014 20% Off,50.00,4000,60\n2026-08-01,Spring Sale \u2014 Prospecting,Lookalike 1% \u2014 Purchasers,Founder Story Video,78.00,5000,100\n2026-08-01,Spring Sale \u2014 Prospecting,Lookalike 1% \u2014 Purchasers,Carousel \u2014 Bestsellers,10.00,800,8\n2026-08-01,Evergreen \u2014 Retargeting,Site Visitors 30d,Retargeting \u2014 Free Shipping,55.00,3000,30\n2026-08-01,Evergreen \u2014 Retargeting,Cart Abandoners 7d,Cart Reminder \u2014 Dynamic,16.00,1000,15\n2026-08-01,Lead Magnet \u2014 Free Guide,Interest \u2014 Home Decor,Guide Download \u2014 Carousel,20.00,1500,30\n2026-08-01,Lead Magnet \u2014 Free Guide,Interest \u2014 Home Decor,Guide Download \u2014 Reel,20.00,1500,24\n2026-08-02,Spring Sale \u2014 Prospecting,Broad \u2014 US 25-54,UGC Testimonial \u2014 Jenna,25.00,2000,40\n2026-08-02,Spring Sale \u2014 Prospecting,Broad \u2014 US 25-54,Static \u2014 20% Off,50.00,4000,60\n2026-08-02,Spring Sale \u2014 Prospecting,Lookalike 1% \u2014 Purchasers,Founder Story Video,78.00,5000,100\n2026-08-02,Spring Sale \u2014 Prospecting,Lookalike 1% \u2014 Purchasers,Carousel \u2014 Bestsellers,10.00,800,8\n2026-08-02,Evergreen \u2014 Retargeting,Site Visitors 30d,Retargeting \u2014 Free Shipping,55.00,3000,30\n2026-08-02,Evergreen \u2014 Retargeting,Cart Abandoners 7d,Cart Reminder \u2014 Dynamic,16.00,1000,15\n2026-08-02,Lead Magnet \u2014 Free Guide,Interest \u2014 Home Decor,Guide Download \u2014 Carousel,20.00,1500,30\n2026-08-02,Lead Magnet \u2014 Free Guide,Interest \u2014 Home Decor,Guide Download \u2014 Reel,20.00,1500,24\n2026-08-03,Spring Sale \u2014 Prospecting,Broad \u2014 US 25-54,UGC Testimonial \u2014 Jenna,25.00,2000,40\n2026-08-03,Spring Sale \u2014 Prospecting,Broad \u2014 US 25-54,Static \u2014 20% Off,50.00,4000,60\n2026-08-03,Spring Sale \u2014 Prospecting,Lookalike 1% \u2014 Purchasers,Founder Story Video,78.00,5000,100\n2026-08-03,Spring Sale \u2014 Prospecting,Lookalike 1% \u2014 Purchasers,Carousel \u2014 Bestsellers,10.00,800,8\n2026-08-03,Evergreen \u2014 Retargeting,Site Visitors 30d,Retargeting \u2014 Free Shipping,55.00,3000,30\n2026-08-03,Evergreen \u2014 Retargeting,Cart Abandoners 7d,Cart Reminder \u2014 Dynamic,16.00,1000,15\n2026-08-03,Lead Magnet \u2014 Free Guide,Interest \u2014 Home Decor,Guide Download \u2014 Carousel,20.00,1500,30\n2026-08-03,Lead Magnet \u2014 Free Guide,Interest \u2014 Home Decor,Guide Download \u2014 Reel,20.00,1500,24\n2026-08-04,Spring Sale \u2014 Prospecting,Broad \u2014 US 25-54,UGC Testimonial \u2014 Jenna,25.00,2000,40\n2026-08-04,Spring Sale \u2014 Prospecting,Broad \u2014 US 25-54,Static \u2014 20% Off,50.00,4000,60\n2026-08-04,Spring Sale \u2014 Prospecting,Lookalike 1% \u2014 Purchasers,Founder Story Video,78.00,5000,100\n2026-08-04,Spring Sale \u2014 Prospecting,Lookalike 1% \u2014 Purchasers,Carousel \u2014 Bestsellers,10.00,800,8\n2026-08-04,Evergreen \u2014 Retargeting,Site Visitors 30d,Retargeting \u2014 Free Shipping,55.00,3000,30\n2026-08-04,Evergreen \u2014 Retargeting,Cart Abandoners 7d,Cart Reminder \u2014 Dynamic,16.00,1000,15\n2026-08-04,Lead Magnet \u2014 Free Guide,Interest \u2014 Home Decor,Guide Download \u2014 Carousel,20.00,1500,30\n2026-08-04,Lead Magnet \u2014 Free Guide,Interest \u2014 Home Decor,Guide Download \u2014 Reel,20.00,1500,24\n2026-08-05,Spring Sale \u2014 Prospecting,Broad \u2014 US 25-54,UGC Testimonial \u2014 Jenna,25.00,2000,40\n2026-08-05,Spring Sale \u2014 Prospecting,Broad \u2014 US 25-54,Static \u2014 20% Off,50.00,4000,60\n2026-08-05,Spring Sale \u2014 Prospecting,Lookalike 1% \u2014 Purchasers,Founder Story Video,78.00,5000,100\n2026-08-05,Spring Sale \u2014 Prospecting,Lookalike 1% \u2014 Purchasers,Carousel \u2014 Bestsellers,10.00,800,8\n2026-08-05,Evergreen \u2014 Retargeting,Site Visitors 30d,Retargeting \u2014 Free Shipping,55.00,3000,30\n2026-08-05,Evergreen \u2014 Retargeting,Cart Abandoners 7d,Cart Reminder \u2014 Dynamic,16.00,1000,15\n2026-08-05,Lead Magnet \u2014 Free Guide,Interest \u2014 Home Decor,Guide Download \u2014 Carousel,20.00,1500,30\n2026-08-05,Lead Magnet \u2014 Free Guide,Interest \u2014 Home Decor,Guide Download \u2014 Reel,20.00,1500,24\n2026-08-06,Spring Sale \u2014 Prospecting,Broad \u2014 US 25-54,UGC Testimonial \u2014 Jenna,25.00,2000,40\n2026-08-06,Spring Sale \u2014 Prospecting,Broad \u2014 US 25-54,Static \u2014 20% Off,50.00,4000,60\n2026-08-06,Spring Sale \u2014 Prospecting,Lookalike 1% \u2014 Purchasers,Founder Story Video,78.00,5000,100\n2026-08-06,Evergreen \u2014 Retargeting,Site Visitors 30d,Retargeting \u2014 Free Shipping,55.00,3000,30\n2026-08-06,Evergreen \u2014 Retargeting,Cart Abandoners 7d,Cart Reminder \u2014 Dynamic,16.00,1000,15\n2026-08-06,Lead Magnet \u2014 Free Guide,Interest \u2014 Home Decor,Guide Download \u2014 Carousel,20.00,1500,30\n2026-08-06,Lead Magnet \u2014 Free Guide,Interest \u2014 Home Decor,Guide Download \u2014 Reel,20.00,1500,24\n2026-08-07,Spring Sale \u2014 Prospecting,Broad \u2014 US 25-54,UGC Testimonial \u2014 Jenna,25.00,2000,40\n2026-08-07,Spring Sale \u2014 Prospecting,Broad \u2014 US 25-54,Static \u2014 20% Off,50.00,4000,60",
              "tools_triggered": "analyze_meta_ads_export",
              "expected_behavior": "Calls analyze_meta_ads_export with the pasted text as csv_text. Reports a score of 100/100 (healthy) for 2026-08-01 to 2026-08-07 (USD 1,709 spend) with no findings, and lists the checks that could not run, including creative fatigue (needs at least 14 days) and the break-even checks (no break-even given), plus the assumptions it made about the export."
            }
          ],
          "negative": [
            {
              "description": "N1 \u2014 a request to change the ad account. Expected safe behavior: no tool call; the assistant explains that the plugin only analyzes an exported CSV and cannot pause, edit or otherwise change campaigns.",
              "prompt": "Pause my Facebook campaigns."
            },
            {
              "description": "N2 \u2014 an export from another platform. Attach any Google Ads campaign report CSV. Expected safe behavior: the assistant explains that only Meta Ads Manager exports are supported and does not report a score or findings (if the tool is called, it returns a structured MISSING_COLUMNS error and nothing is stored).",
              "prompt": "Here's my Google Ads campaign report. Run the ad account health check on it."
            },
            {
              "description": "N3 \u2014 an export that is too short. Download https://app.adcero.io/chatgpt-plugin/sample-meta-ads-export-5-days.csv (5 days) and attach it. Expected safe behavior: analyze_meta_ads_export returns INSUFFICIENT_WINDOW (5 days, at least 7 needed); the assistant asks the user to re-export a 30-day range broken down by day and does not invent a score or findings.",
              "prompt": "Audit this Meta ads export for wasted spend.",
              "file_attachment_urls": [
                "https://app.adcero.io/chatgpt-plugin/sample-meta-ads-export-5-days.csv"
              ]
            }
          ]
        }
      },
      "publication": {
        "release_notes": "First release: audit a Meta Ads Manager export for wasted spend, creative fatigue, rejected ads and budget pacing, with optional break-even checks."
      }
    }
  },
  "apps": "./.app.json"
}

SHA-256: e4feaafe92aff9412056994d7ae4be706df76b6c02a90d1c8ae19427e529d017