# Platform Specifications Reference

> Last updated: 2026-02-11
> This file is consumed by an AI agent to validate marketing content against platform requirements. All specs reflect current 2026 platform standards.

---

## Section 1: Social Media Platform Specs

### Instagram

#### Feed Posts

| Spec | Value |
|---|---|
| Character limit | 2,200 |
| Optimal caption length | 125-150 characters (before "more" truncation) |
| Image formats | JPEG, PNG |
| Square image | 1080 x 1080 px (1:1) |
| Portrait image | 1080 x 1350 px (4:5) |
| Landscape image | 1080 x 566 px (1.91:1) |
| Max file size (image) | 30 MB |
| Hashtag limit | 30 max, 3-5 recommended |
| Algorithm priority signals | Saves, shares, comments, watch time, relationship closeness |
| Best posting times | Tue-Thu 9-11 AM, Wed 11 AM, Fri 10-11 AM (local) |

#### Instagram Reels

| Spec | Value |
|---|---|
| Duration | 15s, 30s, 60s, 90s (up to 3 min with some accounts) |
| Aspect ratio | 9:16 (vertical) |
| Resolution | 1080 x 1920 px |
| Video format | MP4, MOV |
| Max file size | 4 GB |
| Cover photo | 1080 x 1920 px |
| Caption limit | 2,200 characters |
| Hashtag limit | 30 max, 3-8 recommended |
| Algorithm priority signals | Watch-through rate, replays, shares, audio usage, originality |
| Best posting times | Mon-Thu 9 AM, 12 PM, 7-8 PM (local) |

#### Instagram Stories

| Spec | Value |
|---|---|
| Duration per slide | Up to 60 seconds |
| Aspect ratio | 9:16 |
| Resolution | 1080 x 1920 px |
| Image format | JPEG, PNG |
| Video format | MP4, MOV |
| Max file size (video) | 4 GB |
| Text-safe zone | Keep critical content within center 1080 x 1420 px (avoid top 250 px and bottom 250 px for UI overlays) |
| Sticker/link limit | 1 link sticker per story |
| Lifespan | 24 hours (unless added to Highlights) |

#### Instagram Carousel

| Spec | Value |
|---|---|
| Slides | 2-20 per carousel |
| Aspect ratio | All slides must match; 1:1 or 4:5 recommended |
| Resolution (square) | 1080 x 1080 px |
| Resolution (portrait) | 1080 x 1350 px |
| Image format | JPEG, PNG |
| Video per slide | Up to 60 seconds |
| Caption limit | 2,200 characters |
| Algorithm priority signals | Swipe-through rate, saves, shares, dwell time per slide |

---

### TikTok

| Spec | Value |
|---|---|
| Video duration | 15s, 60s, 3 min, 10 min, 30 min, 60 min |
| Aspect ratio | 9:16 (vertical) |
| Resolution | 1080 x 1920 px minimum |
| Video format | MP4, MOV, WebM |
| Max file size | 10 GB (desktop), 287 MB (mobile) |
| Caption limit | 4,000 characters |
| Hashtag limit | No hard limit; 3-5 relevant hashtags recommended |
| Photo mode | Up to 35 images per carousel post |
| Algorithm priority signals | Completion rate, rewatch rate, shares, comments, profile visits after viewing, content diversity score |
| Best posting times | Tue 2-4 PM, Thu 12-3 PM, Fri 1-3 PM (local) |
| Text-safe zone | Keep text within center 720 x 1280 px area to avoid UI overlaps |

---

### LinkedIn

#### LinkedIn Post

| Spec | Value |
|---|---|
| Character limit | 3,000 |
| Optimal length | 800-1,200 characters for engagement |
| Image dimensions | 1200 x 627 px (landscape), 1080 x 1080 px (square), 1080 x 1350 px (portrait) |
| Image format | JPEG, PNG, GIF |
| Max image file size | 8 MB |
| Video duration | 3 seconds to 10 minutes |
| Video format | MP4 |
| Max video file size | 5 GB |
| Video aspect ratio | 1:1, 16:9, or 9:16 |
| Document/carousel | PDF upload, up to 300 pages, max 100 MB |
| Hashtag limit | No hard limit; 3-5 recommended |
| Algorithm priority signals | Dwell time, comments (especially early), shares, relevance to network, content type diversity |
| Best posting times | Tue-Thu 8-10 AM, Tue 10-11 AM peak (local business timezone) |

