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-adsconnections - 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
{
"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:
| Metric | Type | Description |
|---|---|---|
impressions | number | Impressions — the base for assessing creative reach |
clicks | number | Clicks — direct response to the creative |
ctr | percent | Click-through rate — the primary measure of creative appeal |
cpc | currency | Cost per click |
spend | currency | Spend on showing the creative |
outbound_clicks | number | Outbound clicks off the Meta platform |
landing_page_views | number | Landing page views — how many users actually reached the site |
results | number | Target actions |
cost_per_result | currency | Cost per target action |
Calculated metric — revenue share per creative:
{
"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
{
"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 significancespend > 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 onlymedia_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
{
"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]