{"id":18400,"plugin_id":"plugins_6a893288a1008191857f5437d78ab047","kind":"skill","collection_source":null,"comparison_source":null,"observed_at":"2026-09-30T23:14:48.442Z","digest":"7dd8d1b55a3b5065c1fd2626975009b394905396e121f2d11859a765cc8d7ff1","against":null,"payload":{"description":"Use when paid-media performance changed, spend looks abnormal, delivery or pacing is off, or the user wants an account/campaign health diagnosis before choosing tactics.","included_files":[{"relative_path":"agents/openai.yaml","size_in_bytes":267}],"name":"campaign-diagnostics","skill_md_contents":"---\nname: campaign-diagnostics\ndescription: Use when paid-media performance changed, spend looks abnormal, delivery or pacing is off, or the user wants an account/campaign health diagnosis before choosing tactics.\n---\n\n# Campaign Diagnostics\n\nDiagnose before prescribing tactics. Separate arithmetic changes from causal explanations.\n\n## Inputs\n\nPrefer campaign-level or lower-grain data with current and comparison periods. Useful fields include spend, impressions, reach, frequency, CPM, clicks, CTR, CPC, landing-page views, conversions, CVR, CPA, revenue/value, ROAS, budget, delivery status, audience size, attribution window, and creative/ad identifiers.\n\n## Diagnostic sequence\n\n### 1. Validate comparability\n\nCheck:\n\n- same metric definitions and attribution settings\n- same or comparable date length and day-of-week mix\n- reporting lag and conversion latency\n- major promotions, stock, price, website, tracking, or offer changes\n- campaign structure or learning-phase changes\n\n### 2. Decompose the KPI\n\nFor a CPA problem, inspect the chain:\n\n`CPA = CPC / CVR`, while `CPC` is influenced by CPM and CTR.\n\nFor ROAS, inspect revenue/value per conversion as well as acquisition cost. A falling ROAS can come from traffic cost, conversion efficiency, basket/value changes, attribution shifts, or a mix of them.\n\nUse Python for deterministic calculations when the host exposes it and the data volume warrants execution.\n\n### 3. Detect risk patterns\n\nFlag only when supported by data:\n\n- overspend or underspend versus expected pacing\n- abrupt CPM/CPC movement\n- CTR or CVR deterioration\n- high frequency paired with creative performance decay\n- suspicious click/conversion spikes\n- placement or geography concentration changes\n- budget fragmentation or learning resets\n- tracking gaps or metric discontinuities\n\nClassify severity as `low`, `medium`, `high`, or `critical` based on magnitude, confidence, and business exposure. Do not label fraud from weak signals alone.\n\n### 4. Rank explanations\n\nFor each explanation include:\n\n- evidence supporting it\n- evidence contradicting it\n- confidence\n- cheapest discriminating check\n\nAvoid the common failure mode of converting correlation into a single-cause story.\n\n## Output contract\n\nReturn:\n\n1. health summary\n2. metric decomposition\n3. anomalies and severity\n4. ranked explanations\n5. immediate protections, if any\n6. next checks/tests\n7. data gaps\n\nIf there is a credible spend-loss condition, put the protective action first. A proposed pause, cap, exclusion, or budget change is still a recommendation until an authorized app executes it.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}