#### LinkedIn Article

| Spec | Value |
|---|---|
| Headline limit | 100 characters |
| Body limit | 125,000 characters |
| Cover image | 1920 x 1080 px recommended |
| Supports | Rich text, images, embeds, links |
| Algorithm priority signals | Read-through rate, comments, external shares |

#### LinkedIn Newsletter

| Spec | Value |
|---|---|
| Title limit | 64 characters |
| Description limit | 250 characters |
| Logo image | 300 x 300 px |
| Cover image | 1920 x 1080 px |
| Body limit | Same as Article (125,000 characters) |
| Frequency options | Daily, weekly, biweekly, monthly |
| Algorithm priority signals | Subscriber growth rate, open rate, engagement rate |

---

### Twitter/X

| Spec | Value |
|---|---|
| Character limit (free) | 280 |
| Character limit (Premium) | 25,000 |
| Optimal tweet length | 71-100 characters for engagement |
| Image dimensions | 1600 x 900 px (16:9) recommended |
| Image formats | JPEG, PNG, GIF, WebP |
| Max images per tweet | 4 |
| Max image file size | 5 MB (static), 15 MB (GIF) |
| Video duration | 0.5s to 140 seconds (up to 240 min for Premium) |
| Video resolution | 1920 x 1200 px max |
| Video format | MP4 (H.264 video, AAC audio) |
| Max video file size | 512 MB |
| Video aspect ratio | 16:9 or 1:1 recommended |
| Hashtag limit | No hard limit; 1-2 recommended |
| Algorithm priority signals | Replies, retweets, bookmark rate, link clicks, profile visits, verified status, dwell time |
| Best posting times | Mon-Fri 8-10 AM, Wed 9-11 AM (local) |

---

### Facebook

#### Facebook Post

| Spec | Value |
|---|---|
| Character limit | 63,206 |
| Optimal length | 40-80 characters for engagement |
| Image dimensions | 1200 x 630 px (landscape), 1080 x 1080 px (square) |
| Image format | JPEG, PNG, GIF, WebP |
| Max image file size | 30 MB |
| Link preview image | 1200 x 630 px minimum |
| Video duration | 1 second to 240 minutes |
| Video format | MP4, MOV |
| Video resolution | 1080p recommended |
| Max video file size | 10 GB |
| Algorithm priority signals | Meaningful interactions (comments, shares), watch time, content type matching user preference, Group engagement |
| Best posting times | Mon-Fri 9 AM-12 PM, Wed 11 AM peak (local) |

#### Facebook Reels

| Spec | Value |
|---|---|
| Duration | Up to 90 seconds |
| Aspect ratio | 9:16 |
| Resolution | 1080 x 1920 px |
| Video format | MP4, MOV |
| Max file size | 4 GB |
| Caption limit | 2,200 characters |
| Algorithm priority signals | Originality, completion rate, shares, audio trends |

#### Facebook Stories

| Spec | Value |
|---|---|
| Duration per slide | Up to 20 seconds (video) |
| Aspect ratio | 9:16 |
| Resolution | 1080 x 1920 px |
| Image format | JPEG, PNG |
| Video format | MP4, MOV |
| Max file size | 4 GB |
| Text-safe zone | Center 1080 x 1420 px |
| Lifespan | 24 hours |

---

### Pinterest

#### Standard Pin

| Spec | Value |
|---|---|
| Title limit | 100 characters |
| Description limit | 500 characters |
| Image aspect ratio | 2:3 recommended (1000 x 1500 px) |
| Minimum image width | 600 px |
| Image format | JPEG, PNG, WebP |
| Max file size | 20 MB |
| Algorithm priority signals | Save rate, click-through rate, pin quality score, domain quality, keyword relevance, freshness |
| Best posting times | Sat 8-11 PM, Fri-Sun for lifestyle; Tue-Thu for B2B (local) |

#### Idea Pin

| Spec | Value |
|---|---|
| Pages | Up to 20 |
| Image resolution | 1080 x 1920 px (9:16) |
| Video duration per page | Up to 60 seconds |
| Video format | MP4, MOV |
| Title limit | 100 characters |
| Algorithm priority signals | View-through rate, saves, follows from pin, topic tag relevance |

