Ad Creative Design
Design high-converting ad banners and display creatives. Covers all standard IAB sizes, platform requirements, CTA optimization, and A/B testing frameworks. Output as production-ready HTML/CSS with optional animation.
Step 1: Load Design Context
- Read
.agents/design-context.md for brand colors, fonts, style
- If missing, ask user to run
design-context skill or use defaults
- Ad creatives must be strictly on-brand -- ads are often the first brand touchpoint
Gemini 3.1 Flash Image Preview
For AI image generation, see the image-generation skill for the full Gemini pipeline. Below are domain-specific prompt patterns for this skill.
Example Prompts
- Display Ad: "Create a display ad ([size]). [product/service] visual on [background]. Headline '[text]' in [style]. CTA button '[action]' in [color]. Clean, conversion-focused layout."
- Social Ad: "Create a Meta feed ad (1080x1080). [product] photo centered on [background color]. Short headline '[value prop]' above. CTA '[action]' button at bottom in [brand color]. Minimal text, bold imagery."
- Retargeting Banner: "Create a 728x90 leaderboard ad. Logo left, '[offer headline]' center in [font-weight] [font-family], CTA '[action]' right in [accent color] pill button. [brand color] background. Urgency-driven."
Step 2: Identify Ad Format and Size
Standard IAB Ad Sizes
| Name |
Dimensions |
Type |
Performance |
| Medium Rectangle |
300 x 250 |
Display |
Highest inventory |
| Large Rectangle |
336 x 280 |
Display |
High performance |
| Leaderboard |
728 x 90 |
Display |
Top of page |
| Mobile Leaderboard |
320 x 50 |
Mobile |
Mobile standard |
| Large Mobile |
320 x 100 |
Mobile |
Better engagement |
| Wide Skyscraper |
160 x 600 |
Display |
Sidebar |
| Half Page |
300 x 600 |
Display |
High impact |
| Billboard |
970 x 250 |
Display |
Premium placement |
| Large Leaderboard |
970 x 90 |
Display |
Wide format |
| Square |
250 x 250 |
Display |
Compact |
Social Ad Sizes
| Platform |
Format |
Dimensions |
| Meta (Feed) |
Single Image |
1080 x 1080 or 1200 x 628 |
| Meta (Story) |
Full Screen |
1080 x 1920 |
| Google Display |
Responsive |
Multiple (provide assets) |
| LinkedIn |
Sponsored Content |
1200 x 627 |
| Twitter/X |
Promoted |
1200 x 675 |
Step 3: Ad Content Hierarchy
Every ad must follow this strict content hierarchy. Limited space means ruthless prioritization.
The AIDA Framework for Ads
- Attention -- Visual hook (image, color, animation)
- Interest -- Value proposition (what is it, why care)
- Desire -- Benefit statement (what they get)
- Action -- CTA button (what to do next)
Content Priority by Size
Large Formats (300x600, 970x250, 300x250)
1. Logo (small, top-left or top-center)
2. Hero image or visual
3. Headline (primary value prop, 5-8 words max)
4. Supporting text (1 line, optional)
5. CTA button
Medium Formats (728x90, 320x100)
1. Logo (left side, compact)
2. Headline (3-5 words)
3. CTA button (right side)
-- No room for supporting text or large visuals
Small Formats (320x50, 160x600 narrow area)
1. Logo or brand name (text only)
2. Headline (2-4 words)
3. CTA (text link or small button)
Step 4: CTA Button Design
The CTA is the most important element. It must be unmissable.
CTA Button Styles
Use one of three patterns: solid (high-contrast fill + shadow), outline (transparent bg + border), or pill (rounded + arrow icon). Key properties:
padding: 10-12px 24-28px, font-weight: 700, text-transform: uppercase
- Add hover:
translateY(-1px) + increased shadow or background swap
- Pill variant:
border-radius: 50px with ::after arrow content
CTA Copy Best Practices
| Weak |
Strong |
Why |
| Submit |
Get Started |
Action-oriented |
| Click Here |
Shop the Sale |
Specific benefit |
| Learn More |
See How It Works |
Curiosity-driven |
| Buy Now |
Claim Your 20% Off |
Value-driven |
| Sign Up |
Start Free Trial |
Low commitment |
| Download |
Get Your Free Guide |
Ownership language |
CTA Placement Rules
- 300x250: Bottom-center or bottom-right
- 728x90: Right side, vertically centered
- 160x600: Bottom-center
- 320x50: Right side
- Always leave at least 8px padding around the CTA
- CTA should occupy 15-25% of the total ad width
Step 5: Value Proposition Framework
Headline Formulas
- Benefit-first: "Save 3 Hours Every Week"
- Problem-solution: "Tired of [Problem]? Try [Product]"
- Social proof: "Join 50,000+ [Users] Who..."
- Urgency: "Last Day: 40% Off Everything"
- Curiosity: "The [Tool] Top Companies Use for [Result]"
- Numbers: "3x Faster [Task] Starting Today"
Copy Constraints by Size
| Size |
Headline Max |
Body Max |
CTA Max |
| 300x250 |
8 words |
12 words |
3 words |
| 728x90 |
5 words |
0 (no room) |
2 words |
| 160x600 |
6 words |
10 words |
2 words |
| 300x600 |
8 words |
15 words |
3 words |
| 320x50 |
4 words |
0 |
2 words |
Step 6: Layout Templates by Size
Layout Patterns by Size
- 300x250: Flex column. Logo top (12px padding), visual area (flex:1), content bottom (16px padding, centered). Headline 18px/700.
- 728x90: Flex row,
align-items: center, 20px gap. Logo left (28px height), headline (flex:1, 20px/700), CTA right.
- 160x600: Flex column, centered text. Logo top, visual middle (flex:1), headline 16px/700, body 12px, CTA at bottom (
margin-top: auto).
- 320x50: Flex row on brand-color bg. Text (flex:1, 13px/700 white), CTA right (white bg, brand-color text, 6px 14px padding).
All sizes: position: relative; overflow: hidden; border: 1px solid #E5E7EB;
Step 7: A/B Testing Variation Framework
Always generate at least 2 variations when possible. Test these dimensions:
Variation Axes
| Axis |
Variation A |
Variation B |
| Headline |
Benefit-focused |
Urgency-focused |
| CTA Color |
Brand primary |
High-contrast accent |
| CTA Copy |
"Get Started" |
"Try Free" |
| Layout |
Image top, text bottom |
Text left, image right |
| Background |
Light/white |
Dark/brand color |
| Visual |
Product screenshot |
Abstract/lifestyle |
Generating Variations
When creating an ad, produce:
- Version A: The primary design
- Version B: Same content, one variable changed (CTA color, headline, or layout)
Label each variation clearly in the output:
<!-- VARIATION A: Benefit headline, primary CTA -->
<div class="ad variation-a">...</div>
<!-- VARIATION B: Urgency headline, accent CTA -->
<div class="ad variation-b">...</div>
Step 8: Platform-Specific Requirements
Google Display Network
- File size: max 150KB (HTML5), images under 150KB each
- Animation: max 30 seconds, max 3 loops
- Must include a visible border (1px solid #ccc if background is white)
- Click area must cover the entire ad
- No auto-playing audio
Meta (Facebook/Instagram) Ads
- Text on image: keep under 20% of the image area (not enforced but affects delivery)
- Primary text: 125 characters
- Headline: 40 characters
- Square (1:1) and vertical (4:5) perform best on mobile
- Video thumbnails follow same rules
LinkedIn Ads
- Professional tone -- avoid clickbait
- Statistics and data-driven headlines perform well
- Blue tones blend with platform; use contrasting colors
- Company logo must be visible
Programmatic Display
- Must degrade gracefully (backup static image)
- All assets loaded from relative paths or data URIs
- Click tag implementation required
<!-- Standard click tag -->
<script>
var clickTag = "https://example.com";
</script>
<a href="javascript:void(window.open(clickTag))" style="position:absolute;inset:0;z-index:999;">
</a>
Step 9: HTML5 Animation for Ads
Animation Patterns
Staggered entry: Use fadeSlideIn (opacity 0->1, translateY 10px->0) with 0.2s staggered delays for logo, visual, headline, CTA. Add a subtle ctaPulse (scale 1->1.03) after entry completes.
Multi-frame rotation: Position frames absolutely, use a shared @keyframes frame with opacity in/out, stagger by total-duration / num-frames. Max 3 frames over 10-15s.
Animation Guidelines
- Total animation: 15-30 seconds max, max 3 loops
- End on a static frame with CTA visible
- No more than 3 frames/scenes
- Avoid fast flashing (accessibility)
- Final frame must show: headline + CTA + logo
Step 10: Ad Border and Container
Every display ad needs a clear boundary:
border: 1px solid #E5E7EB; border-radius: 0; overflow: hidden; position: relative;
- Full-bleed click area:
position: absolute; inset: 0; z-index: 100; cursor: pointer;
Quality Checklist
1---2name: ad-creative-design3description: Ad banners and display ad creative design via AI image generation and code generation. Covers IAB standard sizes, CTA design, value proposition hierarchy, A/B variations, and HTML5 animated ads. Supports Gemini 3.1 Flash Image Preview. Trigger phrases: "design an ad", "create a banner ad", "display ad", "ad creative", "Google Display ad", "Meta ad", "ad banner", "create ad variations", "HTML5 ad".4license: MIT5---67# Ad Creative Design89Design high-converting ad banners and display creatives. Covers all standard IAB sizes, platform requirements, CTA optimization, and A/B testing frameworks. Output as production-ready HTML/CSS with optional animation.1011---1213## Step 1: Load Design Context14151. Read `.agents/design-context.md` for brand colors, fonts, style162. If missing, ask user to run `design-context` skill or use defaults173. Ad creatives must be strictly on-brand -- ads are often the first brand touchpoint1819---2021## Gemini 3.1 Flash Image Preview2223For AI image generation, see the `image-generation` skill for the full Gemini pipeline. Below are domain-specific prompt patterns for this skill.2425### Example Prompts2627- **Display Ad:** "Create a display ad ([size]). [product/service] visual on [background]. Headline '[text]' in [style]. CTA button '[action]' in [color]. Clean, conversion-focused layout."28- **Social Ad:** "Create a Meta feed ad (1080x1080). [product] photo centered on [background color]. Short headline '[value prop]' above. CTA '[action]' button at bottom in [brand color]. Minimal text, bold imagery."29- **Retargeting Banner:** "Create a 728x90 leaderboard ad. Logo left, '[offer headline]' center in [font-weight] [font-family], CTA '[action]' right in [accent color] pill button. [brand color] background. Urgency-driven."3031---3233## Step 2: Identify Ad Format and Size3435### Standard IAB Ad Sizes3637| Name | Dimensions | Type | Performance |38|------|-----------|------|-------------|39| Medium Rectangle | 300 x 250 | Display | Highest inventory |40| Large Rectangle | 336 x 280 | Display | High performance |41| Leaderboard | 728 x 90 | Display | Top of page |42| Mobile Leaderboard | 320 x 50 | Mobile | Mobile standard |43| Large Mobile | 320 x 100 | Mobile | Better engagement |44| Wide Skyscraper | 160 x 600 | Display | Sidebar |45| Half Page | 300 x 600 | Display | High impact |46| Billboard | 970 x 250 | Display | Premium placement |47| Large Leaderboard | 970 x 90 | Display | Wide format |48| Square | 250 x 250 | Display | Compact |4950### Social Ad Sizes5152| Platform | Format | Dimensions |53|----------|--------|-----------|54| Meta (Feed) | Single Image | 1080 x 1080 or 1200 x 628 |55| Meta (Story) | Full Screen | 1080 x 1920 |56| Google Display | Responsive | Multiple (provide assets) |57| LinkedIn | Sponsored Content | 1200 x 627 |58| Twitter/X | Promoted | 1200 x 675 |5960---6162## Step 3: Ad Content Hierarchy6364Every ad must follow this strict content hierarchy. Limited space means ruthless prioritization.6566### The AIDA Framework for Ads67681. **Attention** -- Visual hook (image, color, animation)692. **Interest** -- Value proposition (what is it, why care)703. **Desire** -- Benefit statement (what they get)714. **Action** -- CTA button (what to do next)7273### Content Priority by Size7475#### Large Formats (300x600, 970x250, 300x250)76```771. Logo (small, top-left or top-center)782. Hero image or visual793. Headline (primary value prop, 5-8 words max)804. Supporting text (1 line, optional)815. CTA button82```8384#### Medium Formats (728x90, 320x100)85```861. Logo (left side, compact)872. Headline (3-5 words)883. CTA button (right side)89-- No room for supporting text or large visuals90```9192#### Small Formats (320x50, 160x600 narrow area)93```941. Logo or brand name (text only)952. Headline (2-4 words)963. CTA (text link or small button)97```9899---100101## Step 4: CTA Button Design102103The CTA is the most important element. It must be unmissable.104105### CTA Button Styles106107Use one of three patterns: **solid** (high-contrast fill + shadow), **outline** (transparent bg + border), or **pill** (rounded + arrow icon). Key properties:108- `padding: 10-12px 24-28px`, `font-weight: 700`, `text-transform: uppercase`109- Add hover: `translateY(-1px)` + increased shadow or background swap110- Pill variant: `border-radius: 50px` with `::after` arrow content111112### CTA Copy Best Practices113114| Weak | Strong | Why |115|------|--------|-----|116| Submit | Get Started | Action-oriented |117| Click Here | Shop the Sale | Specific benefit |118| Learn More | See How It Works | Curiosity-driven |119| Buy Now | Claim Your 20% Off | Value-driven |120| Sign Up | Start Free Trial | Low commitment |121| Download | Get Your Free Guide | Ownership language |122123### CTA Placement Rules124- **300x250:** Bottom-center or bottom-right125- **728x90:** Right side, vertically centered126- **160x600:** Bottom-center127- **320x50:** Right side128- Always leave at least 8px padding around the CTA129- CTA should occupy 15-25% of the total ad width130131---132133## Step 5: Value Proposition Framework134135### Headline Formulas1361371. **Benefit-first:** "Save 3 Hours Every Week"1382. **Problem-solution:** "Tired of [Problem]? Try [Product]"1393. **Social proof:** "Join 50,000+ [Users] Who..."1404. **Urgency:** "Last Day: 40% Off Everything"1415. **Curiosity:** "The [Tool] Top Companies Use for [Result]"1426. **Numbers:** "3x Faster [Task] Starting Today"143144### Copy Constraints by Size145146| Size | Headline Max | Body Max | CTA Max |147|------|-------------|----------|---------|148| 300x250 | 8 words | 12 words | 3 words |149| 728x90 | 5 words | 0 (no room) | 2 words |150| 160x600 | 6 words | 10 words | 2 words |151| 300x600 | 8 words | 15 words | 3 words |152| 320x50 | 4 words | 0 | 2 words |153154---155156## Step 6: Layout Templates by Size157158### Layout Patterns by Size159160- **300x250**: Flex column. Logo top (12px padding), visual area (flex:1), content bottom (16px padding, centered). Headline 18px/700.161- **728x90**: Flex row, `align-items: center`, 20px gap. Logo left (28px height), headline (flex:1, 20px/700), CTA right.162- **160x600**: Flex column, centered text. Logo top, visual middle (flex:1), headline 16px/700, body 12px, CTA at bottom (`margin-top: auto`).163- **320x50**: Flex row on brand-color bg. Text (flex:1, 13px/700 white), CTA right (white bg, brand-color text, 6px 14px padding).164165All sizes: `position: relative; overflow: hidden; border: 1px solid #E5E7EB;`166167---168169## Step 7: A/B Testing Variation Framework170171Always generate at least 2 variations when possible. Test these dimensions:172173### Variation Axes174175| Axis | Variation A | Variation B |176|------|------------|------------|177| **Headline** | Benefit-focused | Urgency-focused |178| **CTA Color** | Brand primary | High-contrast accent |179| **CTA Copy** | "Get Started" | "Try Free" |180| **Layout** | Image top, text bottom | Text left, image right |181| **Background** | Light/white | Dark/brand color |182| **Visual** | Product screenshot | Abstract/lifestyle |183184### Generating Variations185186When creating an ad, produce:187- **Version A:** The primary design188- **Version B:** Same content, one variable changed (CTA color, headline, or layout)189190Label each variation clearly in the output:191```html192<!-- VARIATION A: Benefit headline, primary CTA -->193<div class="ad variation-a">...</div>194195<!-- VARIATION B: Urgency headline, accent CTA -->196<div class="ad variation-b">...</div>197```198199---200201## Step 8: Platform-Specific Requirements202203### Google Display Network204- File size: max 150KB (HTML5), images under 150KB each205- Animation: max 30 seconds, max 3 loops206- Must include a visible border (1px solid #ccc if background is white)207- Click area must cover the entire ad208- No auto-playing audio209210### Meta (Facebook/Instagram) Ads211- Text on image: keep under 20% of the image area (not enforced but affects delivery)212- Primary text: 125 characters213- Headline: 40 characters214- Square (1:1) and vertical (4:5) perform best on mobile215- Video thumbnails follow same rules216217### LinkedIn Ads218- Professional tone -- avoid clickbait219- Statistics and data-driven headlines perform well220- Blue tones blend with platform; use contrasting colors221- Company logo must be visible222223### Programmatic Display224- Must degrade gracefully (backup static image)225- All assets loaded from relative paths or data URIs226- Click tag implementation required227228```html229<!-- Standard click tag -->230<script>231var clickTag = "https://example.com";232</script>233<a href="javascript:void(window.open(clickTag))" style="position:absolute;inset:0;z-index:999;">234</a>235```236237---238239## Step 9: HTML5 Animation for Ads240241### Animation Patterns242243**Staggered entry**: Use `fadeSlideIn` (opacity 0->1, translateY 10px->0) with 0.2s staggered delays for logo, visual, headline, CTA. Add a subtle `ctaPulse` (scale 1->1.03) after entry completes.244245**Multi-frame rotation**: Position frames absolutely, use a shared `@keyframes frame` with opacity in/out, stagger by `total-duration / num-frames`. Max 3 frames over 10-15s.246247### Animation Guidelines248- Total animation: 15-30 seconds max, max 3 loops249- End on a static frame with CTA visible250- No more than 3 frames/scenes251- Avoid fast flashing (accessibility)252- Final frame must show: headline + CTA + logo253254---255256## Step 10: Ad Border and Container257258Every display ad needs a clear boundary:259260- `border: 1px solid #E5E7EB; border-radius: 0; overflow: hidden; position: relative;`261- Full-bleed click area: `position: absolute; inset: 0; z-index: 100; cursor: pointer;`262263---264265## Quality Checklist266267- [ ] Dimensions exactly match the target ad size268- [ ] Clear visual hierarchy: Visual > Headline > CTA269- [ ] CTA is prominent and clearly clickable270- [ ] Copy is concise and within character limits271- [ ] Brand colors and fonts from design-context272- [ ] 1px border present (required for display ads)273- [ ] File size is reasonable (aim for under 150KB total)274- [ ] Animation (if any) ends on a static frame with visible CTA275- [ ] At least 2 variations provided for A/B testing276- [ ] No text below 10px font size277- [ ] Sufficient contrast ratios for accessibility