{
  "account": {
    "name": "Eclo",
    "id": "act_494706528770960",
    "currency": "EUR",
    "date_range": {
      "start": "2025-12-02",
      "end": "2026-03-02"
    },
    "scoring_period": "Dec 2025 \u2014 Mar 2026 (3 months)",
    "trend_period": "Sep 2025 \u2014 Mar 2026 (6 months)",
    "yoy_period": "Sep 2024 \u2014 Mar 2026 (18 months)"
  },
  "financial": {
    "spend": 26726.53,
    "revenue_total": 45301.27,
    "revenue_click": 33409.61,
    "revenue_view": 11891.659999999996,
    "purchases_total": 922,
    "purchases_click": 719,
    "purchases_view": 203,
    "reported_roas": 1.695,
    "click_roas": 1.2501,
    "api_roas": 1.694993,
    "implied_aov": 49.13,
    "post_view_pct": 22.0
  },
  "scoring": {
    "overall_score": 58.2,
    "grade_letter": "D",
    "grade_label": "Poor",
    "category_scores": {
      "pixel_capi": {
        "score": 18.8,
        "grade": "F",
        "total_checks": 10,
        "evaluated": 2,
        "na_count": 8,
        "blocked_count": 0,
        "limited_data": true
      },
      "creative": {
        "score": 61.6,
        "grade": "C",
        "total_checks": 15,
        "evaluated": 10,
        "na_count": 5,
        "blocked_count": 0,
        "limited_data": false
      },
      "structure": {
        "score": 52.5,
        "grade": "D",
        "total_checks": 18,
        "evaluated": 12,
        "na_count": 6,
        "blocked_count": 0,
        "limited_data": false
      },
      "audience": {
        "score": 66.7,
        "grade": "C",
        "total_checks": 8,
        "evaluated": 4,
        "na_count": 1,
        "blocked_count": 3,
        "limited_data": false
      },
      "funnel": {
        "score": 90.6,
        "grade": "A",
        "total_checks": 4,
        "evaluated": 4,
        "na_count": 0,
        "blocked_count": 0,
        "limited_data": false
      }
    },
    "radar_scores": {
      "pixel_capi": {
        "current": 1.0,
        "potential": 5.0
      },
      "creative": {
        "current": 3.0,
        "potential": 4.0
      },
      "structure": {
        "current": 2.0,
        "potential": 5.0
      },
      "audience": {
        "current": 3.0,
        "potential": 5.0
      },
      "funnel": {
        "current": 5.0,
        "potential": 5.0
      }
    }
  },
  "killer_stat": {
    "check_id": "M01",
    "text": "No active pixels detected. Tracking data is unreliable."
  },
  "campaigns": [
    {
      "name": "NM.|Products|Social|ASC|FR|Scaling",
      "campaign_id": "120233910688500659",
      "spend": 12721.1,
      "purchases_total": 443,
      "purchases_click": 353,
      "purchases_view": 90,
      "revenue_total": 21232.99,
      "revenue_click": 16228.14,
      "revenue_view": 5004.85,
      "roas_total": 1.67,
      "roas_click": 1.28,
      "cpa": 28.72,
      "impressions": 1058242,
      "clicks": 17284,
      "ctr": 1.633275,
      "cpm": 12.020974,
      "frequency": 4.836462
    },
    {
      "name": "NM.|Products|Social|ASC|FR|Co-pub",
      "campaign_id": "120229824074960659",
      "spend": 4199.69,
      "purchases_total": 165,
      "purchases_click": 144,
      "purchases_view": 21,
      "revenue_total": 7671.18,
      "revenue_click": 6325.17,
      "revenue_view": 1346.01,
      "roas_total": 1.83,
      "roas_click": 1.51,
      "cpa": 25.45,
      "impressions": 302422,
      "clicks": 6877,
      "ctr": 2.273975,
      "cpm": 13.886853,
      "frequency": 2.150664
    },
    {
      "name": "NM.|Products|Social|Retargeting|WV+SME|FR|Conversions_Achat",
      "campaign_id": "120229825112530659",
      "spend": 4107.01,
      "purchases_total": 119,
      "purchases_click": 87,
      "purchases_view": 32,
      "revenue_total": 6240.46,
      "revenue_click": 4153.26,
      "revenue_view": 2087.2,
      "roas_total": 1.52,
      "roas_click": 1.01,
      "cpa": 34.51,
      "impressions": 309070,
      "clicks": 5174,
      "ctr": 1.674054,
      "cpm": 13.288284,
      "frequency": 5.101428
    },
    {
      "name": "NM.|Products|Social|Fidelisation|Repeat_Purchases|FR/LU/BE|Conversions_Website_Purchase(new2)",
      "campaign_id": "120229826094440659",
      "spend": 3085.75,
      "purchases_total": 143,
      "purchases_click": 89,
      "purchases_view": 54,
      "revenue_total": 7180.75,
      "revenue_click": 4003.15,
      "revenue_view": 3177.6,
      "roas_total": 2.33,
      "roas_click": 1.3,
      "cpa": 21.58,
      "impressions": 197987,
      "clicks": 2945,
      "ctr": 1.487471,
      "cpm": 15.585619,
      "frequency": 4.449146
    },
    {
      "name": "NM.|Products|Social|ASC|FR|Testing",
      "campaign_id": "120242305909800659",
      "spend": 1822.1,
      "purchases_total": 52,
      "purchases_click": 46,
      "purchases_view": 6,
      "revenue_total": 2975.9,
      "revenue_click": 2699.9,
      "revenue_view": 276.0,
      "roas_total": 1.63,
      "roas_click": 1.48,
      "cpa": 35.04,
      "impressions": 173472,
      "clicks": 2848,
      "ctr": 1.641764,
      "cpm": 10.503712,
      "frequency": 2.350537
    },
    {
      "name": "NM.|Products|Trafic|Landing-Page-View",
      "campaign_id": "120211886238780659",
      "spend": 491.4,
      "purchases_total": 0,
      "purchases_click": 0,
      "purchases_view": 0,
      "revenue_total": 0.0,
      "revenue_click": 0.0,
      "revenue_view": 0.0,
      "roas_total": 0.0,
      "roas_click": 0.0,
      "cpa": 0,
      "impressions": 217983,
      "clicks": 6556,
      "ctr": 3.007574,
      "cpm": 2.254304,
      "frequency": 1.293614
    },
    {
      "name": "Publication Instagram\u00a0: CONCOURS EXCLUSIF \ud83d\udc8b : 5...",
      "campaign_id": "120239646372710659",
      "spend": 139.67,
      "purchases_total": 0,
      "purchases_click": 0,
      "purchases_view": 0,
      "revenue_total": 0.0,
      "revenue_click": 0.0,
      "revenue_view": 0.0,
      "roas_total": 0.0,
      "roas_click": 0.0,
      "cpa": 0,
      "impressions": 13119,
      "clicks": 456,
      "ctr": 3.475875,
      "cpm": 10.646391,
      "frequency": 1.578131
    },
    {
      "name": "Publication Instagram\u00a0: \ud83d\udc8b CONCOURS EXCLUSIF : LES...",
      "campaign_id": "120241998348190659",
      "spend": 79.98,
      "purchases_total": 0,
      "purchases_click": 0,
      "purchases_view": 0,
      "revenue_total": 0.0,
      "revenue_click": 0.0,
      "revenue_view": 0.0,
      "roas_total": 0.0,
      "roas_click": 0.0,
      "cpa": 0,
      "impressions": 14842,
      "clicks": 512,
      "ctr": 3.44967,
      "cpm": 5.388762,
      "frequency": 1.384386
    },
    {
      "name": "Publication Instagram\u00a0: Nouveau \ud83e\udee6 S\u00e9rum L\u00e8vres...",
      "campaign_id": "120239609692520659",
      "spend": 40.02,
      "purchases_total": 0,
      "purchases_click": 0,
      "purchases_view": 0,
      "revenue_total": 0.0,
      "revenue_click": 0.0,
      "revenue_view": 0.0,
      "roas_total": 0.0,
      "roas_click": 0.0,
      "cpa": 0,
      "impressions": 11902,
      "clicks": 201,
      "ctr": 1.688792,
      "cpm": 3.36246,
      "frequency": 1.234007
    },
    {
      "name": "Instagram Post",
      "campaign_id": "120240081476080659",
      "spend": 39.81,
      "purchases_total": 0,
      "purchases_click": 0,
      "purchases_view": 0,
      "revenue_total": 0.0,
      "revenue_click": 0.0,
      "revenue_view": 0.0,
      "roas_total": 0.0,
      "roas_click": 0.0,
      "cpa": 0,
      "impressions": 4059,
      "clicks": 144,
      "ctr": 3.547672,
      "cpm": 9.807834,
      "frequency": 1.194526
    }
  ],
  "checks": [
    {
      "check_id": "M01",
      "category": "pixel_capi",
      "check_name": "Meta Pixel installed",
      "severity": "critical",
      "result": "fail",
      "value": "0 active pixels",
      "detail": "No active pixels detected. Tracking data is unreliable.",
      "evidence": {},
      "quick_win": true,
      "fix_time_minutes": 15,
      "human_title": "Pixel installation status",
      "category_display": "Pixel / CAPI Health",
      "confidence": "UNVERIFIED"
    },
    {
      "check_id": "M02",
      "category": "pixel_capi",
      "check_name": "CAPI active",
      "severity": "critical",
      "result": "na",
      "value": "CAPI status unknown",
      "detail": "CAPI status cannot be fully verified via API. Deploy CAPI Gateway for 30-40% data recovery.",
      "evidence": {},
      "quick_win": true,
      "fix_time_minutes": 15,
      "human_title": "Server-side tracking (CAPI) status",
      "category_display": "Pixel / CAPI Health",
      "confidence": "UNVERIFIED"
    },
    {
      "check_id": "M03",
      "category": "pixel_capi",
      "check_name": "Event deduplication",
      "severity": "critical",
      "result": "na",
      "value": "Requires manual verification",
      "detail": "Event deduplication (event_id matching) requires Events Manager verification. Not available via API.",
      "evidence": {},
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Event deduplication between Pixel and CAPI",
      "category_display": "Pixel / CAPI Health",
      "confidence": "UNVERIFIED"
    },
    {
      "check_id": "M04",
      "category": "pixel_capi",
      "check_name": "EMQ score",
      "severity": "critical",
      "result": "na",
      "value": "Not available via API",
      "detail": "Event Match Quality scores are not available via the Marketing API. Check Events Manager manually. Target: >=8.0 for Purchase event.",
      "evidence": {},
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Event Match Quality score",
      "category_display": "Pixel / CAPI Health",
      "confidence": "UNVERIFIED"
    },
    {
      "check_id": "M05",
      "category": "pixel_capi",
      "check_name": "Domain verification",
      "severity": "high",
      "result": "na",
      "value": "Requires Business Manager check",
      "detail": "Domain verification status not fully available via API. Verify in Business Manager.",
      "evidence": {},
      "quick_win": true,
      "fix_time_minutes": 5,
      "human_title": "Domain verification in Business Manager",
      "category_display": "Pixel / CAPI Health",
      "confidence": "UNVERIFIED"
    },
    {
      "check_id": "M06",
      "category": "pixel_capi",
      "check_name": "AEM configured",
      "severity": "high",
      "result": "na",
      "value": "Requires Events Manager check",
      "detail": "AEM configuration (top 8 prioritized events) requires manual verification in Events Manager.",
      "evidence": {},
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Aggregated Event Measurement configuration",
      "category_display": "Pixel / CAPI Health",
      "confidence": "UNVERIFIED"
    },
    {
      "check_id": "M07",
      "category": "pixel_capi",
      "check_name": "Standard vs custom events",
      "severity": "high",
      "result": "na",
      "value": "Requires Events Manager check",
      "detail": "Event configuration details (standard vs custom) require manual verification.",
      "evidence": {},
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Standard vs custom event usage",
      "category_display": "Pixel / CAPI Health",
      "confidence": "UNVERIFIED"
    },
    {
      "check_id": "M08",
      "category": "pixel_capi",
      "check_name": "CAPI Gateway",
      "severity": "medium",
      "result": "na",
      "value": "Requires manual verification",
      "detail": "CAPI Gateway deployment status not available via API. Check Events Manager for server-side event sources.",
      "evidence": {},
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "CAPI Gateway deployment",
      "category_display": "Pixel / CAPI Health",
      "confidence": "UNVERIFIED"
    },
    {
      "check_id": "M09",
      "category": "pixel_capi",
      "check_name": "iOS attribution window",
      "severity": "high",
      "result": "warning",
      "value": "67% using 7d_click/1d_view",
      "detail": "10/15 use 7d/1d, 1 use 1d click only, 0 have other settings.",
      "evidence": {
        "7d_click_1d_view": 10,
        "1d_click_only": 1,
        "other": 0,
        "not_set": 4
      },
      "quick_win": true,
      "fix_time_minutes": 2,
      "human_title": "iOS attribution window configuration",
      "category_display": "Pixel / CAPI Health",
      "confidence": "VERIFIED"
    },
    {
      "check_id": "M10",
      "category": "pixel_capi",
      "check_name": "Data freshness",
      "severity": "medium",
      "result": "na",
      "value": "Requires Events Manager check",
      "detail": "Real-time event lag cannot be determined via the Marketing API snapshot.",
      "evidence": {},
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Data freshness and event lag",
      "category_display": "Pixel / CAPI Health",
      "confidence": "UNVERIFIED"
    },
    {
      "check_id": "M25",
      "category": "creative",
      "check_name": "Format diversity",
      "severity": "critical",
      "result": "warning",
      "value": "2 formats",
      "detail": "Only 2 formats (image, video). Add a third format for better reach.",
      "evidence": {
        "formats": [
          "image",
          "video"
        ],
        "unknown_count": 0
      },
      "quick_win": true,
      "fix_time_minutes": 15,
      "human_title": "Ad creative format diversity",
      "category_display": "Creative (Diversity & Fatigue)",
      "confidence": "VERIFIED"
    },
    {
      "check_id": "M26",
      "category": "creative",
      "check_name": "Creative volume per ad set",
      "severity": "high",
      "result": "fail",
      "value": "Avg 2.7 ads/adset",
      "detail": "Average 2.7 ads per active ad set. 6 ad set(s) have fewer than 3 ads \u2014 insufficient for optimization.",
      "evidence": {
        "avg_ads_per_adset": 2.7,
        "adsets_under_3": 6,
        "adsets_under_5": 6
      },
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Number of creatives per ad set",
      "category_display": "Creative (Diversity & Fatigue)",
      "confidence": "VERIFIED"
    },
    {
      "check_id": "M27",
      "category": "creative",
      "check_name": "Video aspect ratios",
      "severity": "high",
      "result": "warning",
      "value": "7 video creatives",
      "detail": "Found 7 video creatives. Verify that 9:16 aspect ratio is available for Reels/Stories placements.",
      "evidence": {
        "video_count": 7
      },
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Video aspect ratio coverage (9:16 for Reels)",
      "category_display": "Creative (Diversity & Fatigue)",
      "confidence": "ESTIMATED"
    },
    {
      "check_id": "M28",
      "category": "creative",
      "check_name": "Creative fatigue",
      "severity": "critical",
      "result": "pass",
      "value": "CTR change: +7.1%",
      "detail": "CTR stable or improving (+7.1%). Early: 1.81%, Recent: 1.94%, Frequency: 0.0.",
      "evidence": {
        "ctr_early": 1.811,
        "ctr_late": 1.94,
        "ctr_change_pct": 7.1,
        "frequency_late": 0
      },
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Creative fatigue detection",
      "category_display": "Creative (Diversity & Fatigue)",
      "confidence": "CALCULATED"
    },
    {
      "check_id": "M29",
      "category": "creative",
      "check_name": "Hook rate (video)",
      "severity": "high",
      "result": "na",
      "value": "Not available via API",
      "detail": "Video hook rate (skip rate in first 3 seconds) requires Ads Manager breakdown. Check video_p25_watched_actions for proxy.",
      "evidence": {},
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Video hook rate (3-second retention)",
      "category_display": "Creative (Diversity & Fatigue)",
      "confidence": "UNVERIFIED"
    },
    {
      "check_id": "M30",
      "category": "creative",
      "check_name": "Social proof / organic boosting",
      "severity": "medium",
      "result": "fail",
      "value": "0% boosted",
      "detail": "Only 0/114 (0%) creatives use organic posts. Boosting organic content adds social proof (likes, comments, shares).",
      "evidence": {
        "with_story_id": 0,
        "total": 114
      },
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Social proof through organic post boosting",
      "category_display": "Creative (Diversity & Fatigue)",
      "confidence": "CALCULATED"
    },
    {
      "check_id": "M31",
      "category": "creative",
      "check_name": "UGC content",
      "severity": "high",
      "result": "na",
      "value": "Requires manual review",
      "detail": "UGC vs corporate creative classification requires visual inspection. Target: >=30% UGC/social-native content.",
      "evidence": {},
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "User-generated content (UGC) proportion",
      "category_display": "Creative (Diversity & Fatigue)",
      "confidence": "UNVERIFIED"
    },
    {
      "check_id": "M32",
      "category": "creative",
      "check_name": "Advantage+ Creative",
      "severity": "medium",
      "result": "warning",
      "value": "0 with enhancements",
      "detail": "No creatives using Advantage+ Creative enhancements. Test enabling for automated format/text optimization.",
      "evidence": {},
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Advantage+ Creative enhancements",
      "category_display": "Creative (Diversity & Fatigue)",
      "confidence": "VERIFIED"
    },
    {
      "check_id": "M-CR1",
      "category": "creative",
      "check_name": "Creative freshness",
      "severity": "high",
      "result": "pass",
      "value": "Newest ad: 1 days",
      "detail": "Most recent ad created 1 days ago. Fresh creative is being tested.",
      "evidence": {},
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Creative freshness (days since newest ad)",
      "category_display": "Creative (Diversity & Fatigue)",
      "confidence": "VERIFIED"
    },
    {
      "check_id": "M-CR2",
      "category": "creative",
      "check_name": "Frequency \u2014 Prospecting",
      "severity": "high",
      "result": "na",
      "value": "No frequency data",
      "detail": "Frequency data not available in insights.",
      "evidence": {},
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Ad frequency for prospecting audiences",
      "category_display": "Creative (Diversity & Fatigue)",
      "confidence": "UNVERIFIED"
    },
    {
      "check_id": "M-CR3",
      "category": "creative",
      "check_name": "Frequency \u2014 Retargeting",
      "severity": "medium",
      "result": "na",
      "value": "No frequency data",
      "detail": "Frequency data not available.",
      "evidence": {},
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Ad frequency for retargeting audiences",
      "category_display": "Creative (Diversity & Fatigue)",
      "confidence": "UNVERIFIED"
    },
    {
      "check_id": "M-CR4",
      "category": "creative",
      "check_name": "CTR benchmark",
      "severity": "high",
      "result": "pass",
      "value": "CTR: 1.87%",
      "detail": "Overall CTR is 1.87% \u2014 above 1.0% benchmark.",
      "evidence": {
        "ctr": 1.867,
        "clicks": 42997,
        "impressions": 2303098
      },
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Click-through rate vs industry benchmark",
      "category_display": "Creative (Diversity & Fatigue)",
      "confidence": "CALCULATED"
    },
    {
      "check_id": "M-CR5",
      "category": "creative",
      "check_name": "Creative-demographic alignment",
      "severity": "high",
      "result": "na",
      "value": "Requires age/gender breakdown",
      "detail": "Age/gender engagement vs conversion breakdown not available in current data pull. Requires separate insights query with age,gender breakdown per creative.",
      "evidence": {},
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Creative-demographic alignment",
      "category_display": "Creative (Diversity & Fatigue)",
      "confidence": "UNVERIFIED"
    },
    {
      "check_id": "M-CR6",
      "category": "creative",
      "check_name": "Text overlay / USP presence",
      "severity": "medium",
      "result": "fail",
      "value": "0% with text",
      "detail": "Only 0/114 (0%) creatives have text/USP. Creatives lack context \u2014 add text overlays with value propositions.",
      "evidence": {
        "with_text": 0,
        "total": 114
      },
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Value proposition in ad text",
      "category_display": "Creative (Diversity & Fatigue)",
      "confidence": "ESTIMATED"
    },
    {
      "check_id": "M-CR7",
      "category": "creative",
      "check_name": "Persona-creative match",
      "severity": "medium",
      "result": "pass",
      "value": "0/105 identical pairs",
      "detail": "Different creative sets across audience segments \u2014 good persona matching.",
      "evidence": {},
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Creative differentiation across audiences",
      "category_display": "Creative (Diversity & Fatigue)",
      "confidence": "CALCULATED"
    },
    {
      "check_id": "M11",
      "category": "structure",
      "check_name": "Campaign count",
      "severity": "high",
      "result": "warning",
      "value": "6 active campaigns",
      "detail": "6 active campaigns. Slightly fragmented \u2014 consider consolidating to improve learning phase efficiency.",
      "evidence": {
        "active_campaigns": 6,
        "total_campaigns": 10
      },
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Number of active campaigns (consolidation)",
      "category_display": "Account Structure",
      "confidence": "VERIFIED"
    },
    {
      "check_id": "M12",
      "category": "structure",
      "check_name": "CBO vs ABO",
      "severity": "high",
      "result": "pass",
      "value": "67% CBO",
      "detail": "4/6 active campaigns use CBO (Campaign Budget Optimization). Good \u2014 lets Meta optimize budget across ad sets.",
      "evidence": {
        "cbo_count": 4,
        "abo_count": 2
      },
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Campaign Budget Optimization (CBO) adoption",
      "category_display": "Account Structure",
      "confidence": "VERIFIED"
    },
    {
      "check_id": "M13",
      "category": "structure",
      "check_name": "Learning phase",
      "severity": "critical",
      "result": "na",
      "value": "Learning phase data not available",
      "detail": "learning_phase_info not returned for active ad sets. Check Ads Manager directly.",
      "evidence": {},
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Learning phase health across ad sets",
      "category_display": "Account Structure",
      "confidence": "UNVERIFIED"
    },
    {
      "check_id": "M14",
      "category": "structure",
      "check_name": "Learning resets",
      "severity": "high",
      "result": "na",
      "value": "Requires edit history",
      "detail": "Learning phase reset detection requires campaign edit history, which is not available from a single data snapshot.",
      "evidence": {},
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Learning phase reset frequency",
      "category_display": "Account Structure",
      "confidence": "UNVERIFIED"
    },
    {
      "check_id": "M15",
      "category": "structure",
      "check_name": "Advantage+ Sales",
      "severity": "medium",
      "result": "pass",
      "value": "3 ASC campaigns",
      "detail": "Found 3 ASC/Advantage+ campaigns (2 active). ASC is being tested.",
      "evidence": {
        "asc_campaigns": [
          "NM.|Products|Social|ASC|FR|Co-pub",
          "NM.|Products|Social|ASC|FR|Scaling",
          "NM.|Products|Social|ASC|FR|Testing"
        ]
      },
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Advantage+ Shopping Campaigns testing",
      "category_display": "Account Structure",
      "confidence": "VERIFIED"
    },
    {
      "check_id": "M16",
      "category": "structure",
      "check_name": "Ad set consolidation",
      "severity": "high",
      "result": "fail",
      "value": "7 overlapping pairs",
      "detail": "7/7 ad set pairs share similar targeting. Significant audience overlap \u2014 your ads are competing against each other. Consolidate similar ad sets.",
      "evidence": {},
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Ad set audience overlap / cannibalization",
      "category_display": "Account Structure",
      "confidence": "CALCULATED"
    },
    {
      "check_id": "M17",
      "category": "structure",
      "check_name": "Budget distribution",
      "severity": "high",
      "result": "pass",
      "value": "Avg EUR 21.67/day",
      "detail": "All 6 ad sets with budgets are >=EUR 10/day. Average: EUR 21.67/day.",
      "evidence": {
        "under_5_eur": 0,
        "under_10_eur": 0,
        "avg_budget_eur": 21.67
      },
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Minimum daily budget per ad set",
      "category_display": "Account Structure",
      "confidence": "VERIFIED"
    },
    {
      "check_id": "M18",
      "category": "structure",
      "check_name": "Objective alignment",
      "severity": "high",
      "result": "fail",
      "value": "3 misaligned",
      "detail": "3/6 active campaigns use non-sales objectives. Misaligned objectives waste budget on non-purchase actions.",
      "evidence": {
        "misaligned": [
          {
            "name": "Publication Instagram\u00a0: \ud83d\udc8b CONCOURS EXCLUSIF : LES...",
            "objective": "LINK_CLICKS"
          },
          {
            "name": "Instagram Post",
            "objective": "LINK_CLICKS"
          },
          {
            "name": "Publication Instagram\u00a0: CONCOURS EXCLUSIF \ud83d\udc8b : 5...",
            "objective": "LINK_CLICKS"
          }
        ]
      },
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Campaign objective alignment with sales goal",
      "category_display": "Account Structure",
      "confidence": "VERIFIED"
    },
    {
      "check_id": "M33",
      "category": "structure",
      "check_name": "Advantage+ Placements",
      "severity": "medium",
      "result": "warning",
      "value": "70% automatic",
      "detail": "3/10 ad sets use manual placements. Consider enabling Advantage+ unless specific placement exclusions are justified.",
      "evidence": {},
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Advantage+ Placements usage",
      "category_display": "Account Structure",
      "confidence": "VERIFIED"
    },
    {
      "check_id": "M34",
      "category": "structure",
      "check_name": "Placement review",
      "severity": "medium",
      "result": "pass",
      "value": "6 platforms active",
      "detail": "Placement breakdown available across 6 platforms: {'instagram': '70.9%', 'facebook': '28.7%', 'audience_network': '0.5%', 'messenger': '0.0%', 'threads': '0.0%', 'unknown': '0.0%'}.",
      "evidence": {
        "spend_by_platform": {
          "audience_network": 123.11,
          "facebook": 7660.18,
          "instagram": 18943.17,
          "messenger": 0.04,
          "threads": 0.03,
          "unknown": 0.0
        }
      },
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Multi-platform placement distribution",
      "category_display": "Account Structure",
      "confidence": "VERIFIED"
    },
    {
      "check_id": "M35",
      "category": "structure",
      "check_name": "Attribution setting",
      "severity": "high",
      "result": "warning",
      "value": "70% correct",
      "detail": "7/10 use recommended 7d/1d setting. Standardize attribution windows across all ad sets.",
      "evidence": {},
      "quick_win": true,
      "fix_time_minutes": 2,
      "human_title": "Attribution window standardization",
      "category_display": "Account Structure",
      "confidence": "VERIFIED"
    },
    {
      "check_id": "M36",
      "category": "structure",
      "check_name": "Bid strategy",
      "severity": "high",
      "result": "pass",
      "value": "4x LOWEST_COST_WITHOUT_CAP, 2x NOT_SET",
      "detail": "Bid strategies: 4x LOWEST_COST_WITHOUT_CAP, 2x NOT_SET.",
      "evidence": {
        "LOWEST_COST_WITHOUT_CAP": 4,
        "NOT_SET": 2
      },
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Bid strategy optimization",
      "category_display": "Account Structure",
      "confidence": "VERIFIED"
    },
    {
      "check_id": "M37",
      "category": "structure",
      "check_name": "Campaign frequency",
      "severity": "high",
      "result": "na",
      "value": "No frequency data",
      "detail": "Frequency data not available.",
      "evidence": {},
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Overall campaign frequency control",
      "category_display": "Account Structure",
      "confidence": "UNVERIFIED"
    },
    {
      "check_id": "M38",
      "category": "structure",
      "check_name": "Breakdown reporting",
      "severity": "medium",
      "result": "na",
      "value": "Requires process review",
      "detail": "Breakdown reporting frequency (monthly/quarterly/never) cannot be determined from an API snapshot. Recommend monthly review of age, gender, placement breakdowns.",
      "evidence": {},
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Breakdown effect monitoring",
      "category_display": "Account Structure",
      "confidence": "UNVERIFIED"
    },
    {
      "check_id": "M39",
      "category": "structure",
      "check_name": "UTM parameters",
      "severity": "medium",
      "result": "na",
      "value": "Requires ad URL inspection",
      "detail": "UTM parameter presence requires checking ad preview URLs or URL templates, which are not in the current data pull. Add UTMs at campaign level.",
      "evidence": {},
      "quick_win": true,
      "fix_time_minutes": 5,
      "human_title": "UTM parameter implementation",
      "category_display": "Account Structure",
      "confidence": "UNVERIFIED"
    },
    {
      "check_id": "M40",
      "category": "structure",
      "check_name": "A/B testing",
      "severity": "medium",
      "result": "na",
      "value": "Requires Experiments review",
      "detail": "A/B testing activity requires checking Meta Experiments tool. Not available via standard campaign/ad set data.",
      "evidence": {},
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "A/B testing activity",
      "category_display": "Account Structure",
      "confidence": "UNVERIFIED"
    },
    {
      "check_id": "M-ST1",
      "category": "structure",
      "check_name": "Budget adequacy",
      "severity": "high",
      "result": "fail",
      "value": "Avg CPA: EUR 28.99",
      "detail": "6/6 ad sets have budget <2x CPA (EUR 28.99). Budgets too low for meaningful optimization. Consolidate or increase.",
      "evidence": {
        "avg_cpa": 28.99,
        "adequate": 0,
        "inadequate": 6
      },
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Budget adequacy for learning phase exit",
      "category_display": "Account Structure",
      "confidence": "CALCULATED"
    },
    {
      "check_id": "M-ST2",
      "category": "structure",
      "check_name": "Budget utilization",
      "severity": "medium",
      "result": "fail",
      "value": "1% utilization",
      "detail": "Average budget utilization: 1%. 6 ad sets below 60%. Significant budget waste \u2014 audiences too narrow or bids too low.",
      "evidence": {},
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Budget utilization rate",
      "category_display": "Account Structure",
      "confidence": "CALCULATED"
    },
    {
      "check_id": "M19",
      "category": "audience",
      "check_name": "Audience overlap",
      "severity": "high",
      "result": "warning",
      "value": "29% overlap",
      "detail": "13/45 pairs (29%) have similar targeting. Some overlap detected \u2014 may cause auction self-competition.",
      "evidence": {},
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Audience overlap between ad sets",
      "category_display": "Audience & Targeting",
      "confidence": "ESTIMATED"
    },
    {
      "check_id": "M20",
      "category": "audience",
      "check_name": "Custom Audience freshness",
      "severity": "high",
      "result": "access_blocked",
      "value": "Audience data not accessible",
      "detail": "Custom audience data not accessible \u2014 cannot verify freshness.",
      "evidence": {},
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Custom audience data freshness",
      "category_display": "Audience & Targeting",
      "confidence": "ACCESS_BLOCKED"
    },
    {
      "check_id": "M21",
      "category": "audience",
      "check_name": "Lookalike source quality",
      "severity": "medium",
      "result": "access_blocked",
      "value": "Audience data not accessible",
      "detail": "Audience data not accessible \u2014 cannot evaluate lookalike source quality.",
      "evidence": {},
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Lookalike audience source quality",
      "category_display": "Audience & Targeting",
      "confidence": "ACCESS_BLOCKED"
    },
    {
      "check_id": "M22",
      "category": "audience",
      "check_name": "Advantage+ Audience",
      "severity": "medium",
      "result": "pass",
      "value": "100% with Advantage+",
      "detail": "10/10 ad sets (100%) use Advantage+ Audience / targeting automation. Testing broad audiences alongside manual targeting.",
      "evidence": {},
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Advantage+ Audience automation",
      "category_display": "Audience & Targeting",
      "confidence": "VERIFIED"
    },
    {
      "check_id": "M23",
      "category": "audience",
      "check_name": "Exclusion audiences",
      "severity": "high",
      "result": "warning",
      "value": "62% with exclusions",
      "detail": "Only 5/8 prospecting ad sets (62%) have exclusions. Some prospecting budget may be spent on existing customers.",
      "evidence": {},
      "quick_win": true,
      "fix_time_minutes": 10,
      "human_title": "Purchaser exclusion from prospecting",
      "category_display": "Audience & Targeting",
      "confidence": "VERIFIED"
    },
    {
      "check_id": "M24",
      "category": "audience",
      "check_name": "First-party data & ESP sync",
      "severity": "high",
      "result": "access_blocked",
      "value": "Audience data not accessible",
      "detail": "Audience data not accessible \u2014 cannot verify CRM upload or ESP sync.",
      "evidence": {},
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "CRM / first-party data sync freshness",
      "category_display": "Audience & Targeting",
      "confidence": "ACCESS_BLOCKED"
    },
    {
      "check_id": "M-AU1",
      "category": "audience",
      "check_name": "Placement-audience coherence",
      "severity": "medium",
      "result": "pass",
      "value": "IG 71% / FB 29%",
      "detail": "Platform split: IG 71% / FB 29%. Target age ~42 \u2014 platform mix is appropriate.",
      "evidence": {
        "instagram_pct": 70.9,
        "facebook_pct": 28.7,
        "avg_target_age": 41.5
      },
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Placement-demographic alignment (IG vs FB)",
      "category_display": "Audience & Targeting",
      "confidence": "VERIFIED"
    },
    {
      "check_id": "M-AU2",
      "category": "audience",
      "check_name": "Demographic reach vs conversion alignment",
      "severity": "high",
      "result": "na",
      "value": "Requires age/gender breakdown",
      "detail": "Demographic reach vs conversion alignment requires insights with age,gender breakdown, which is not in the current data pull.",
      "evidence": {},
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Demographic reach vs conversion efficiency",
      "category_display": "Audience & Targeting",
      "confidence": "UNVERIFIED"
    },
    {
      "check_id": "M-AT1",
      "category": "funnel",
      "check_name": "Post-view vs post-click attribution ratio",
      "severity": "critical",
      "result": "pass",
      "value": "22.0% post-view",
      "detail": "Only 22.0% of conversions are post-view (1d_view). Healthy click-driven conversions \u2014 ROAS is reliable. Reported ROAS: 1.69x, Click-only ROAS: 1.25x.",
      "evidence": {
        "purchases_click": 719,
        "purchases_view": 203,
        "total_purchases": 922,
        "post_view_pct": 22.0,
        "reported_roas": 1.69,
        "click_only_roas": 1.25,
        "value_click": 33409.61,
        "value_view": 11891.66
      },
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Post-view attribution inflation risk",
      "category_display": "Funnel & Strategy",
      "confidence": "CALCULATED"
    },
    {
      "check_id": "M-FA1",
      "category": "funnel",
      "check_name": "False retargeting detection",
      "severity": "critical",
      "result": "pass",
      "value": "0/1 false RTG",
      "detail": "All 1 non-ASC retargeting campaigns have custom audiences defined. Retargeting is properly configured.",
      "evidence": {
        "false_rtg": [],
        "true_rtg": [
          "NM.|Products|Social|Retargeting|WV+SME|FR|Conversions_Achat"
        ],
        "asc_exceptions": []
      },
      "quick_win": false,
      "fix_time_minutes": 10,
      "human_title": "False retargeting campaign detection",
      "category_display": "Funnel & Strategy",
      "confidence": "CALCULATED"
    },
    {
      "check_id": "M-ST3",
      "category": "funnel",
      "check_name": "ASC+ existing customer budget cap",
      "severity": "high",
      "result": "warning",
      "value": "3 ASC campaigns",
      "detail": "Found 3 ASC campaigns (2 active) but no existing customer budget cap detected. Without a cap, ASC defaults to spending on existing customers who would have purchased anyway. Set cap <=20% for growth.",
      "evidence": {
        "asc_campaigns": [
          "NM.|Products|Social|ASC|FR|Co-pub",
          "NM.|Products|Social|ASC|FR|Scaling",
          "NM.|Products|Social|ASC|FR|Testing"
        ],
        "caps_found": [],
        "caps_missing": [
          "NM.|Products|Social|ASC|FR|Co-pub",
          "NM.|Products|Social|ASC|FR|Scaling",
          "NM.|Products|Social|ASC|FR|Testing"
        ]
      },
      "quick_win": true,
      "fix_time_minutes": 2,
      "human_title": "ASC existing customer budget cap",
      "category_display": "Funnel & Strategy",
      "confidence": "ESTIMATED"
    },
    {
      "check_id": "M-ST4",
      "category": "funnel",
      "check_name": "Funnel-stage budget split",
      "severity": "high",
      "result": "pass",
      "value": "Prosp: 77% / RTG: 23% / Ret: 0%",
      "detail": "Prospecting gets 77% of budget \u2014 healthy growth-oriented split. RTG: 23%, Retention: 0%.",
      "evidence": {
        "stage_budgets": {
          "prospecting": 100.0,
          "retargeting": 30.0,
          "retention": 0.0
        },
        "stage_campaigns": {
          "prospecting": [
            "Publication Instagram\u00a0: \ud83d\udc8b CONCOURS EXCLUSIF : LES...",
            "NM.|Products|Social|ASC|FR|Scaling",
            "NM.|Products|Social|ASC|FR|Testing",
            "Instagram Post",
            "Publication Instagram\u00a0: CONCOURS EXCLUSIF \ud83d\udc8b : 5..."
          ],
          "retargeting": [
            "NM.|Products|Social|Retargeting|WV+SME|FR|Conversions_Achat"
          ],
          "retention": []
        },
        "prosp_pct": 76.9,
        "rtg_pct": 23.1,
        "ret_pct": 0.0
      },
      "quick_win": false,
      "fix_time_minutes": 0,
      "human_title": "Prospecting vs retargeting budget split",
      "category_display": "Funnel & Strategy",
      "confidence": "CALCULATED"
    }
  ],
  "quick_wins": [
    {
      "check_id": "M01",
      "name": "Meta Pixel installed",
      "fix_time_minutes": 15,
      "detail": "No active pixels detected. Tracking data is unreliable."
    },
    {
      "check_id": "M09",
      "name": "iOS attribution window",
      "fix_time_minutes": 2,
      "detail": "10/15 use 7d/1d, 1 use 1d click only, 0 have other settings."
    },
    {
      "check_id": "M25",
      "name": "Format diversity",
      "fix_time_minutes": 15,
      "detail": "Only 2 formats (image, video). Add a third format for better reach."
    },
    {
      "check_id": "M35",
      "name": "Attribution setting",
      "fix_time_minutes": 2,
      "detail": "7/10 use recommended 7d/1d setting. Standardize attribution windows across all ad sets."
    },
    {
      "check_id": "M23",
      "name": "Exclusion audiences",
      "fix_time_minutes": 10,
      "detail": "Only 5/8 prospecting ad sets (62%) have exclusions. Some prospecting budget may be spent on existing customers."
    },
    {
      "check_id": "M-ST3",
      "name": "ASC+ existing customer budget cap",
      "fix_time_minutes": 2,
      "detail": "Found 3 ASC campaigns (2 active) but no existing customer budget cap detected. Without a cap, ASC defaults to spending on existing customers who would have purchased anyway. Set cap <=20% for growth."
    }
  ],
  "confidence_summary": {
    "VERIFIED": 17,
    "CALCULATED": 10,
    "ESTIMATED": 4,
    "UNVERIFIED": 21,
    "ACCESS_BLOCKED": 3
  },
  "sanity_checks": {
    "check_1_roas": "PASS",
    "check_2_aov": "PASS",
    "check_3_spend": "PASS",
    "check_4_attribution": {
      "total_purchases": 922,
      "click_purchases": 719,
      "view_purchases": 203,
      "post_view_pct": 22.0,
      "reported_roas": 1.69,
      "click_roas": 1.25
    },
    "check_5_false_rtg": {
      "flagged": 0,
      "asc_exceptions": 0,
      "true_rtg": 1,
      "flags": []
    },
    "all_pass": true,
    "summary": {
      "spend": 26726.53,
      "revenue_total": 45301.27,
      "revenue_click": 33409.61,
      "revenue_view": 11891.659999999996,
      "purchases_total": 922,
      "purchases_click": 719,
      "purchases_view": 203,
      "reported_roas": 1.695,
      "click_roas": 1.2501,
      "api_roas": 1.694993,
      "implied_aov": 49.13,
      "post_view_pct": 22.0
    }
  },
  "trends": [
    {
      "date_start": "2025-09-02",
      "date_stop": "2025-09-30",
      "month": "2025-09",
      "spend": 5075.28,
      "impressions": 408514,
      "clicks": 8150,
      "purchases": 165,
      "revenue": 8005.68,
      "roas": 1.5774,
      "cpa": 30.76,
      "cpm": 12.42,
      "ctr": 1.995
    },
    {
      "date_start": "2025-10-01",
      "date_stop": "2025-10-31",
      "month": "2025-10",
      "spend": 4188.56,
      "impressions": 357972,
      "clicks": 6813,
      "purchases": 142,
      "revenue": 6647.45,
      "roas": 1.587,
      "cpa": 29.5,
      "cpm": 11.7,
      "ctr": 1.9032
    },
    {
      "date_start": "2025-11-01",
      "date_stop": "2025-11-30",
      "month": "2025-11",
      "spend": 6791.25,
      "impressions": 574096,
      "clicks": 8438,
      "purchases": 195,
      "revenue": 10193.24,
      "roas": 1.5009,
      "cpa": 34.83,
      "cpm": 11.83,
      "ctr": 1.4698
    },
    {
      "date_start": "2025-12-01",
      "date_stop": "2025-12-31",
      "month": "2025-12",
      "spend": 8051.83,
      "impressions": 552039,
      "clicks": 10373,
      "purchases": 291,
      "revenue": 13094.55,
      "roas": 1.6263,
      "cpa": 27.67,
      "cpm": 14.59,
      "ctr": 1.879
    },
    {
      "date_start": "2026-01-01",
      "date_stop": "2026-01-31",
      "month": "2026-01",
      "spend": 11645.02,
      "impressions": 1057178,
      "clicks": 18893,
      "purchases": 416,
      "revenue": 21262.81,
      "roas": 1.8259,
      "cpa": 27.99,
      "cpm": 11.02,
      "ctr": 1.7871
    },
    {
      "date_start": "2026-02-01",
      "date_stop": "2026-02-28",
      "month": "2026-02",
      "spend": 6749.9,
      "impressions": 664534,
      "clicks": 13142,
      "purchases": 203,
      "revenue": 10187.01,
      "roas": 1.5092,
      "cpa": 33.25,
      "cpm": 10.16,
      "ctr": 1.9776
    },
    {
      "date_start": "2026-03-01",
      "date_stop": "2026-03-02",
      "month": "2026-03",
      "spend": 479.02,
      "impressions": 46266,
      "clicks": 838,
      "purchases": 17,
      "revenue": 950.4,
      "roas": 1.9841,
      "cpa": 28.18,
      "cpm": 10.35,
      "ctr": 1.8113
    }
  ],
  "trends_campaigns": [
    {
      "date_start": "2025-09-02",
      "date_stop": "2025-09-30",
      "month": "2025-09",
      "spend": 292.23,
      "impressions": 36516,
      "clicks": 764,
      "purchases": 2,
      "revenue": 57.3,
      "roas": 0.1961,
      "cpa": 146.12,
      "cpm": 8.0,
      "ctr": 2.0922,
      "campaign_name": "NM.|Lead_Generation|Social",
      "campaign_id": "120211525407360659"
    },
    {
      "date_start": "2025-09-02",
      "date_stop": "2025-09-30",
      "month": "2025-09",
      "spend": 199.6,
      "impressions": 17703,
      "clicks": 292,
      "purchases": 12,
      "revenue": 716.55,
      "roas": 3.5899,
      "cpa": 16.63,
      "cpm": 11.27,
      "ctr": 1.6494,
      "campaign_name": "NM.|Products|Social|ASC|FR|Co-pub",
      "campaign_id": "120229824074960659"
    },
    {
      "date_start": "2025-09-02",
      "date_stop": "2025-09-30",
      "month": "2025-09",
      "spend": 1296.83,
      "impressions": 83579,
      "clicks": 1700,
      "purchases": 38,
      "revenue": 1513.15,
      "roas": 1.1668,
      "cpa": 34.13,
      "cpm": 15.52,
      "ctr": 2.034,
      "campaign_name": "NM.|Products|Social|Retargeting|WV+SME|FR|Conversions_Achat",
      "campaign_id": "120229825112530659"
    },
    {
      "date_start": "2025-09-02",
      "date_stop": "2025-09-30",
      "month": "2025-09",
      "spend": 695.67,
      "impressions": 45404,
      "clicks": 918,
      "purchases": 26,
      "revenue": 1475.55,
      "roas": 2.121,
      "cpa": 26.76,
      "cpm": 15.32,
      "ctr": 2.0218,
      "campaign_name": "NM.|Products|Social|Fidelisation|Repeat_Purchases|FR/LU/BE|Conversions_Website_Purchase(new2)",
      "campaign_id": "120229826094440659"
    },
    {
      "date_start": "2025-09-02",
      "date_stop": "2025-09-30",
      "month": "2025-09",
      "spend": 2416.64,
      "impressions": 210736,
      "clicks": 4307,
      "purchases": 84,
      "revenue": 4063.38,
      "roas": 1.6814,
      "cpa": 28.77,
      "cpm": 11.47,
      "ctr": 2.0438,
      "campaign_name": "NM.|Products|Social|ASC|FR|Scaling",
      "campaign_id": "120233910688500659"
    },
    {
      "date_start": "2025-09-02",
      "date_stop": "2025-09-30",
      "month": "2025-09",
      "spend": 174.31,
      "impressions": 14576,
      "clicks": 169,
      "purchases": 3,
      "revenue": 179.75,
      "roas": 1.0312,
      "cpa": 58.1,
      "cpm": 11.96,
      "ctr": 1.1594,
      "campaign_name": "NM.|Products|Social|ASC|FR|DPA Campagne|Channable",
      "campaign_id": "120234870361140659"
    },
    {
      "date_start": "2025-10-01",
      "date_stop": "2025-10-31",
      "month": "2025-10",
      "spend": 1037.77,
      "impressions": 79620,
      "clicks": 1697,
      "purchases": 39,
      "revenue": 1746.8,
      "roas": 1.6832,
      "cpa": 26.61,
      "cpm": 13.03,
      "ctr": 2.1314,
      "campaign_name": "NM.|Products|Social|ASC|FR|Co-pub",
      "campaign_id": "120229824074960659"
    },
    {
      "date_start": "2025-10-01",
      "date_stop": "2025-10-31",
      "month": "2025-10",
      "spend": 871.42,
      "impressions": 70900,
      "clicks": 1465,
      "purchases": 26,
      "revenue": 1378.0,
      "roas": 1.5813,
      "cpa": 33.52,
      "cpm": 12.29,
      "ctr": 2.0663,
      "campaign_name": "NM.|Products|Social|Retargeting|WV+SME|FR|Conversions_Achat",
      "campaign_id": "120229825112530659"
    },
    {
      "date_start": "2025-10-01",
      "date_stop": "2025-10-31",
      "month": "2025-10",
      "spend": 429.8,
      "impressions": 31268,
      "clicks": 599,
      "purchases": 20,
      "revenue": 993.7,
      "roas": 2.312,
      "cpa": 21.49,
      "cpm": 13.75,
      "ctr": 1.9157,
      "campaign_name": "NM.|Products|Social|Fidelisation|Repeat_Purchases|FR/LU/BE|Conversions_Website_Purchase(new2)",
      "campaign_id": "120229826094440659"
    },
    {
      "date_start": "2025-10-01",
      "date_stop": "2025-10-31",
      "month": "2025-10",
      "spend": 1196.41,
      "impressions": 105154,
      "clicks": 2101,
      "purchases": 35,
      "revenue": 1553.25,
      "roas": 1.2983,
      "cpa": 34.18,
      "cpm": 11.38,
      "ctr": 1.998,
      "campaign_name": "NM.|Products|Social|ASC|FR|Scaling",
      "campaign_id": "120233910688500659"
    },
    {
      "date_start": "2025-10-01",
      "date_stop": "2025-10-31",
      "month": "2025-10",
      "spend": 133.5,
      "impressions": 11613,
      "clicks": 114,
      "purchases": 2,
      "revenue": 108.55,
      "roas": 0.8131,
      "cpa": 66.75,
      "cpm": 11.5,
      "ctr": 0.9817,
      "campaign_name": "NM.|Products|Social|ASC|FR|DPA Campagne|Channable",
      "campaign_id": "120234870361140659"
    },
    {
      "date_start": "2025-10-01",
      "date_stop": "2025-10-31",
      "month": "2025-10",
      "spend": 519.66,
      "impressions": 59417,
      "clicks": 837,
      "purchases": 20,
      "revenue": 867.15,
      "roas": 1.6687,
      "cpa": 25.98,
      "cpm": 8.75,
      "ctr": 1.4087,
      "campaign_name": "NM.|Products|Social|Prospecting|Catalogsales|",
      "campaign_id": "120236319983500659"
    },
    {
      "date_start": "2025-11-01",
      "date_stop": "2025-11-30",
      "month": "2025-11",
      "spend": 40.48,
      "impressions": 10486,
      "clicks": 178,
      "purchases": 0,
      "revenue": 0.0,
      "roas": 0.0,
      "cpa": 0,
      "cpm": 3.86,
      "ctr": 1.6975,
      "campaign_name": "NM.|Products|Trafic|Landing-Page-View",
      "campaign_id": "120211886238780659"
    },
    {
      "date_start": "2025-11-01",
      "date_stop": "2025-11-30",
      "month": "2025-11",
      "spend": 894.14,
      "impressions": 66734,
      "clicks": 1579,
      "purchases": 32,
      "revenue": 1637.5,
      "roas": 1.8314,
      "cpa": 27.94,
      "cpm": 13.4,
      "ctr": 2.3661,
      "campaign_name": "NM.|Products|Social|ASC|FR|Co-pub",
      "campaign_id": "120229824074960659"
    },
    {
      "date_start": "2025-11-01",
      "date_stop": "2025-11-30",
      "month": "2025-11",
      "spend": 523.26,
      "impressions": 35341,
      "clicks": 529,
      "purchases": 14,
      "revenue": 713.9,
      "roas": 1.3643,
      "cpa": 37.38,
      "cpm": 14.81,
      "ctr": 1.4968,
      "campaign_name": "NM.|Products|Social|Retargeting|WV+SME|FR|Conversions_Achat",
      "campaign_id": "120229825112530659"
    },
    {
      "date_start": "2025-11-01",
      "date_stop": "2025-11-30",
      "month": "2025-11",
      "spend": 1033.18,
      "impressions": 69259,
      "clicks": 1181,
      "purchases": 48,
      "revenue": 2721.05,
      "roas": 2.6337,
      "cpa": 21.52,
      "cpm": 14.92,
      "ctr": 1.7052,
      "campaign_name": "NM.|Products|Social|Fidelisation|Repeat_Purchases|FR/LU/BE|Conversions_Website_Purchase(new2)",
      "campaign_id": "120229826094440659"
    },
    {
      "date_start": "2025-11-01",
      "date_stop": "2025-11-30",
      "month": "2025-11",
      "spend": 3124.18,
      "impressions": 269006,
      "clicks": 3575,
      "purchases": 77,
      "revenue": 3720.89,
      "roas": 1.191,
      "cpa": 40.57,
      "cpm": 11.61,
      "ctr": 1.329,
      "campaign_name": "NM.|Products|Social|ASC|FR|Scaling",
      "campaign_id": "120233910688500659"
    },
    {
      "date_start": "2025-11-01",
      "date_stop": "2025-11-30",
      "month": "2025-11",
      "spend": 1167.41,
      "impressions": 122574,
      "clicks": 1388,
      "purchases": 24,
      "revenue": 1399.9,
      "roas": 1.1992,
      "cpa": 48.64,
      "cpm": 9.52,
      "ctr": 1.1324,
      "campaign_name": "NM.|Products|Social|Prospecting|Catalogsales|",
      "campaign_id": "120236319983500659"
    },
    {
      "date_start": "2025-11-01",
      "date_stop": "2025-11-30",
      "month": "2025-11",
      "spend": 8.6,
      "impressions": 696,
      "clicks": 8,
      "purchases": 0,
      "revenue": 0.0,
      "roas": 0.0,
      "cpa": 0,
      "cpm": 12.36,
      "ctr": 1.1494,
      "campaign_name": "NM.|Products|Social|ASC|FR - OFFRES",
      "campaign_id": "120238159444720659"
    },
    {
      "date_start": "2025-12-01",
      "date_stop": "2025-12-31",
      "month": "2025-12",
      "spend": 15.05,
      "impressions": 4465,
      "clicks": 80,
      "purchases": 0,
      "revenue": 0.0,
      "roas": 0.0,
      "cpa": 0,
      "cpm": 3.37,
      "ctr": 1.7917,
      "campaign_name": "NM.|Products|Trafic|Landing-Page-View",
      "campaign_id": "120211886238780659"
    },
    {
      "date_start": "2025-12-01",
      "date_stop": "2025-12-31",
      "month": "2025-12",
      "spend": 1510.0,
      "impressions": 97505,
      "clicks": 2380,
      "purchases": 61,
      "revenue": 3318.87,
      "roas": 2.1979,
      "cpa": 24.75,
      "cpm": 15.49,
      "ctr": 2.4409,
      "campaign_name": "NM.|Products|Social|ASC|FR|Co-pub",
      "campaign_id": "120229824074960659"
    },
    {
      "date_start": "2025-12-01",
      "date_stop": "2025-12-31",
      "month": "2025-12",
      "spend": 1002.9,
      "impressions": 76403,
      "clicks": 1247,
      "purchases": 32,
      "revenue": 1687.0,
      "roas": 1.6821,
      "cpa": 31.34,
      "cpm": 13.13,
      "ctr": 1.6321,
      "campaign_name": "NM.|Products|Social|Retargeting|WV+SME|FR|Conversions_Achat",
      "campaign_id": "120229825112530659"
    },
    {
      "date_start": "2025-12-01",
      "date_stop": "2025-12-31",
      "month": "2025-12",
      "spend": 458.18,
      "impressions": 26656,
      "clicks": 404,
      "purchases": 22,
      "revenue": 992.4,
      "roas": 2.166,
      "cpa": 20.83,
      "cpm": 17.19,
      "ctr": 1.5156,
      "campaign_name": "NM.|Products|Social|Fidelisation|Repeat_Purchases|FR/LU/BE|Conversions_Website_Purchase(new2)",
      "campaign_id": "120229826094440659"
    },
    {
      "date_start": "2025-12-01",
      "date_stop": "2025-12-31",
      "month": "2025-12",
      "spend": 4846.2,
      "impressions": 317930,
      "clicks": 5461,
      "purchases": 176,
      "revenue": 7096.29,
      "roas": 1.4643,
      "cpa": 27.54,
      "cpm": 15.24,
      "ctr": 1.7177,
      "campaign_name": "NM.|Products|Social|ASC|FR|Scaling",
      "campaign_id": "120233910688500659"
    },
    {
      "date_start": "2025-12-01",
      "date_stop": "2025-12-31",
      "month": "2025-12",
      "spend": 40.02,
      "impressions": 11902,
      "clicks": 201,
      "purchases": 0,
      "revenue": 0.0,
      "roas": 0.0,
      "cpa": 0,
      "cpm": 3.36,
      "ctr": 1.6888,
      "campaign_name": "Publication Instagram\u00a0: Nouveau \ud83e\udee6 S\u00e9rum L\u00e8vres...",
      "campaign_id": "120239609692520659"
    },
    {
      "date_start": "2025-12-01",
      "date_stop": "2025-12-31",
      "month": "2025-12",
      "spend": 139.67,
      "impressions": 13119,
      "clicks": 456,
      "purchases": 0,
      "revenue": 0.0,
      "roas": 0.0,
      "cpa": 0,
      "cpm": 10.65,
      "ctr": 3.4759,
      "campaign_name": "Publication Instagram\u00a0: CONCOURS EXCLUSIF \ud83d\udc8b : 5...",
      "campaign_id": "120239646372710659"
    },
    {
      "date_start": "2025-12-01",
      "date_stop": "2025-12-31",
      "month": "2025-12",
      "spend": 39.81,
      "impressions": 4059,
      "clicks": 144,
      "purchases": 0,
      "revenue": 0.0,
      "roas": 0.0,
      "cpa": 0,
      "cpm": 9.81,
      "ctr": 3.5477,
      "campaign_name": "Instagram Post",
      "campaign_id": "120240081476080659"
    },
    {
      "date_start": "2026-01-01",
      "date_stop": "2026-01-31",
      "month": "2026-01",
      "spend": 362.88,
      "impressions": 169637,
      "clicks": 4724,
      "purchases": 0,
      "revenue": 0.0,
      "roas": 0.0,
      "cpa": 0,
      "cpm": 2.14,
      "ctr": 2.7848,
      "campaign_name": "NM.|Products|Trafic|Landing-Page-View",
      "campaign_id": "120211886238780659"
    },
    {
      "date_start": "2026-01-01",
      "date_stop": "2026-01-31",
      "month": "2026-01",
      "spend": 2135.18,
      "impressions": 163333,
      "clicks": 3536,
      "purchases": 89,
      "revenue": 3788.35,
      "roas": 1.7743,
      "cpa": 23.99,
      "cpm": 13.07,
      "ctr": 2.1649,
      "campaign_name": "NM.|Products|Social|ASC|FR|Co-pub",
      "campaign_id": "120229824074960659"
    },
    {
      "date_start": "2026-01-01",
      "date_stop": "2026-01-31",
      "month": "2026-01",
      "spend": 2106.57,
      "impressions": 149610,
      "clicks": 2359,
      "purchases": 56,
      "revenue": 2867.86,
      "roas": 1.3614,
      "cpa": 37.62,
      "cpm": 14.08,
      "ctr": 1.5768,
      "campaign_name": "NM.|Products|Social|Retargeting|WV+SME|FR|Conversions_Achat",
      "campaign_id": "120229825112530659"
    },
    {
      "date_start": "2026-01-01",
      "date_stop": "2026-01-31",
      "month": "2026-01",
      "spend": 2129.92,
      "impressions": 135507,
      "clicks": 1871,
      "purchases": 97,
      "revenue": 5221.4,
      "roas": 2.4515,
      "cpa": 21.96,
      "cpm": 15.72,
      "ctr": 1.3807,
      "campaign_name": "NM.|Products|Social|Fidelisation|Repeat_Purchases|FR/LU/BE|Conversions_Website_Purchase(new2)",
      "campaign_id": "120229826094440659"
    },
    {
      "date_start": "2026-01-01",
      "date_stop": "2026-01-31",
      "month": "2026-01",
      "spend": 4910.47,
      "impressions": 439091,
      "clicks": 6403,
      "purchases": 174,
      "revenue": 9385.2,
      "roas": 1.9113,
      "cpa": 28.22,
      "cpm": 11.18,
      "ctr": 1.4582,
      "campaign_name": "NM.|Products|Social|ASC|FR|Scaling",
      "campaign_id": "120233910688500659"
    },
    {
      "date_start": "2026-02-01",
      "date_stop": "2026-02-28",
      "month": "2026-02",
      "spend": 128.52,
      "impressions": 48346,
      "clicks": 1832,
      "purchases": 0,
      "revenue": 0.0,
      "roas": 0.0,
      "cpa": 0,
      "cpm": 2.66,
      "ctr": 3.7894,
      "campaign_name": "NM.|Products|Trafic|Landing-Page-View",
      "campaign_id": "120211886238780659"
    },
    {
      "date_start": "2026-02-01",
      "date_stop": "2026-02-28",
      "month": "2026-02",
      "spend": 587.58,
      "impressions": 43729,
      "clicks": 1011,
      "purchases": 16,
      "revenue": 614.26,
      "roas": 1.0454,
      "cpa": 36.72,
      "cpm": 13.44,
      "ctr": 2.312,
      "campaign_name": "NM.|Products|Social|ASC|FR|Co-pub",
      "campaign_id": "120229824074960659"
    },
    {
      "date_start": "2026-02-01",
      "date_stop": "2026-02-28",
      "month": "2026-02",
      "spend": 954.49,
      "impressions": 77712,
      "clicks": 1467,
      "purchases": 29,
      "revenue": 1560.4,
      "roas": 1.6348,
      "cpa": 32.91,
      "cpm": 12.28,
      "ctr": 1.8877,
      "campaign_name": "NM.|Products|Social|Retargeting|WV+SME|FR|Conversions_Achat",
      "campaign_id": "120229825112530659"
    },
    {
      "date_start": "2026-02-01",
      "date_stop": "2026-02-28",
      "month": "2026-02",
      "spend": 533.68,
      "impressions": 37858,
      "clicks": 686,
      "purchases": 25,
      "revenue": 1017.25,
      "roas": 1.9061,
      "cpa": 21.35,
      "cpm": 14.1,
      "ctr": 1.812,
      "campaign_name": "NM.|Products|Social|Fidelisation|Repeat_Purchases|FR/LU/BE|Conversions_Website_Purchase(new2)",
      "campaign_id": "120229826094440659"
    },
    {
      "date_start": "2026-02-01",
      "date_stop": "2026-02-28",
      "month": "2026-02",
      "spend": 2850.83,
      "impressions": 290057,
      "clicks": 5199,
      "purchases": 91,
      "revenue": 4676.0,
      "roas": 1.6402,
      "cpa": 31.33,
      "cpm": 9.83,
      "ctr": 1.7924,
      "campaign_name": "NM.|Products|Social|ASC|FR|Scaling",
      "campaign_id": "120233910688500659"
    },
    {
      "date_start": "2026-02-01",
      "date_stop": "2026-02-28",
      "month": "2026-02",
      "spend": 79.98,
      "impressions": 14842,
      "clicks": 512,
      "purchases": 0,
      "revenue": 0.0,
      "roas": 0.0,
      "cpa": 0,
      "cpm": 5.39,
      "ctr": 3.4497,
      "campaign_name": "Publication Instagram\u00a0: \ud83d\udc8b CONCOURS EXCLUSIF : LES...",
      "campaign_id": "120241998348190659"
    },
    {
      "date_start": "2026-02-01",
      "date_stop": "2026-02-28",
      "month": "2026-02",
      "spend": 1614.82,
      "impressions": 151990,
      "clicks": 2435,
      "purchases": 42,
      "revenue": 2319.1,
      "roas": 1.4361,
      "cpa": 38.45,
      "cpm": 10.62,
      "ctr": 1.6021,
      "campaign_name": "NM.|Products|Social|ASC|FR|Testing",
      "campaign_id": "120242305909800659"
    },
    {
      "date_start": "2026-03-01",
      "date_stop": "2026-03-02",
      "month": "2026-03",
      "spend": 71.67,
      "impressions": 7107,
      "clicks": 122,
      "purchases": 3,
      "revenue": 156.7,
      "roas": 2.1864,
      "cpa": 23.89,
      "cpm": 10.08,
      "ctr": 1.7166,
      "campaign_name": "NM.|Products|Social|Retargeting|WV+SME|FR|Conversions_Achat",
      "campaign_id": "120229825112530659"
    },
    {
      "date_start": "2026-03-01",
      "date_stop": "2026-03-02",
      "month": "2026-03",
      "spend": 200.07,
      "impressions": 17677,
      "clicks": 303,
      "purchases": 4,
      "revenue": 136.9,
      "roas": 0.6843,
      "cpa": 50.02,
      "cpm": 11.32,
      "ctr": 1.7141,
      "campaign_name": "NM.|Products|Social|ASC|FR|Scaling",
      "campaign_id": "120233910688500659"
    },
    {
      "date_start": "2026-03-01",
      "date_stop": "2026-03-02",
      "month": "2026-03",
      "spend": 207.28,
      "impressions": 21482,
      "clicks": 413,
      "purchases": 10,
      "revenue": 656.8,
      "roas": 3.1687,
      "cpa": 20.73,
      "cpm": 9.65,
      "ctr": 1.9225,
      "campaign_name": "NM.|Products|Social|ASC|FR|Testing",
      "campaign_id": "120242305909800659"
    }
  ],
  "yoy": {
    "months": [
      {
        "date_start": "2024-09-02",
        "date_stop": "2024-09-30",
        "month": "2024-09",
        "spend": 4286.28,
        "impressions": 505122,
        "clicks": 7792,
        "purchases": 67,
        "revenue": 4711.21,
        "roas": 1.0991,
        "cpa": 63.97,
        "cpm": 8.49,
        "ctr": 1.5426
      },
      {
        "date_start": "2024-10-01",
        "date_stop": "2024-10-31",
        "month": "2024-10",
        "spend": 5923.75,
        "impressions": 560844,
        "clicks": 11241,
        "purchases": 220,
        "revenue": 11193.89,
        "roas": 1.8897,
        "cpa": 26.93,
        "cpm": 10.56,
        "ctr": 2.0043
      },
      {
        "date_start": "2024-11-01",
        "date_stop": "2024-11-30",
        "month": "2024-11",
        "spend": 6735.11,
        "impressions": 578238,
        "clicks": 11421,
        "purchases": 208,
        "revenue": 10885.62,
        "roas": 1.6162,
        "cpa": 32.38,
        "cpm": 11.65,
        "ctr": 1.9751
      },
      {
        "date_start": "2024-12-01",
        "date_stop": "2024-12-31",
        "month": "2024-12",
        "spend": 10776.72,
        "impressions": 1000970,
        "clicks": 26132,
        "purchases": 254,
        "revenue": 13628.04,
        "roas": 1.2646,
        "cpa": 42.43,
        "cpm": 10.77,
        "ctr": 2.6107
      },
      {
        "date_start": "2025-01-01",
        "date_stop": "2025-01-31",
        "month": "2025-01",
        "spend": 11221.45,
        "impressions": 1378762,
        "clicks": 29930,
        "purchases": 349,
        "revenue": 19450.33,
        "roas": 1.7333,
        "cpa": 32.15,
        "cpm": 8.14,
        "ctr": 2.1708
      },
      {
        "date_start": "2025-02-01",
        "date_stop": "2025-02-28",
        "month": "2025-02",
        "spend": 12966.05,
        "impressions": 1607822,
        "clicks": 27376,
        "purchases": 394,
        "revenue": 19153.87,
        "roas": 1.4772,
        "cpa": 32.91,
        "cpm": 8.06,
        "ctr": 1.7027
      },
      {
        "date_start": "2025-03-01",
        "date_stop": "2025-03-31",
        "month": "2025-03",
        "spend": 12815.7,
        "impressions": 1392835,
        "clicks": 23012,
        "purchases": 369,
        "revenue": 19280.54,
        "roas": 1.5044,
        "cpa": 34.73,
        "cpm": 9.2,
        "ctr": 1.6522
      },
      {
        "date_start": "2025-04-01",
        "date_stop": "2025-04-30",
        "month": "2025-04",
        "spend": 10958.04,
        "impressions": 1236876,
        "clicks": 17605,
        "purchases": 282,
        "revenue": 15930.61,
        "roas": 1.4538,
        "cpa": 38.86,
        "cpm": 8.86,
        "ctr": 1.4233
      },
      {
        "date_start": "2025-05-01",
        "date_stop": "2025-05-31",
        "month": "2025-05",
        "spend": 10475.31,
        "impressions": 920177,
        "clicks": 15197,
        "purchases": 251,
        "revenue": 12689.03,
        "roas": 1.2113,
        "cpa": 41.73,
        "cpm": 11.38,
        "ctr": 1.6515
      },
      {
        "date_start": "2025-06-01",
        "date_stop": "2025-06-30",
        "month": "2025-06",
        "spend": 7335.3,
        "impressions": 744438,
        "clicks": 10098,
        "purchases": 111,
        "revenue": 6389.85,
        "roas": 0.8711,
        "cpa": 66.08,
        "cpm": 9.85,
        "ctr": 1.3565
      },
      {
        "date_start": "2025-07-01",
        "date_stop": "2025-07-31",
        "month": "2025-07",
        "spend": 5189.44,
        "impressions": 572327,
        "clicks": 6649,
        "purchases": 100,
        "revenue": 5917.16,
        "roas": 1.1402,
        "cpa": 51.89,
        "cpm": 9.07,
        "ctr": 1.1617
      },
      {
        "date_start": "2025-08-01",
        "date_stop": "2025-08-31",
        "month": "2025-08",
        "spend": 4359.51,
        "impressions": 382367,
        "clicks": 6690,
        "purchases": 82,
        "revenue": 4730.29,
        "roas": 1.0851,
        "cpa": 53.16,
        "cpm": 11.4,
        "ctr": 1.7496
      },
      {
        "date_start": "2025-09-01",
        "date_stop": "2025-09-30",
        "month": "2025-09",
        "spend": 5222.54,
        "impressions": 422720,
        "clicks": 8395,
        "purchases": 169,
        "revenue": 8225.08,
        "roas": 1.5749,
        "cpa": 30.9,
        "cpm": 12.35,
        "ctr": 1.9859
      },
      {
        "date_start": "2025-10-01",
        "date_stop": "2025-10-31",
        "month": "2025-10",
        "spend": 4188.56,
        "impressions": 357972,
        "clicks": 6813,
        "purchases": 142,
        "revenue": 6647.45,
        "roas": 1.587,
        "cpa": 29.5,
        "cpm": 11.7,
        "ctr": 1.9032
      },
      {
        "date_start": "2025-11-01",
        "date_stop": "2025-11-30",
        "month": "2025-11",
        "spend": 6791.25,
        "impressions": 574096,
        "clicks": 8438,
        "purchases": 195,
        "revenue": 10193.24,
        "roas": 1.5009,
        "cpa": 34.83,
        "cpm": 11.83,
        "ctr": 1.4698
      },
      {
        "date_start": "2025-12-01",
        "date_stop": "2025-12-31",
        "month": "2025-12",
        "spend": 8051.83,
        "impressions": 552039,
        "clicks": 10373,
        "purchases": 291,
        "revenue": 13094.55,
        "roas": 1.6263,
        "cpa": 27.67,
        "cpm": 14.59,
        "ctr": 1.879
      },
      {
        "date_start": "2026-01-01",
        "date_stop": "2026-01-31",
        "month": "2026-01",
        "spend": 11645.02,
        "impressions": 1057178,
        "clicks": 18893,
        "purchases": 416,
        "revenue": 21262.81,
        "roas": 1.8259,
        "cpa": 27.99,
        "cpm": 11.02,
        "ctr": 1.7871
      },
      {
        "date_start": "2026-02-01",
        "date_stop": "2026-02-28",
        "month": "2026-02",
        "spend": 6749.9,
        "impressions": 664534,
        "clicks": 13142,
        "purchases": 203,
        "revenue": 10187.01,
        "roas": 1.5092,
        "cpa": 33.25,
        "cpm": 10.16,
        "ctr": 1.9776
      },
      {
        "date_start": "2026-03-01",
        "date_stop": "2026-03-02",
        "month": "2026-03",
        "spend": 479.02,
        "impressions": 46266,
        "clicks": 838,
        "purchases": 17,
        "revenue": 950.4,
        "roas": 1.9841,
        "cpa": 28.18,
        "cpm": 10.35,
        "ctr": 1.8113
      }
    ],
    "yoy_pairs": [
      {
        "month": "09",
        "current_year": 2025,
        "current": {
          "date_start": "2025-09-01",
          "date_stop": "2025-09-30",
          "month": "2025-09",
          "spend": 5222.54,
          "impressions": 422720,
          "clicks": 8395,
          "purchases": 169,
          "revenue": 8225.08,
          "roas": 1.5749,
          "cpa": 30.9,
          "cpm": 12.35,
          "ctr": 1.9859
        },
        "previous": {
          "date_start": "2024-09-02",
          "date_stop": "2024-09-30",
          "month": "2024-09",
          "spend": 4286.28,
          "impressions": 505122,
          "clicks": 7792,
          "purchases": 67,
          "revenue": 4711.21,
          "roas": 1.0991,
          "cpa": 63.97,
          "cpm": 8.49,
          "ctr": 1.5426
        },
        "spend_change_pct": 21.8431833664623,
        "roas_change_pct": 43.28996451642253,
        "cpa_change_pct": -51.69610755041426,
        "cpm_change_pct": 45.46525323910482
      },
      {
        "month": "10",
        "current_year": 2025,
        "current": {
          "date_start": "2025-10-01",
          "date_stop": "2025-10-31",
          "month": "2025-10",
          "spend": 4188.56,
          "impressions": 357972,
          "clicks": 6813,
          "purchases": 142,
          "revenue": 6647.45,
          "roas": 1.587,
          "cpa": 29.5,
          "cpm": 11.7,
          "ctr": 1.9032
        },
        "previous": {
          "date_start": "2024-10-01",
          "date_stop": "2024-10-31",
          "month": "2024-10",
          "spend": 5923.75,
          "impressions": 560844,
          "clicks": 11241,
          "purchases": 220,
          "revenue": 11193.89,
          "roas": 1.8897,
          "cpa": 26.93,
          "cpm": 10.56,
          "ctr": 2.0043
        },
        "spend_change_pct": -29.292086938172602,
        "roas_change_pct": -16.018415621527225,
        "cpa_change_pct": 9.543260304493131,
        "cpm_change_pct": 10.795454545454533
      },
      {
        "month": "11",
        "current_year": 2025,
        "current": {
          "date_start": "2025-11-01",
          "date_stop": "2025-11-30",
          "month": "2025-11",
          "spend": 6791.25,
          "impressions": 574096,
          "clicks": 8438,
          "purchases": 195,
          "revenue": 10193.24,
          "roas": 1.5009,
          "cpa": 34.83,
          "cpm": 11.83,
          "ctr": 1.4698
        },
        "previous": {
          "date_start": "2024-11-01",
          "date_stop": "2024-11-30",
          "month": "2024-11",
          "spend": 6735.11,
          "impressions": 578238,
          "clicks": 11421,
          "purchases": 208,
          "revenue": 10885.62,
          "roas": 1.6162,
          "cpa": 32.38,
          "cpm": 11.65,
          "ctr": 1.9751
        },
        "spend_change_pct": 0.8335424365749087,
        "roas_change_pct": -7.134018067070917,
        "cpa_change_pct": 7.566399011735625,
        "cpm_change_pct": 1.545064377682401
      },
      {
        "month": "12",
        "current_year": 2025,
        "current": {
          "date_start": "2025-12-01",
          "date_stop": "2025-12-31",
          "month": "2025-12",
          "spend": 8051.83,
          "impressions": 552039,
          "clicks": 10373,
          "purchases": 291,
          "revenue": 13094.55,
          "roas": 1.6263,
          "cpa": 27.67,
          "cpm": 14.59,
          "ctr": 1.879
        },
        "previous": {
          "date_start": "2024-12-01",
          "date_stop": "2024-12-31",
          "month": "2024-12",
          "spend": 10776.72,
          "impressions": 1000970,
          "clicks": 26132,
          "purchases": 254,
          "revenue": 13628.04,
          "roas": 1.2646,
          "cpa": 42.43,
          "cpm": 10.77,
          "ctr": 2.6107
        },
        "spend_change_pct": -25.28496611213801,
        "roas_change_pct": 28.601929463862103,
        "cpa_change_pct": -34.78670751826537,
        "cpm_change_pct": 35.46889507892294
      },
      {
        "month": "01",
        "current_year": 2026,
        "current": {
          "date_start": "2026-01-01",
          "date_stop": "2026-01-31",
          "month": "2026-01",
          "spend": 11645.02,
          "impressions": 1057178,
          "clicks": 18893,
          "purchases": 416,
          "revenue": 21262.81,
          "roas": 1.8259,
          "cpa": 27.99,
          "cpm": 11.02,
          "ctr": 1.7871
        },
        "previous": {
          "date_start": "2025-01-01",
          "date_stop": "2025-01-31",
          "month": "2025-01",
          "spend": 11221.45,
          "impressions": 1378762,
          "clicks": 29930,
          "purchases": 349,
          "revenue": 19450.33,
          "roas": 1.7333,
          "cpa": 32.15,
          "cpm": 8.14,
          "ctr": 2.1708
        },
        "spend_change_pct": 3.7746458790976183,
        "roas_change_pct": 5.342410430969827,
        "cpa_change_pct": -12.939346811819597,
        "cpm_change_pct": 35.38083538083537
      },
      {
        "month": "02",
        "current_year": 2026,
        "current": {
          "date_start": "2026-02-01",
          "date_stop": "2026-02-28",
          "month": "2026-02",
          "spend": 6749.9,
          "impressions": 664534,
          "clicks": 13142,
          "purchases": 203,
          "revenue": 10187.01,
          "roas": 1.5092,
          "cpa": 33.25,
          "cpm": 10.16,
          "ctr": 1.9776
        },
        "previous": {
          "date_start": "2025-02-01",
          "date_stop": "2025-02-28",
          "month": "2025-02",
          "spend": 12966.05,
          "impressions": 1607822,
          "clicks": 27376,
          "purchases": 394,
          "revenue": 19153.87,
          "roas": 1.4772,
          "cpa": 32.91,
          "cpm": 8.06,
          "ctr": 1.7027
        },
        "spend_change_pct": -47.94174015987907,
        "roas_change_pct": 2.166260492824264,
        "cpa_change_pct": 1.03312063202675,
        "cpm_change_pct": 26.0545905707196
      },
      {
        "month": "03",
        "current_year": 2026,
        "current": {
          "date_start": "2026-03-01",
          "date_stop": "2026-03-02",
          "month": "2026-03",
          "spend": 479.02,
          "impressions": 46266,
          "clicks": 838,
          "purchases": 17,
          "revenue": 950.4,
          "roas": 1.9841,
          "cpa": 28.18,
          "cpm": 10.35,
          "ctr": 1.8113
        },
        "previous": {
          "date_start": "2025-03-01",
          "date_stop": "2025-03-31",
          "month": "2025-03",
          "spend": 12815.7,
          "impressions": 1392835,
          "clicks": 23012,
          "purchases": 369,
          "revenue": 19280.54,
          "roas": 1.5044,
          "cpa": 34.73,
          "cpm": 9.2,
          "ctr": 1.6522
        },
        "spend_change_pct": -96.26224084521328,
        "roas_change_pct": 31.88646636532837,
        "cpa_change_pct": -18.859775410308085,
        "cpm_change_pct": 12.500000000000005
      }
    ],
    "quarterly_data": {
      "Q3 2024": {
        "spend": 4286.28,
        "revenue": 4711.21,
        "purchases": 67,
        "impressions": 505122,
        "roas": 1.0991,
        "cpa": 63.97,
        "cpm": 8.49
      },
      "Q4 2024": {
        "spend": 23435.58,
        "revenue": 35707.55,
        "purchases": 682,
        "impressions": 2140052,
        "roas": 1.5236,
        "cpa": 34.36,
        "cpm": 10.95
      },
      "Q1 2025": {
        "spend": 37003.2,
        "revenue": 57884.74,
        "purchases": 1112,
        "impressions": 4379419,
        "roas": 1.5643,
        "cpa": 33.28,
        "cpm": 8.45
      },
      "Q2 2025": {
        "spend": 28768.65,
        "revenue": 35009.49,
        "purchases": 644,
        "impressions": 2901491,
        "roas": 1.2169,
        "cpa": 44.67,
        "cpm": 9.92
      },
      "Q3 2025": {
        "spend": 14771.49,
        "revenue": 18872.53,
        "purchases": 351,
        "impressions": 1377414,
        "roas": 1.2776,
        "cpa": 42.08,
        "cpm": 10.72
      },
      "Q4 2025": {
        "spend": 19031.64,
        "revenue": 29935.24,
        "purchases": 628,
        "impressions": 1484107,
        "roas": 1.5729,
        "cpa": 30.31,
        "cpm": 12.82
      },
      "Q1 2026": {
        "spend": 18873.94,
        "revenue": 32400.22,
        "purchases": 636,
        "impressions": 1767978,
        "roas": 1.7167,
        "cpa": 29.68,
        "cpm": 10.68
      }
    },
    "quarterly_comparisons": [
      {
        "label": "Q4 2024 vs Q4 2025",
        "current": {
          "spend": 19031.64,
          "revenue": 29935.24,
          "purchases": 628,
          "impressions": 1484107,
          "roas": 1.5729,
          "cpa": 30.31,
          "cpm": 12.82
        },
        "previous": {
          "spend": 23435.58,
          "revenue": 35707.55,
          "purchases": 682,
          "impressions": 2140052,
          "roas": 1.5236,
          "cpa": 34.36,
          "cpm": 10.95
        },
        "spend_change": -18.8,
        "roas_change": 3.2,
        "cpa_change": -11.8
      },
      {
        "label": "Q1 2025 vs Q1 2026",
        "current": {
          "spend": 18873.94,
          "revenue": 32400.22,
          "purchases": 636,
          "impressions": 1767978,
          "roas": 1.7167,
          "cpa": 29.68,
          "cpm": 10.68
        },
        "previous": {
          "spend": 37003.2,
          "revenue": 57884.74,
          "purchases": 1112,
          "impressions": 4379419,
          "roas": 1.5643,
          "cpa": 33.28,
          "cpm": 8.45
        },
        "spend_change": -49.0,
        "roas_change": 9.7,
        "cpa_change": -10.8
      }
    ]
  },
  "seasonality_context": "Your CPA is stable between Q4 and Q1 (\u20ac30 \u2192 \u20ac30), consistent with last year's pattern."
}