#### Video Pin

| Spec | Value |
|---|---|
| Duration | 4 seconds to 15 minutes |
| Aspect ratio | 1:1, 2:3, or 9:16 |
| Resolution | 1080 px minimum width |
| Video format | MP4, MOV |
| Max file size | 2 GB |
| Title limit | 100 characters |
| Description limit | 500 characters |

---

### YouTube

#### YouTube Video

| Spec | Value |
|---|---|
| Title limit | 100 characters |
| Description limit | 5,000 characters |
| Tag limit | 500 characters total |
| Aspect ratio | 16:9 standard |
| Resolution | 1920 x 1080 px (1080p) minimum recommended; 3840 x 2160 (4K) supported |
| Video format | MP4 (H.264 + AAC) recommended; also MOV, AVI, WMV, FLV, WebM |
| Max file size | 256 GB |
| Max duration | 12 hours |
| Thumbnail | 1280 x 720 px (16:9), max 2 MB, JPEG/PNG/GIF |
| Chapters | Minimum 3 chapters, each 10+ seconds, first must start at 0:00 |
| Algorithm priority signals | Click-through rate, watch time, average view duration, session time, engagement (likes, comments, shares), subscriber conversion |
| Best posting times | Fri-Sat 9-11 AM, Thu 3-4 PM, weekday evenings 5-9 PM (viewer timezone) |

#### YouTube Shorts

| Spec | Value |
|---|---|
| Duration | Up to 3 minutes |
| Aspect ratio | 9:16 (vertical) |
| Resolution | 1080 x 1920 px |
| Title limit | 100 characters |
| Algorithm priority signals | Swipe-away rate (lower is better), replays, likes, subscriber conversion from Shorts |

#### YouTube Live

| Spec | Value |
|---|---|
| Resolution | Up to 4K (2160p) at 60fps |
| Recommended bitrate (1080p) | 4,500-9,000 Kbps |
| Stream format | RTMP or HLS |
| Latency options | Ultra low, low, normal |
| Thumbnail | 1280 x 720 px |
| Schedule in advance | Yes, up to weeks ahead |

---

### Reddit

| Spec | Value |
|---|---|
| Title limit | 300 characters |
| Text post limit | 40,000 characters |
| Image dimensions | No strict requirement; 1200 x 628 px recommended for link posts |
| Image format | JPEG, PNG, GIF |
| Max images per post | 20 (gallery post) |
| Video duration | Up to 15 minutes |
| Video format | MP4, MOV |
| Max video file size | 1 GB |
| Hashtag strategy | Not used on Reddit; flair and subreddit selection matter instead |
| Algorithm priority signals | Upvote/downvote velocity, comment count, subreddit relevance, account karma and age |
| Best posting times | Mon 6-8 AM, Wed-Fri 7-9 AM EST (US-centric subreddits) |

---

### Threads

| Spec | Value |
|---|---|
| Character limit | 500 |
| Image dimensions | 1080 x 1350 px (4:5) recommended |
| Image format | JPEG, PNG |
| Max images per post | 10 |
| Video duration | Up to 5 minutes |
| Video format | MP4, MOV |
| Video aspect ratio | 9:16 or 1:1 |
| Link preview | Supported |
| Hashtag strategy | Topic tags (1 per post) |
| Algorithm priority signals | Replies, reposts, engagement velocity, follower relationship |
| Best posting times | Mon-Fri 8-10 AM, 12-1 PM (local) |

---

### Snapchat

| Spec | Value |
|---|---|
| Snap duration | Up to 60 seconds (video), 10 seconds (image) |
| Aspect ratio | 9:16 |
| Resolution | 1080 x 1920 px |
| Video format | MP4, MOV |
| Max file size | 5 MB (image), 32 MB (video for ads) |
| Spotlight video | Up to 3 minutes |
| Text limit (caption) | 80 characters on-screen |
| Text-safe zone | Center 1080 x 1420 px |
| Algorithm priority signals (Spotlight) | Completion rate, shares, favorites, screenshot rate |
| Best posting times | Thu-Sat 10 PM-1 AM (local; younger demographic engagement peaks) |

---

## Section 2: Email Specifications

### Subject Line Limits by Client

