Loading source
Pulling the file list, source metadata, and syntax-aware rendering for this listing.
Source from repo
Generates and iterates ad copy at scale for Google Ads, Meta, LinkedIn, TikTok, and Twitter/X with performance data analysis.
Files
Skill
Size
Entrypoint
Format
Open file
Syntax-highlighted preview of this file as included in the skill package.
references/platform-specs.md
1# Platform Specs Reference23Complete character limits, format requirements, and best practices for each ad platform.45---67## Google Ads89### Responsive Search Ads (RSAs)1011| Element | Character Limit | Required | Notes |12|---------|----------------|----------|-------|13| Headline | 30 chars | 3 minimum, 15 max | Any 3 may be shown together |14| Description | 90 chars | 2 minimum, 4 max | Any 2 may be shown together |15| Display path 1 | 15 chars | Optional | Appears after domain in URL |16| Display path 2 | 15 chars | Optional | Appears after path 1 |17| Final URL | No limit | Required | Landing page URL |1819**Combination rules:**20- Google selects up to 3 headlines and 2 descriptions to show21- Headlines appear separated by " | " or stacked22- Any headline can appear in any position unless pinned23- Pinning reduces Google's ability to optimize — use sparingly2425**Pinning strategy:**26- Pin your brand name to position 1 if brand guidelines require it27- Pin your strongest CTA to position 2 or 328- Leave most headlines unpinned for machine learning2930**Headline mix recommendation (15 headlines):**31- 3-4 keyword-focused (match search intent)32- 3-4 benefit-focused (what they get)33- 2-3 social proof (numbers, awards, customers)34- 2-3 CTA-focused (action to take)35- 1-2 differentiators (why you over competitors)36- 1 brand name headline3738**Description mix recommendation (4 descriptions):**39- 1 benefit + proof point40- 1 feature + outcome41- 1 social proof + CTA42- 1 urgency/offer + CTA (if applicable)4344### Performance Max4546| Element | Character Limit | Notes |47|---------|----------------|-------|48| Headline | 30 chars (5 required) | Short headlines for various placements |49| Long headline | 90 chars (5 required) | Used in display, video, discover |50| Description | 90 chars (1 required, 5 max) | Accompany various ad formats |51| Business name | 25 chars | Required |5253### Display Ads5455| Element | Character Limit |56|---------|----------------|57| Headline | 30 chars |58| Long headline | 90 chars |59| Description | 90 chars |60| Business name | 25 chars |6162---6364## Meta Ads (Facebook & Instagram)6566### Single Image / Video / Carousel6768| Element | Recommended | Maximum | Notes |69|---------|-------------|---------|-------|70| Primary text | 125 chars | 2,200 chars | Text above image; truncated after ~125 |71| Headline | 40 chars | 255 chars | Below image; truncated after ~40 |72| Description | 30 chars | 255 chars | Below headline; may not show |73| URL display link | 40 chars | N/A | Optional custom display URL |7475**Placement-specific notes:**76- **Feed**: All elements show; primary text most visible77- **Stories/Reels**: Primary text overlaid; keep under 72 chars78- **Right column**: Only headline visible; skip description79- **Audience Network**: Varies by publisher8081**Best practices:**82- Front-load the hook in primary text (first 125 chars)83- Use line breaks for readability in longer primary text84- Emojis: test, but don't overuse — 1-2 per ad max85- Questions in primary text increase engagement86- Headline should be a clear CTA or value statement8788### Lead Ads (Instant Form)8990| Element | Limit |91|---------|-------|92| Greeting headline | 60 chars |93| Greeting description | 360 chars |94| Privacy policy text | 200 chars |9596---9798## LinkedIn Ads99100### Single Image Ad101102| Element | Recommended | Maximum | Notes |103|---------|-------------|---------|-------|104| Intro text | 150 chars | 600 chars | Above the image; truncated after ~150 |105| Headline | 70 chars | 200 chars | Below the image |106| Description | 100 chars | 300 chars | Only shows on Audience Network |107108### Carousel Ad109110| Element | Limit |111|---------|-------|112| Intro text | 255 chars |113| Card headline | 45 chars |114| Card count | 2-10 cards |115116### Message Ad (InMail)117118| Element | Limit |119|---------|-------|120| Subject line | 60 chars |121| Message body | 1,500 chars |122| CTA button | 20 chars |123124### Text Ad125126| Element | Limit |127|---------|-------|128| Headline | 25 chars |129| Description | 75 chars |130131**LinkedIn-specific guidelines:**132- Professional tone, but not boring133- Use job-specific language the audience recognizes134- Statistics and data points perform well135- Avoid consumer-style hype ("Amazing!" "Incredible!")136- First-person testimonials from peers resonate137138---139140## TikTok Ads141142### In-Feed Ads143144| Element | Recommended | Maximum | Notes |145|---------|-------------|---------|-------|146| Ad text | 80 chars | 100 chars | Above the video |147| Display name | N/A | 40 chars | Brand name |148| CTA button | Platform options | Predefined | Select from TikTok's options |149150### Spark Ads (Boosted Organic)151152| Element | Notes |153|---------|-------|154| Caption | Uses original post caption |155| CTA button | Added by advertiser |156| Display name | Original creator's handle |157158**TikTok-specific guidelines:**159- Native content outperforms polished ads160- First 2 seconds determine if they watch161- Use trending sounds and formats162- Text overlay is essential (most watch with sound off)163- Vertical video only (9:16)164165---166167## Twitter/X Ads168169### Promoted Tweets170171| Element | Limit | Notes |172|---------|-------|-------|173| Tweet text | 280 chars | Full tweet with image/video |174| Card headline | 70 chars | Website card |175| Card description | 200 chars | Website card |176177### Website Cards178179| Element | Limit |180|---------|-------|181| Headline | 70 chars |182| Description | 200 chars |183184**Twitter/X-specific guidelines:**185- Conversational, casual tone186- Short sentences work best187- One clear message per tweet188- Hashtags: 1-2 max (0 is often better for ads)189- Threads can work for consideration-stage content190191---192193## Character Counting Tips194195- **Spaces count** as characters on all platforms196- **Emojis** count as 1-2 characters depending on platform197- **Special characters** (|, &, etc.) count as 1 character198- **URLs** in body text count against limits199- **Dynamic keyword insertion** (`{KeyWord:default}`) can exceed limits — set safe defaults200- Always verify in the platform's ad preview before launching201202---203204## Multi-Platform Creative Adaptation205206When creating for multiple platforms simultaneously, start with the most restrictive format:2072081. **Google Search headlines** (30 chars) — forces the tightest messaging2092. **Expand to Meta headlines** (40 chars) — add a word or two2103. **Expand to LinkedIn intro text** (150 chars) — add context and proof2114. **Expand to Meta primary text** (125+ chars) — full hook and value prop212213This cascading approach ensures your core message works everywhere, then gets enriched for platforms that allow more space.214