Skip to content

Meta Ads Creative Performance

Business Case

A media buyer or creative specialist needs to understand which creatives (images, videos, copy) perform best: which formats deliver the highest CTR, which media types drive the most conversions, which ad copy is worth scaling, and which should be paused. This requires a breakdown at the individual ad level with access to a creative preview.

Connections

This report requires one connection: Meta Ads.

  • Connector: meta-ads
  • Required permissions: ads_read, read_insights, business_management
  • Special requirement: creative enrichment must be enabled — the "Load creatives and previews" checkbox must be checked in the connection settings
  • Connection status: active

Without creative enrichment, the report will only contain ad IDs without previews and copy, making creative analysis impossible. Check this setting under Connections → Meta Ads → Settings → Load creatives and previews.

Report Settings

  • Name: Meta Ads Creative Performance
  • Report type: detailed report at the ad level
  • Data source: all meta-ads connections
  • Date range: last_14_days — two weeks gives a sufficient statistical sample for evaluating creatives
  • Comparison period: previous_period
  • Grouping: by ad (ad_name, ad_id), media type (media_type), and date (date)
  • Sorting: by CTR (ctr) descending
  • Timezone: Europe/Moscow

Parameters

json
{
  "date_range": "last_14_days",
  "compare": "previous_period",
  "group_by": ["ad_name", "ad_id", "media_type", "date"],
  "sort": { "field": "ctr", "direction": "desc" },
  "timezone": "Europe/Moscow",
  "limit": 1000
}

The limit: 1000 parameter matters because when grouping by ads over 14 days, the number of rows can be significant. The compare: "previous_period" parameter lets you see whether each creative's performance improved or declined compared to the previous two weeks.

Metrics

Focus on metrics specific to evaluating creatives:

MetricTypeDescription
impressionsnumberImpressions — the base for assessing creative reach
clicksnumberClicks — direct response to the creative
ctrpercentClick-through rate — the primary measure of creative appeal
cpccurrencyCost per click
spendcurrencySpend on showing the creative
outbound_clicksnumberOutbound clicks off the Meta platform
landing_page_viewsnumberLanding page views — how many users actually reached the site
resultsnumberTarget actions
cost_per_resultcurrencyCost per target action

Calculated metric — revenue share per creative:

json
{
  "calculated_metrics": [
    {
      "name": "ctr_rank",
      "formula": "RANK([ctr])",
      "type": "integer",
      "description": "Creative's CTR rank among all ads"
    }
  ]
}

For more advanced analysis, add a calculated metric engagement_rate = [outbound_clicks] / [impressions] * 100, showing what share of people who saw the creative actually clicked the link.

Filters

json
{
  "logic": "AND",
  "conditions": [
    {
      "field": "impressions",
      "operator": "GREATER_THAN",
      "value": 500
    },
    {
      "field": "spend",
      "operator": "GREATER_THAN",
      "value": 100
    }
  ]
}
  • impressions > 500 — filters out creatives that haven't gathered enough impressions for statistical significance
  • spend > 100 — only creatives with a meaningful budget spent (less than 100 rubles isn't enough data to draw conclusions)

To compare video and images, add a filter on media_type:

  • media_type EQUAL "video" — video creatives only
  • media_type EQUAL "image" — static images only

Write Mode

Mode: Replace

Creatives can be edited in the ad account (copy and images can change), so each run needs to get a complete, up-to-date data slice for the whole period. Replace mode guarantees that creative changes made in Meta Ads are reflected in the LightLead report on the next update.

Schedule

json
{
  "schedule": {
    "enabled": true,
    "interval": "weekly",
    "time": "09:00",
    "timezone": "Europe/Moscow",
    "days_of_week": [1],
    "retry_on_failure": true,
    "max_retries": 3
  }
}

The report runs once a week on Mondays at 9:00 — giving a full picture of the past week plus the previous one for comparison. For more frequent creative monitoring (if many new ads launch every day), switch to daily running at 7:00.

Expected Result

After a successful run:

  • Status: completed
  • Row count: number of active ads × 14 days (typically 100–500 rows)
  • Available columns: ad name, ID, media type, creative preview, all performance metrics, comparison with the previous period
  • Analysis: top-performing and underperforming creatives by CTR are immediately visible; you can compare video vs. images; you can see which ad copy performs better
  • Export: export to Google Sheets to build a creative performance dashboard

Screenshot

[Screenshot]

[Screenshot]

Maintained by the LightLead Documentation Team · Last verified: 2026-07-26