| Email Client | Visible Characters (Desktop) | Visible Characters (Mobile) |
|---|---|---|
| Gmail | 70 | 40 |
| Outlook (desktop app) | 73 | 38 |
| Outlook.com | 60 | 38 |
| Apple Mail | 78 | 35 |
| Yahoo Mail | 46 | 35 |
| Samsung Mail | N/A | 33 |

**Recommendation:** Keep subject lines under 40 characters for reliable cross-client mobile rendering. Front-load the most important words.

### Preview Text (Preheader)

| Email Client | Preview Text Visible Length |
|---|---|
| Gmail | 90-110 characters (varies by subject line length) |
| Outlook | 35-90 characters |
| Apple Mail | 75-100 characters |
| Yahoo Mail | 55-70 characters |

**Recommendation:** Write 40-90 characters of preview text. If not explicitly set, clients pull the first visible body text. Use hidden preheader text in HTML to control this.

### Email Body Specs

| Spec | Value |
|---|---|
| Recommended body width | 600 px (max 640 px) |
| Gmail clipping threshold | 102 KB (total HTML size including inline CSS). Messages exceeding this are truncated with a "[Message clipped] View entire message" link. |
| Max email size (practical) | Keep under 100 KB HTML. Total with images should stay under 1 MB for fast loading. |
| Font stacks | System fonts for reliability: Arial, Helvetica, Georgia, Times New Roman. Web fonts supported in Apple Mail, iOS Mail, Android (default), Outlook.com, Thunderbird. NOT supported in Gmail, Outlook desktop. |
| Minimum font size (mobile) | 14 px body, 22 px headlines (iOS auto-sizes text below 13 px) |
| Line height | 1.4-1.6 for body text |
| Background images | Supported in most clients; NOT supported in Outlook desktop (use VML fallback) |

### Image Handling

| Spec | Value |
|---|---|
| Image formats | JPEG, PNG, GIF. WebP supported in Gmail, Apple Mail; NOT in Outlook. |
| Retina support | Use 2x resolution images displayed at 1x size (e.g., 1200 px image displayed at 600 px width) |
| Image blocking | Outlook, some corporate clients block images by default. Always include alt text. |
| Animated GIF | Supported everywhere except Outlook desktop (shows first frame only) |
| Max single image width | 600 px display width (1200 px actual for retina) |
| Image-to-text ratio | Aim for 60% text / 40% images to avoid spam filters |

### CTA Button Specs

| Spec | Recommendation |
|---|---|
| Minimum button size | 44 x 44 px (Apple HIG tap target) |
| Recommended button size | 48-60 px height, full-width on mobile |
| Button method | Bulletproof buttons using HTML/CSS (padding-based). VML fallback for Outlook. Avoid image-only buttons. |
| Button text | 2-5 words, action-oriented. Max 30 characters. |
| Button contrast | WCAG AA minimum (4.5:1 contrast ratio for text on button color) |

### Dark Mode Considerations

| Client | Dark Mode Behavior |
|---|---|
| Apple Mail / iOS Mail | Full color inversion with `@media (prefers-color-scheme: dark)` support |
| Gmail (Android) | Partial: inverts light backgrounds to dark, adjusts text to white. Does NOT respect `prefers-color-scheme`. |
| Gmail (iOS) | Partial: similar to Android. Does NOT respect `prefers-color-scheme`. |
| Outlook (desktop) | Full inversion. Some transparent PNGs get white backgrounds. |
| Outlook.com | Partial inversion. Supports `[data-ogsc]` and `[data-ogsb]` selectors. |
| Yahoo Mail | Applies its own dark theme. Limited CSS override support. |

