# Platform Specs — Ad Copy Character Limits and Format Requirements

Full specifications for each major ad platform. Use this when generating or validating ad copy.

---

## Google Ads

### Responsive Search Ads (RSA)
| Element | Limit | Count | Notes |
|---------|-------|-------|-------|
| Headline | 30 chars | Up to 15 (min 3) | At least 3 unique, Google mixes them |
| Description | 90 chars | Up to 4 (min 2) | Google selects 2 to show |
| Display URL path | 15 chars each | 2 path fields | Auto-appended to domain |
| Final URL | No char limit | 1 | Must match domain in display URL |

**Pinning:** You can pin headlines to position 1, 2, or 3. Only pin when critical (e.g., brand name, compliance disclaimer). Pinning reduces Google's optimization.

**Ad Strength:** Google scores RSAs: Poor / Average / Good / Excellent. Target "Good" or "Excellent" by:
- Using all 15 headline slots
- Making headlines unique (no repeats, no same keywords)
- Including your main keyword in at least 3 headlines
- Using descriptions that complement, not repeat, headlines

### Performance Max (PMax)
| Element | Limit | Count |
|---------|-------|-------|
| Headline | 30 chars | Up to 5 |
| Long headline | 90 chars | Up to 5 |
| Description | 90 chars | Up to 5 |
| Short description | 60 chars | 1 |

### Display Ads (Responsive)
| Element | Limit | Count |
|---------|-------|-------|
| Short headline | 30 chars | 1 |
| Long headline | 90 chars | 1 |
| Description | 90 chars | 1 |
| Business name | 25 chars | 1 |

---

## Meta (Facebook & Instagram)

### Feed Ads (Single Image / Carousel)
| Element | Limit | Notes |
|---------|-------|-------|
| Primary text | 125 chars (preview) / 2200 max | First 125 shown before "See more" |
| Headline | 40 chars | Shown below image |
| Description | 30 chars | Optional, below headline |
| Link description | 20 chars | URL preview |

**Image text:** Meta's old ">20% text = reduced distribution" rule was retired in 2021 and is no longer enforced — but text-light images still tend to outperform text-heavy ones, so keep image text minimal as a best practice and put copy in the primary text field.

### Story / Reel Ads
| Element | Limit | Notes |
|---------|-------|-------|
| Primary text overlay | 90 chars | Auto-placed if used |
| No traditional headline | — | Overlay text is the copy |

### Carousel Ads
| Element | Limit | Notes |
|---------|-------|-------|
| Primary text | 125 chars (preview) | Shared across cards |
| Headline per card | 40 chars | Each card has own headline |
| Description per card | 20 chars | Optional |
| Cards | 2–10 | |

**Rejection triggers (Meta):**
- "Facebook" or "Instagram" in ad copy
- Guarantees of specific financial outcomes ("Make $10k/month")
- Before/after comparison (health/beauty)
- Excessive use of first-person pronouns targeting users ("you," "your" in a way that implies personal attributes)
- ALL CAPS in any significant portion
- Exaggerated health claims
- Click-bait phrasing ("You won't believe...", "Click to find out...")

---

## LinkedIn

### Sponsored Content (Single Image)
| Element | Limit | Notes |
|---------|-------|-------|
| Intro text | 150 chars (preview) / 600 max | First 150 visible before "See more" |
| Headline | 70 chars | |
| Description | 100 chars | Optional |

### Message Ads (InMail)
| Element | Limit | Notes |
|---------|-------|-------|
| Subject line | 60 chars | |
| Body | 1,500 chars | First 500 most critical |
| CTA button | 20 chars | |

### Conversation Ads
| Element | Limit | Notes |
|---------|-------|-------|
| Intro message | 500 chars | |
| CTA per branch | 25 chars | Up to 5 buttons |
| Message body per branch | 500 chars | |

**LinkedIn-specific rules:**
- No "Click here" as standalone CTA
- Keep image text minimal — text-heavy creative underperforms in feed (best practice, not an enforced rejection rule)
- No misleading job descriptions or recruitment bait
- Avoid generic corporate language — LinkedIn users are saturated with it
- B2B works better when you lead with a specific insight or stat, not a product pitch

---

## Twitter/X

### Promoted Tweets
| Element | Limit | Notes |
|---------|-------|-------|
| Tweet text | 280 chars total | URL counts as 23 chars |
| Usable copy | ~257 chars | After URL deduction |
| Image | Any ratio | 1200×628 recommended |

**Twitter-specific notes:**
- Copy + URL + image works in the feed
- Lead with the hook — first 15 words matter most (above-the-fold on mobile)
- Hashtags are optional for paid — they distract from the CTA

---

## TikTok

### In-Feed Ads
| Element | Limit | Notes |
|---------|-------|-------|
| Ad text / caption | 100 chars | Overlaid on video |
| Video length | 5–60 seconds (optimal 15–30s) | |
| Mention/hashtag | Avoid branded hashtags | Policy restriction |

**TikTok-specific notes:**
- Hook must land in the first 3 seconds — after that, thumb stops
- Native-feeling content outperforms polished ads (not always better to use brand assets)
- Text on screen increases time-watched
- CTA button text: "Shop Now," "Learn More," "Download," "Sign Up" are options

---

## Common Rejection Triggers (All Platforms)

| Trigger | Why It Gets Rejected | Fix |
|---------|---------------------|-----|
| ALL CAPS words | Flagged as aggressive/spam | Use title case or sentence case |
| Excessive punctuation | !!!, ???, ... — looks spammy | One at most |
| "#1" claims | Superlatives require proof | Remove or qualify |
| "Guaranteed" | Financial/result guarantees restricted | "Proven to" or show results data |
| Trademarked terms | Platform + competitor names | Remove or get written permission |
| Profanity | Obvious | Remove |
| "Click here" | Considered low-quality bait | Use specific CTA |
| Personal attributes | "You are depressed," "For single people" | Rephrase without identifying attributes |
| Misleading discounts | "90% off" without context | Substantiate or remove |

---

## Platform Comparison — Which Platform for Which Creative?

| Use case | Best platform | Why |
|----------|-------------|-----|
| High intent, search-driven | Google Search RSA | Users are already looking |
| Visual product with broad audience | Meta Feed | Best visual reach, lowest CPM for B2C |
| B2B decision-makers | LinkedIn | Job title + company size targeting |
| Young consumer audience, viral potential | TikTok | Organic-native feel, high engagement |
| Real-time relevance, news-adjacent | Twitter/X | Timely content performs |
| Retargeting across the web | Google Display | Broad reach, cheap retargeting |
