Flex ads explained
Last updated: May 19, 2026
Flex ads explained
Flex Ads = Meta's dynamic ad format where the platform automatically combines creative variations (multiple images + videos + headlines + descriptions + CTAs) per user impression to maximize engagement. Meta's algorithm tests combinations + serves the best per user. Verified in CreativeFormat enum as FLEX.
Who is this for
Mediabuyers with 3+ creative variations + 5+ copy variations ready who want Meta's auto-optimization rather than manual A/B testing. Brands with rich asset libraries.
How Flex Ads differ from other formats
Format | What it shows |
|---|---|
Single Image / Video | One creative + one copy per ad |
Carousel | 2-10 ordered images in a swipe gallery (manual order) |
Collection | Cover image + product grid (e-commerce catalog) |
Flex | Platform auto-combines from your variations per impression |
Flex's superpower: platform-driven creative testing at scale. Instead of running 9 ads (3 images × 3 headlines), you upload 3 images + 3 headlines once → Meta tests all 9 combinations dynamically.
Setup in Campaign Creator
Express mode
Express simplifies to one creative + copy per ad. Switch to Pro for Flex.
Pro mode
Per-ad config → Creative Format → select Flex
Upload 3+ image variations OR 2+ video variations OR mix
Add 5+ headline variations (text field allows multi-entry)
Add 3+ primary text variations
Add 2+ description variations
Pick 2+ CTAs for testing (e.g. SHOP_NOW, LEARN_MORE)
Single destination URL (one landing page)
Meta will combine + test + optimize.
Bulk Launch
creative_format column = FLEX per row. Variations as arrays in per-row config.
How Meta combines
Meta's algorithm decides at impression time:
User in Meta's system → analyzed via signals (interests, past behavior)
Algorithm picks: best image + best headline + best CTA for THIS user
Combined creative served
Engagement / conversion tracked
Algorithm learns: this combo works for this audience segment
Future impressions to similar users → similar combos
Different users see different combinations of your variations. Platform learns + improves over time.
When to use Flex
Scenario | Use Flex? |
|---|---|
Big budget ($1000+/week) | Yes |
30+ conversions/week to feed learning | Yes |
Have 3+ image + 5+ headline variations ready | Yes |
Want platform optimization with minimal management | Yes |
Small budget, limited creative variations | No (use manual A/B) |
Need granular attribution per creative combo | No (Flex obscures which combo drove what) |
Brand-strict (specific creative ordering required) | No (Carousel preserves order) |
Set up requirements
For Flex to work effectively:
Element | Minimum | Recommended |
|---|---|---|
Image variations | 3 | 5-10 |
Video variations | 2 (if using video) | 3-5 |
Headline variations | 5 | 10 |
Primary text variations | 3 | 5 |
Description variations | 2 | 3 |
CTA variations | 2 | 3-4 |
Less than minimum = limited combinations = limited learning. Less effective than just running manual ads.
How Wevion handles Flex
In Pro mode → Flex format:
Multi-upload for images/videos (drag-drop multiple files)
Multi-line input for headlines / primary text / descriptions
CTA multi-select dropdown
Live preview shows sample combinations (not exhaustive — Meta picks per user)
Validation: ensures minimums met before publish
At publish:
Wevion's Meta launch provider (
apps/backend/src/providers/meta/) sends all variations to Meta's APIMeta creates ONE ad with multiple creative slots
Meta's algorithm takes over
Attribution challenge
Flex's trade-off: harder to know which combo drove what.
In Meta Ads Manager → ad detail:
See variations Meta tested
See per-variation performance summary (engagement / conversions per asset)
But: hard to say "Image A + Headline B converted 5x more than Image A + Headline C"
If you need precise attribution: stick with manual A/B (separate ads per combination).
When Flex doesn't work as expected
Common issues:
"Same combination served too often"
Meta's algorithm may converge on a winner combo + stop varying. To force variation: reduce budget (more cost-sensitive optimization) OR pause + relaunch with new variations.
"Platform won't run my brand-mandated creative"
If you have legal/brand mandate that specific combo MUST run (e.g. legal disclaimer with specific imagery): don't use Flex. Use manual ad with the mandated combo.
"Conversions concentrated on one combo"
Sometimes one combo dominates. That's the algorithm doing its job. If you want exploration of less-tested combos: increase budget so platform has more impressions to spread.
"Performance worse than manual A/B"
Possible reasons:
Too few variations (3-3-3 minimums not really enough for Meta to learn)
Audience too narrow (algorithm can't explore enough)
Budget too small (no learning headroom)
If Flex performs worse after 1-2 weeks: switch back to manual.
Flex with multiple aspect ratios
For multi-placement campaigns (Feed + Stories + Reels):
Upload images / videos per aspect ratio (1:1 + 9:16 + 16:9)
Meta combines per-placement appropriate creative + copy
More work to set up, more comprehensive coverage
What you'll see
In Pro mode with Flex selected:
Creative slot expanded to multi-upload area
Per-asset thumbnail with reorder + remove
Copy fields with "Add variation" buttons
Sample combination preview on right
Total combination count visible (e.g. "Meta will test 60 combinations from your variations")
In Meta Ads Manager post-publish:
Single ad row (not multiple)
Click → see per-variation performance breakdown
"Top combo" + "Bottom combo" insights
In data model
CanonicalAd with creative.format = FLEX:
creative: {
format: FLEX,
imageVariations: [url1, url2, url3, ...],
videoVariations: [url1, url2, ...],
headlines: ["headline 1", "headline 2", ...],
primaryTexts: ["primary text 1", ...],
descriptions: ["description 1", ...],
ctas: [SHOP_NOW, LEARN_MORE, ...]
}
Cross-platform notes
Meta: Flex Ads available (was previously "Dynamic Creative")
Google Ads: Responsive Display Ads (RDA) + Responsive Search Ads (RSA) are similar concepts
TikTok: "Smart Creative" auto-combining feature
Snapchat: limited dynamic format
Wevion's Flex format primarily Meta-focused. For Google: RSA/RDA features in Pro mode.
Best practices
Variation diversity
Don't upload 5 very-similar images. Test true variations (different value props, different visual styles, different angles).
Include at least one "wild card"
When testing, include one unconventional variation. Sometimes the unexpected combo wins.
Refresh quarterly
Flex creative fatigue: same variations seen by same users repeatedly. Refresh top performers + retire underperformers every 60-90 days.
Pair with audience expansion
Flex works best with broader audiences (more variability for algorithm to learn). Narrow audience + Flex = limited optimization headroom.
Common questions
"Can I see per-combo performance in Wevion?": Wevion shows aggregate ad performance + per-asset variation. For combo-level granularity: Meta Ads Manager.
"Does Flex use AI Credits?": no — Flex is Meta's platform feature, not Wevion AI generation. AI Credits only for generating new assets in Creative Hub.
"What if my creative has burned-in CTA?": Meta picks the appropriate CTA button + your creative shows on top. If burned-in CTA conflicts (e.g. burned-in "Shop Now" + Meta's "Learn More" button): pick one or the other.
"Flex on Google?": use Responsive Display Ads or Responsive Search Ads (similar concept; different platform).
Related
Creative — images — image specs (apply to Flex variations)
Creative — videos — video specs (apply to Flex variations)
Ad copy — headlines, primary text, CTA — copy variations for Flex