**Dark mode design rules:**
- Add transparent padding around logos (prevents awkward color clashes)
- Use semi-transparent PNGs with contrasting edges
- Test with both dark and light backgrounds
- Define both light and dark color schemes in CSS where supported
- Avoid pure white (#FFFFFF) backgrounds; use #FAFAFA so dark mode detection triggers consistently

### Mobile Rendering Rules

| Rule | Detail |
|---|---|
| Responsive approach | Use fluid tables with `max-width: 600px` and `width: 100%` |
| Media queries | Supported in Apple Mail, iOS Mail, Android (default), Thunderbird. NOT supported in Gmail (any), Yahoo Mail, Outlook. |
| Stacking columns | Use `display: block` on table cells for mobile stacking via media queries, or use a hybrid/fluid approach for clients without media query support |
| Touch targets | Minimum 44 x 44 px for all tappable elements |
| Single-column layout | Recommended for mobile-first design |

### Apple Mail Privacy Protection (MPP)

| Impact | Detail |
|---|---|
| Open tracking | Unreliable. Apple pre-fetches all images (including tracking pixels) via proxy, inflating open rates. Approximately 50-60% of Apple Mail users have MPP enabled. |
| IP-based geolocation | No longer accurate for Apple Mail users. Apple proxies mask true IP. |
| Device detection | Unreliable. User-agent data is obscured. |
| Recommended response | Shift KPIs to click-through rate, conversion rate, and revenue attribution. Use UTM parameters for tracking. Build engagement segments based on clicks, not opens. |

---

## Section 3: Ad Platform Creative Specs

### Google Ads

#### Responsive Search Ads (RSA)

| Spec | Value |
|---|---|
| Headlines | Up to 15; each max 30 characters |
| Descriptions | Up to 4; each max 90 characters |
| Display URL path | 2 fields, each max 15 characters |
| Final URL | Required |
| Pinning | Available for headlines (positions 1, 2, 3) and descriptions (positions 1, 2) |
| Minimum required | 3 headlines, 2 descriptions |
| Recommendation | Provide all 15 headlines and 4 descriptions for maximum combinations |

#### Google Display Ads

| Spec | Value |
|---|---|
| Landscape image | 1200 x 628 px (1.91:1) — required |
| Square image | 1200 x 1200 px (1:1) — required |
| Portrait image | 960 x 1200 px (4:5) — optional |
| Logo (landscape) | 1200 x 300 px (4:1) — optional |
| Logo (square) | 1200 x 1200 px (1:1) — required |
| Image file size | Max 5.12 MB each |
| Image format | JPEG, PNG |
| Short headline | Max 30 characters (up to 5) |
| Long headline | Max 90 characters (1) |
| Description | Max 90 characters (up to 5) |
| Business name | Max 25 characters |
| CTA options | Automated, Learn More, Get Quote, Apply Now, Sign Up, Contact Us, Download, Book Now, Shop Now, Visit Site |

#### Performance Max (PMax)

| Spec | Value |
|---|---|
| Images | Up to 20. Landscape (1200x628), square (1200x1200), portrait (960x1200). Min 1 landscape and 1 square required. |
| Logos | Up to 5. Square (1200x1200) required. Landscape (1200x300) recommended. |
| Videos | Up to 5. Landscape (16:9), square (1:1), vertical (9:16). Min 10 seconds. If none provided, Google auto-generates from assets. |
| Headlines | Up to 5, max 30 characters each |
| Long headlines | Up to 5, max 90 characters each |
| Descriptions | Up to 5, max 90 characters each. Plus 1 short description max 60 characters. |
| Business name | Max 25 characters |
| CTA | Automated or manual selection from standard options |
| Audience signals | Required: custom segments, interests, demographics, remarketing lists |

#### YouTube Ads

| Format | Spec |
|---|---|
| Skippable in-stream | Min 12 seconds, no max. Skippable after 5s. Recommended 15-30s for performance. |
| Non-skippable in-stream | 15 seconds exactly (20s in some regions) |
| Bumper ad | Max 6 seconds, non-skippable |
| In-feed (Discovery) | Thumbnail 1280x720 (auto-selected or custom). Title max 100 chars. Description max 2 lines. |
| Video resolution | 1920x1080 (16:9) or 1080x1920 (9:16) for Shorts ads |
| File format | MP4 recommended |
| Max file size | 256 GB (same as standard YouTube upload) |
| Companion banner | 300 x 60 px (desktop, auto-generated or custom) |

#### Google Shopping

| Spec | Value |
|---|---|
| Product title | Max 150 characters (first 70 most visible) |
| Product description | Max 5,000 characters |
| Product image | Min 100 x 100 px (non-apparel), 250 x 250 px (apparel). Recommended 800 x 800+. Max 64 MP. |
| Image format | JPEG, PNG, GIF (non-animated), BMP, TIFF |
| Image background | White or transparent recommended |
| Image content | No watermarks, logos, promotional text, borders |

---

### Meta Ads (Facebook & Instagram)

#### Feed Ads

| Spec | Value |
|---|---|
| Primary text | 125 characters recommended (max 2,200 before truncation) |
| Headline | 27 characters recommended (max 255) |
| Description | 27 characters recommended (max 2,200) |
| Image (single) | 1080 x 1080 px (1:1) or 1200 x 628 px (1.91:1) |
| Image format | JPEG, PNG |
| Max image file size | 30 MB |
| Video aspect ratio | 1:1 or 4:5 (feed), 9:16 (Stories/Reels) |
| Video duration | 1 second to 241 minutes |
| Video format | MP4, MOV |
| Max video file size | 4 GB |
| Video resolution | 1080 x 1080 px minimum |
| CTA options | Shop Now, Learn More, Sign Up, Download, Get Offer, Book Now, Contact Us, Apply Now, Subscribe, Get Quote, Watch More, Send Message, Get Directions |

#### Stories & Reels Ads

| Spec | Value |
|---|---|
| Aspect ratio | 9:16 |
| Resolution | 1080 x 1920 px |
| Stories video duration | 1-120 seconds |
| Reels video duration | 1-90 seconds |
| Text-safe zone | Keep text/logos within center 1080 x 1420 px |
| Primary text | 125 characters |
| Headline | 40 characters |

#### Carousel Ads

| Spec | Value |
|---|---|
| Cards | 2-10 |
| Image per card | 1080 x 1080 px (1:1) |
| Video per card | Up to 240 minutes; 1:1 aspect ratio |
| Headline per card | 32 characters recommended |
| Description per card | 18 characters recommended |
| Primary text | 125 characters recommended |
| Landing URL | Unique per card or single destination |

#### Collection Ads

| Spec | Value |
|---|---|
| Cover image/video | 1200 x 628 px or 1080 x 1080 px |
| Product images | Pulled from catalog (min 4 products) |
| Headline | 40 characters |
| Opens into | Instant Experience (full-screen mobile) |

---

### LinkedIn Ads

#### Sponsored Content (Single Image)

| Spec | Value |
|---|---|
| Introductory text | 600 characters max (150 recommended) |
| Headline | 200 characters max (70 recommended) |
| Description | 300 characters max (100 recommended) |
| Image | 1200 x 627 px (1.91:1) recommended. Also supports 1080 x 1080 (1:1) and 1080 x 1350 (4:5). |
| Image file size | Max 5 MB |
| Image format | JPEG, PNG, GIF |
| CTA options | Apply, Download, View Quote, Learn More, Sign Up, Subscribe, Register, Join, Attend, Request Demo |

#### Sponsored Content (Video)

| Spec | Value |
|---|---|
| Duration | 3 seconds to 30 minutes |
| Aspect ratio | 16:9 (landscape), 1:1 (square), 9:16 (vertical) |
| Resolution | 360p to 1080p |
| File format | MP4 |
| Max file size | 200 MB |
| Captions | SRT file upload supported and recommended |

#### Sponsored Messaging (Message Ads)

| Spec | Value |
|---|---|
| Subject line | Max 60 characters |
| Message body | Max 1,500 characters |
| CTA button text | Max 20 characters |
| Banner image | 300 x 250 px |
| Clickable links in body | Up to 3 |

#### Document Ads

| Spec | Value |
|---|---|
| File format | PDF, DOC, DOCX, PPT, PPTX |
| Max file size | 100 MB |
| Max pages | 300 (first 5 shown as preview in feed) |
| Introductory text | 600 characters max |
| Headline | 200 characters max |
| Lead gen form | Optional gating after preview pages |

---

### TikTok Ads

#### In-Feed Ads

| Spec | Value |
|---|---|
| Aspect ratio | 9:16, 1:1, or 16:9 |
| Resolution | 720 x 1280 px minimum (9:16 recommended) |
| Video duration | 5-60 seconds (9-15 seconds recommended) |
| Video format | MP4, MOV, MPEG, AVI |
| Max file size | 500 MB |
| Ad description | 1-100 characters (emoji allowed) |
| Display name | Max 40 characters |
| CTA options | Download, Learn More, Shop Now, Sign Up, Contact Us, Apply Now, Book Now, Get Quote, Subscribe, Order Now, View Now |

#### TopView Ads

| Spec | Value |
|---|---|
| Duration | 5-60 seconds |
| Resolution | 1080 x 1920 px |
| Aspect ratio | 9:16 |
| Placement | First in-feed ad seen when opening the app |
| File format | MP4, MOV |
| Max file size | 500 MB |
| Sound | Required (auto-play with sound on) |

#### Spark Ads

| Spec | Value |
|---|---|
| Source | Boost existing organic TikTok posts (own or authorized third-party) |
| Specs | Same as original post (no modification to video) |
| Added features | CTA button, landing page URL, tracking pixel |
| Authorization | Requires video authorization code from creator |
| Duration | Campaign-controlled |

---

### Pinterest Ads

| Spec | Value |
|---|---|
| Standard Pin ad image | 1000 x 1500 px (2:3) |
| Square Pin ad image | 1000 x 1000 px (1:1) |
| Max aspect ratio | 1:2.6 |
| Image format | JPEG, PNG |
| Image file size | Max 20 MB |
| Title | Max 100 characters |
| Description | Max 500 characters |
| Video Pin ad duration | 4 seconds to 15 minutes |
| Video resolution | 1080 px width minimum |
| Video format | MP4, MOV |
| Video max file size | 2 GB |
| Idea Pin ad | Up to 20 pages, 1080 x 1920 px per page |
| Shopping ad | Linked to product catalog; standard Pin specs |
| CTA options | Automated based on campaign objective |

---

### Amazon Ads

#### Sponsored Products

| Spec | Value |
|---|---|
| Type | Keyword- or product-targeted; uses existing product listing |
| Image | Product listing main image (auto-pulled from catalog) |
| Headline | Not customizable (uses product title) |
| No custom creative | Ad uses existing product detail page content |

#### Sponsored Brands

| Spec | Value |
|---|---|
| Headline | Max 50 characters |
| Logo | 400 x 400 px minimum, PNG/JPEG, max 1 MB |
| Custom image | 1200 x 628 px recommended |
| Products featured | 3+ ASINs |
| Video (Sponsored Brands Video) | 6-45 seconds; 1920 x 1080 (16:9) or 1080 x 1920 (9:16) or 1080 x 1080 (1:1); MP4/MOV; max 500 MB |
| Store Spotlight | Links to brand Store pages |

#### Sponsored Display

| Spec | Value |
|---|---|
| Custom image | 1200 x 628 px (landscape), 1200 x 1200 px (square) |
| Logo | 600 x 600 px minimum |
| Headline | Max 50 characters |
| Image format | JPEG, PNG |
| Max file size | 5 MB |
| Video | 6-30 seconds, MP4, 1280 x 720 min, max 500 MB |
| Targeting | Product, audience (views, purchases), contextual |

---

## Section 4: Schema Markup Reference

Use schema.org structured data (JSON-LD format recommended) to enhance search appearance and enable rich results.

| Schema Type | When to Use | Rich Result |
|---|---|---|
| `Article` | Blog posts, news articles, editorial content. Use `NewsArticle` for timely news, `BlogPosting` for blogs. | Article carousel, headline in Top Stories |
| `FAQPage` | Pages with a list of questions and answers. Must show Q&A on the visible page (not just in markup). | Expandable FAQ dropdowns in SERP |
| `HowTo` | Step-by-step instructional content (recipes, DIY, tutorials). Each step must be a distinct action. | Step-by-step rich result with images/video |
| `Product` | Product pages. Include `name`, `image`, `description`, `offers` (price, availability, currency). | Product snippet with price, availability, rating |
| `LocalBusiness` | Businesses with a physical location. Include address, phone, hours, geo coordinates. Subtype to specific business type (e.g., `Restaurant`, `Dentist`). | Knowledge panel, Maps integration |
| `Organization` | Company/brand homepage. Include name, logo, URL, social profiles, contact info. | Knowledge panel, logo in search |
| `Person` | Author pages, speaker bios, team pages. Link to social profiles and authored content. | Knowledge panel for notable people |
| `Review` / `AggregateRating` | Product reviews, service reviews. `AggregateRating` for summary of multiple reviews. Must represent genuine user reviews. | Star ratings in SERP |
| `Event` | Upcoming events with date, location, ticket info. Include `startDate`, `location`, `offers` for tickets. | Event listing with date, venue, ticket link |
| `VideoObject` | Video content on pages. Include `name`, `description`, `thumbnailUrl`, `uploadDate`, `duration`, `contentUrl` or `embedUrl`. | Video carousel, key moments |
| `Speakable` | Content optimized for text-to-speech / voice assistants. Identify which sections are most suitable for audio playback. | Voice assistant eligibility (Google Assistant) |
| `BreadcrumbList` | All pages with breadcrumb navigation. Reflects the page hierarchy. | Breadcrumb trail in SERP instead of raw URL |
| `SiteNavigationElement` | Main site navigation menus. Helps search engines understand site structure. | Sitelinks refinement (indirect) |

### Schema Implementation Notes

- **Format:** Always use JSON-LD (recommended by Google) over Microdata or RDFa.
- **Placement:** Insert `<script type="application/ld+json">` in the `<head>` or `<body>` of the page.
- **Validation:** Test with Google Rich Results Test (https://search.google.com/test/rich-results) and Schema Markup Validator (https://validator.schema.org).
- **Nesting:** Nest related schemas (e.g., `Product` containing `AggregateRating` and `Offers`).
- **Avoid:** Do not mark up content that is not visible on the page. Do not use schema for deceptive purposes. Google may issue manual actions for misleading structured data.

---

## Section 5: Image Format Guide

### Format Comparison

| Property | WebP | AVIF | PNG | JPEG |
|---|---|---|---|---|
| Compression type | Lossy + Lossless | Lossy + Lossless | Lossless | Lossy |
| Transparency | Yes | Yes | Yes | No |
| Animation | Yes | Yes (limited tooling) | Yes (APNG) | No |
| Typical file size vs JPEG | 25-35% smaller | 40-50% smaller | 5-10x larger | Baseline |
| Encoding speed | Fast | Slow (CPU-intensive) | Fast | Fast |
| Decoding speed | Fast | Moderate | Fast | Fast |
| Color depth | 8-bit | 8, 10, 12-bit (HDR support) | 8, 16-bit | 8-bit |
| Max dimensions | 16,383 x 16,383 px | No practical limit | No practical limit | 65,535 x 65,535 px |
| Progressive loading | No | Yes | No (interlaced PNG exists) | Yes |

### Browser Support (as of 2026)

| Format | Chrome | Firefox | Safari | Edge | iOS Safari | Android |
|---|---|---|---|---|---|---|
| WebP | 32+ | 65+ | 16+ | 18+ | 16+ | 4.2+ |
| AVIF | 85+ | 93+ | 16.4+ | 85+ | 16.4+ | 85+ |
| PNG | All | All | All | All | All | All |
| JPEG | All | All | All | All | All | All |

### When to Use Each Format

| Format | Best For | Avoid When |
|---|---|---|
| **WebP** | General web images. Default choice for photos, illustrations, thumbnails. Best balance of compression, quality, and compatibility. | Email campaigns (limited client support), environments requiring lossless at maximum quality. |
| **AVIF** | Hero images, high-quality photography where file size is critical. Best compression ratio available. Use when encoding time is not a constraint. | Bulk image processing pipelines (slow encoding), older browser support required without fallback, email. |
| **PNG** | Logos, icons, screenshots, images with text, transparency over complex backgrounds, any image requiring pixel-perfect lossless quality. | Photographs (file size too large), any large image where lossy compression is acceptable. |
| **JPEG** | Universal fallback. Email images. Social media uploads (platforms re-encode anyway). Legacy system compatibility. | Images with text (compression artifacts), transparency needed, logos or sharp-edged graphics. |

### Implementation Best Practice

Use the `<picture>` element with format fallback:

```html
<picture>
  <source srcset="image.avif" type="image/avif">
  <source srcset="image.webp" type="image/webp">
  <img src="image.jpg" alt="Description" width="800" height="600" loading="lazy">
</picture>
```

**Key rules:**
- Always include `width` and `height` attributes to prevent Cumulative Layout Shift (CLS)
- Use `loading="lazy"` for below-the-fold images
- Use `loading="eager"` or `fetchpriority="high"` for LCP (Largest Contentful Paint) images
- Serve responsive sizes with `srcset` and `sizes` attributes for resolution switching
- Compress JPEG at quality 75-85 for web, WebP at quality 75-80, AVIF at quality 60-70
- Always strip EXIF metadata for web delivery (privacy and file size)
