{
  "verdict": "PASS",
  "criticalCount": 0,
  "errorCount": 0,
  "warningCount": 7,
  "findings": [
    {
      "severity": "warning",
      "rule": "RSA_COUNT",
      "location": "adGroups[0].rsas",
      "message": "2 RSA(s); the standard is 3 per ad group.",
      "suggestion": "Add RSAs that win a different click (motive / proof / objection)."
    },
    {
      "severity": "warning",
      "rule": "RSA_COUNT",
      "location": "adGroups[1].rsas",
      "message": "2 RSA(s); the standard is 3 per ad group.",
      "suggestion": "Add RSAs that win a different click (motive / proof / objection)."
    },
    {
      "severity": "warning",
      "rule": "DESCRIPTION_TRUNCATION_SAFETY",
      "location": "adGroups[0].rsas[0].descriptions",
      "message": "Descriptions [0] have no clause break inside the first 60 characters.",
      "suggestion": "Advisory: make the first 60 characters a complete thought in case of truncation."
    },
    {
      "severity": "warning",
      "rule": "RSA_SHORT_HEADLINE",
      "location": "adGroups[0].rsas[1].headlines",
      "message": "No headline is 15 characters or fewer.",
      "suggestion": "Add one short, punchy line (15 chars or fewer) for narrow mobile placements."
    },
    {
      "severity": "warning",
      "rule": "DESCRIPTION_TRUNCATION_SAFETY",
      "location": "adGroups[1].rsas[0].descriptions",
      "message": "Descriptions [0] have no clause break inside the first 60 characters.",
      "suggestion": "Advisory: make the first 60 characters a complete thought in case of truncation."
    },
    {
      "severity": "warning",
      "rule": "RSA_SHORT_HEADLINE",
      "location": "adGroups[1].rsas[1].headlines",
      "message": "No headline is 15 characters or fewer.",
      "suggestion": "Add one short, punchy line (15 chars or fewer) for narrow mobile placements."
    },
    {
      "severity": "warning",
      "rule": "CROSS_RSA_REUSE",
      "location": "adGroups[0]",
      "message": "1 headline(s) reused across RSAs inside \"Graphene Spray Coating\".",
      "suggestion": "Each RSA wins a different click (motive / proof / objection); avoid repeated headlines."
    }
  ],
  "stats": {
    "campaigns": 1,
    "adGroups": 2,
    "rsas": 4,
    "keywords": 6,
    "negatives": 7,
    "locations": 1,
    "extensions": 0
  }
}
