start-vibing-stacks 2.28.0 → 2.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/migrate.js +81 -43
- package/dist/setup.js +20 -1
- package/package.json +1 -1
- package/stacks/_shared/ads-agents/README.md +452 -0
- package/stacks/_shared/ads-agents/RESEARCH-REPORT.md +157 -0
- package/stacks/_shared/ads-agents/SKILL.md +210 -0
- package/stacks/_shared/ads-agents/SKILLS-UPDATE-REPORT.md +255 -0
- package/stacks/_shared/ads-agents/agents/audit-budget.md +116 -0
- package/stacks/_shared/ads-agents/agents/audit-compliance.md +131 -0
- package/stacks/_shared/ads-agents/agents/audit-creative.md +127 -0
- package/stacks/_shared/ads-agents/agents/audit-google.md +113 -0
- package/stacks/_shared/ads-agents/agents/audit-meta.md +112 -0
- package/stacks/_shared/ads-agents/agents/audit-tracking.md +134 -0
- package/stacks/_shared/ads-agents/agents/copy-writer.md +188 -0
- package/stacks/_shared/ads-agents/agents/creative-strategist.md +199 -0
- package/stacks/_shared/ads-agents/agents/format-adapter.md +175 -0
- package/stacks/_shared/ads-agents/agents/visual-designer.md +245 -0
- package/stacks/_shared/ads-agents/references/additional-platforms.md +106 -0
- package/stacks/_shared/ads-agents/references/benchmarks.md +257 -0
- package/stacks/_shared/ads-agents/references/bidding-strategies.md +333 -0
- package/stacks/_shared/ads-agents/references/brand-dna-template.md +190 -0
- package/stacks/_shared/ads-agents/references/budget-allocation.md +150 -0
- package/stacks/_shared/ads-agents/references/compliance.md +280 -0
- package/stacks/_shared/ads-agents/references/conversion-tracking.md +246 -0
- package/stacks/_shared/ads-agents/references/copy-frameworks.md +187 -0
- package/stacks/_shared/ads-agents/references/funnel-content-copy-rules.md +44 -0
- package/stacks/_shared/ads-agents/references/gaql-notes.md +49 -0
- package/stacks/_shared/ads-agents/references/google-audit.md +217 -0
- package/stacks/_shared/ads-agents/references/google-creative-specs.md +119 -0
- package/stacks/_shared/ads-agents/references/image-providers.md +133 -0
- package/stacks/_shared/ads-agents/references/linkedin-audit.md +141 -0
- package/stacks/_shared/ads-agents/references/linkedin-creative-specs.md +129 -0
- package/stacks/_shared/ads-agents/references/mcp-integration.md +125 -0
- package/stacks/_shared/ads-agents/references/meta-audit.md +141 -0
- package/stacks/_shared/ads-agents/references/meta-creative-specs.md +134 -0
- package/stacks/_shared/ads-agents/references/microsoft-audit.md +158 -0
- package/stacks/_shared/ads-agents/references/microsoft-creative-specs.md +123 -0
- package/stacks/_shared/ads-agents/references/platform-specs.md +276 -0
- package/stacks/_shared/ads-agents/references/scoring-system.md +169 -0
- package/stacks/_shared/ads-agents/references/tiktok-audit.md +165 -0
- package/stacks/_shared/ads-agents/references/tiktok-creative-specs.md +139 -0
- package/stacks/_shared/ads-agents/references/voice-to-style.md +87 -0
- package/stacks/_shared/ads-agents/references/youtube-creative-specs.md +134 -0
- package/stacks/_shared/ads-agents/skills/ads-apple/SKILL.md +225 -0
- package/stacks/_shared/ads-agents/skills/ads-audit/SKILL.md +108 -0
- package/stacks/_shared/ads-agents/skills/ads-budget/SKILL.md +198 -0
- package/stacks/_shared/ads-agents/skills/ads-competitor/SKILL.md +198 -0
- package/stacks/_shared/ads-agents/skills/ads-create/SKILL.md +198 -0
- package/stacks/_shared/ads-agents/skills/ads-creative/SKILL.md +208 -0
- package/stacks/_shared/ads-agents/skills/ads-dna/SKILL.md +245 -0
- package/stacks/_shared/ads-agents/skills/ads-generate/SKILL.md +173 -0
- package/stacks/_shared/ads-agents/skills/ads-google/SKILL.md +192 -0
- package/stacks/_shared/ads-agents/skills/ads-landing/SKILL.md +186 -0
- package/stacks/_shared/ads-agents/skills/ads-linkedin/SKILL.md +200 -0
- package/stacks/_shared/ads-agents/skills/ads-math/SKILL.md +216 -0
- package/stacks/_shared/ads-agents/skills/ads-meta/SKILL.md +167 -0
- package/stacks/_shared/ads-agents/skills/ads-microsoft/SKILL.md +163 -0
- package/stacks/_shared/ads-agents/skills/ads-photoshoot/SKILL.md +220 -0
- package/stacks/_shared/ads-agents/skills/ads-plan/SKILL.md +176 -0
- package/stacks/_shared/ads-agents/skills/ads-test/SKILL.md +199 -0
- package/stacks/_shared/ads-agents/skills/ads-tiktok/SKILL.md +190 -0
- package/stacks/_shared/ads-agents/skills/ads-youtube/SKILL.md +199 -0
- package/stacks/_shared/hooks/_state.ts +8 -2
- package/stacks/_shared/hooks/plan-gate.ts +138 -0
- package/stacks/_shared/memories/funnel-content-copy.md +81 -0
- package/templates/CLAUDE-python.md +6 -0
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
# Microsoft Ads Audit Checklist
|
|
2
|
+
|
|
3
|
+
<!-- Updated: 2026-05-14 | v1.6 -->
|
|
4
|
+
<!-- Sources: Google Research PDF 1 (MS01-MS20), Claude Research, Gemini Research, Seer Interactive, 2026 Verification Pass -->
|
|
5
|
+
<!-- Total Checks: 24 | Categories: 6 | See scoring-system.md for weights and algorithm -->
|
|
6
|
+
|
|
7
|
+
## Quick Reference
|
|
8
|
+
|
|
9
|
+
| Category | Weight | Check Count |
|
|
10
|
+
|----------|--------|-------------|
|
|
11
|
+
| Technical Setup | 25% | MS01-MS03 (3 checks) |
|
|
12
|
+
| Syndication & Bidding | 20% | MS04-MS07 (4 checks) |
|
|
13
|
+
| Structure & Audience | 20% | MS08-MS10 (3 checks) |
|
|
14
|
+
| Creative & Extensions | 20% | MS11-MS13 + MS19-MS20 (5 checks) |
|
|
15
|
+
| Settings & Performance | 15% | MS14-MS18 (5 checks) |
|
|
16
|
+
| Import Safety, Compliance & Video (v1.5) | N/A | MS-SI1, MS-CM1, MS-CT1, MS-VD1 (4 checks) |
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Technical Setup (25% weight)
|
|
21
|
+
|
|
22
|
+
| ID | Check | Severity | Pass | Warning | Fail |
|
|
23
|
+
|----|-------|----------|------|---------|------|
|
|
24
|
+
| MS01 | UET tag installed | Critical | Universal Event Tracking tag firing on all pages | Firing on most pages (>90%) | UET tag not installed or broken |
|
|
25
|
+
| MS02 | Enhanced conversions | High | Enhanced conversions enabled for improved matching | N/A | Not enabled |
|
|
26
|
+
| MS03 | Google Ads import validation | High | If imported: all settings verified (URLs, extensions, bids). Scheduled auto-imports deactivated after initial setup | Minor discrepancies found | Import errors not resolved (broken URLs, missing goals). Scheduled imports still active without monitoring |
|
|
27
|
+
|
|
28
|
+
### Import Validation Critical Note
|
|
29
|
+
Google Ads imports are the most common Microsoft Ads setup method. Common import issues:
|
|
30
|
+
- Conversion goals often break during import
|
|
31
|
+
- Tracking templates may not transfer
|
|
32
|
+
- Extensions may be partially imported
|
|
33
|
+
- Bid adjustments may not match
|
|
34
|
+
- **Scheduled auto-imports can re-enable paused campaigns** (a common billing surprise)
|
|
35
|
+
- ALWAYS validate conversion tracking after import
|
|
36
|
+
- **Deactivate auto-imports immediately after initial setup** to prevent silent campaign re-enablement and overwritten manual bid/budget changes
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Syndication & Bidding (20% weight)
|
|
41
|
+
|
|
42
|
+
| ID | Check | Severity | Pass | Warning | Fail |
|
|
43
|
+
|----|-------|----------|------|---------|------|
|
|
44
|
+
| MS04 | Brand syndication control | Critical | Brand campaigns excluded from syndicated partners OR low-performers excluded | Partners enabled, monitored regularly | Brand campaigns on syndicated partners, never reviewed (massive budget waste risk) |
|
|
45
|
+
| MS05 | Audience Network settings | High | Audience Network enabled only if testing intentionally. Run Website URL publisher reports weekly and maintain account-level exclusion lists | Audience Network enabled with regular publisher report monitoring | Audience Network ON by default without review. B2B clients see CPA 2-4x higher from Audience Network than search alone (Seer Interactive). Microsoft auto-includes it by default |
|
|
46
|
+
| MS06 | Bid strategy alignment | High | Strategy matches goal + conversion volume; targets 20-35% lower than Google | Strategy matches but targets not adjusted for Bing | Mismatched strategy for conversion volume |
|
|
47
|
+
| MS07 | Target New Customers (PMax) | Medium | "Target New Customers" enabled for growth campaigns (Beta 2026) | N/A | Not tested for eligible PMax campaigns |
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Structure & Audience (20% weight)
|
|
52
|
+
|
|
53
|
+
| ID | Check | Severity | Pass | Warning | Fail |
|
|
54
|
+
|----|-------|----------|------|---------|------|
|
|
55
|
+
| MS08 | Campaign structure | High | Mirrors Google structure (if imported) or follows best practices | Minor structural issues | Disorganized structure, no naming convention |
|
|
56
|
+
| MS09 | Budget allocation | Medium | Budget proportional to Bing search volume (typically 20-30% of Google) | Slightly over/under-allocated | Budget >50% of Google budget (over-investment) |
|
|
57
|
+
| MS10 | LinkedIn profile targeting | High | LinkedIn targeting utilized for B2B: up to 16% greater CTR and 64% greater conversion rate vs non-audience-targeted ads. Available across Search, DSA, Shopping, PMax, and Multimedia ads. Dimensions: Company (80,000+), Industry (148), Job Function (26). Use Observation (Bid Only) mode first. CPCs 30-70% cheaper than LinkedIn Ads directly | Partial LinkedIn targeting | No LinkedIn targeting for B2B campaigns (unique advantage missed) |
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Creative & Extensions (20% weight)
|
|
62
|
+
|
|
63
|
+
| ID | Check | Severity | Pass | Warning | Fail |
|
|
64
|
+
|----|-------|----------|------|---------|------|
|
|
65
|
+
| MS11 | RSA asset count | High | ≥8 headlines, ≥3 descriptions per RSA | 3-7 headlines, 2 descriptions | <3 headlines (minimum) |
|
|
66
|
+
| MS12 | Multimedia Ads | Medium | Multimedia Ads tested (unique rich visual format) | N/A | Not tested |
|
|
67
|
+
| MS13 | Ad copy uniqueness | Medium | Ad copy optimized for Bing demographics (older, affluent, educated) | Same copy as Google, untested | N/A |
|
|
68
|
+
| MS19 | Action Extension | Medium | Action Extension utilized (unique to Microsoft) | N/A | Not tested |
|
|
69
|
+
| MS20 | Filter Link Extension | Medium | Filter Link Extension tested for product/service categories | N/A | Not tested |
|
|
70
|
+
|
|
71
|
+
### Microsoft-Unique Formats
|
|
72
|
+
These extensions are ONLY available on Microsoft Ads:
|
|
73
|
+
- **Action Extension**: Predefined action buttons (clickable CTAs)
|
|
74
|
+
- **Filter Link Extension**: Category-based deep links (product filters)
|
|
75
|
+
- **Multimedia Ads**: Rich visual search ads (image + headline + description)
|
|
76
|
+
- **Review Extension**: Third-party review quotes in ads
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## Settings & Performance (15% weight)
|
|
81
|
+
|
|
82
|
+
| ID | Check | Severity | Pass | Warning | Fail |
|
|
83
|
+
|----|-------|----------|------|---------|------|
|
|
84
|
+
| MS14 | Copilot placement | Medium | Copilot chat placement enabled for PMax campaigns. CTV ads now serve on Netflix, Max, Hulu, Roku, discovery+. Auto-generated RSA assets enabled by default globally Jan 2026 (5% CTR increase). Image Animation via Copilot pilot (Nov 2025): static images converted to video assets | N/A | Not enabled (73% higher CTR opportunity) |
|
|
85
|
+
| MS15 | Conversion goals | High | Goals configured natively (not relying on Google-imported goals) | Imported goals verified and working | Imported goals not verified |
|
|
86
|
+
| MS16 | CPC vs Google comparison | Medium | Microsoft CPC 20-40% lower than Google for same keywords | CPC within 0-20% of Google | CPC equal to or higher than Google |
|
|
87
|
+
| MS17 | Conversion rate comparison | Medium | Microsoft CVR comparable to Google | CVR 25-50% lower | CVR >50% lower than Google |
|
|
88
|
+
| MS18 | Impression share | Medium | IS tracked for brand and top non-brand terms | Partially tracked | Not tracked |
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Quick Wins (Microsoft)
|
|
93
|
+
|
|
94
|
+
| Check | Fix | Time |
|
|
95
|
+
|-------|-----|------|
|
|
96
|
+
| MS10: LinkedIn targeting | Enable LinkedIn profile targeting for B2B campaigns | 5 min |
|
|
97
|
+
| MS14: Copilot placement | Enable Copilot chat placement in PMax settings | 2 min |
|
|
98
|
+
| MS04: Partner network | Review syndicated partner performance, exclude low-performers | 10 min |
|
|
99
|
+
| MS19: Action Extension | Add Action Extension to campaigns | 5 min |
|
|
100
|
+
| MS12: Multimedia Ads | Create Multimedia Ad from existing assets | 10 min |
|
|
101
|
+
| MS03: Import validation | Verify conversion goals and tracking post-import | 10 min |
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Microsoft-Specific Context
|
|
106
|
+
|
|
107
|
+
| Fact | Value |
|
|
108
|
+
|------|-------|
|
|
109
|
+
| Average CPC | $1.20-$1.55 (20-35% discount vs Google) |
|
|
110
|
+
| Average CTR | 2.83-3.1% (higher than Google's ~2.0%) |
|
|
111
|
+
| US desktop share | 16.75-17.58%; with partners ~25% |
|
|
112
|
+
| Copilot CTR lift | 73% higher than traditional search |
|
|
113
|
+
| Copilot CVR lift | 16% stronger conversion rates |
|
|
114
|
+
| Copilot journey | 33% shorter customer journeys |
|
|
115
|
+
| Purchase intent | 194% more likely to purchase in Copilot |
|
|
116
|
+
| Copilot Checkout | Launched Jan 2026 (in-conversation commerce) |
|
|
117
|
+
| 37% of advertisers | Report higher ROAS vs Google |
|
|
118
|
+
| Bing users click paid ads | 25% more often than Google users |
|
|
119
|
+
| Audience skew | Affluent (~50% top 25% HHI), educated (34% degrees), older (45-64: 38%) |
|
|
120
|
+
| Import options | Quick Import, Smart Import, Advanced Import (Feb 2025) |
|
|
121
|
+
| API version | v13 stable, SOAP-based with REST emerging |
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## Copilot Integration (2026)
|
|
126
|
+
|
|
127
|
+
Microsoft's Copilot represents the biggest unique advantage:
|
|
128
|
+
|
|
129
|
+
1. **Copilot Chat Placement**: Ads appear within conversational search
|
|
130
|
+
2. **Copilot Checkout** (Jan 2026); Full commerce within conversations
|
|
131
|
+
3. **Higher engagement**: 73% CTR lift, 16% CVR lift, 33% shorter journeys
|
|
132
|
+
4. **Shopping intent**: Users 194% more likely to purchase
|
|
133
|
+
5. **Launch partners**: Urban Outfitters, Etsy, Ashley Furniture
|
|
134
|
+
|
|
135
|
+
Ensure PMax campaigns have Copilot placement enabled to capture this growing channel.
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Import Safety, Compliance & Video (v1.5)
|
|
140
|
+
|
|
141
|
+
| ID | Check | Severity | Pass | Warning | Fail |
|
|
142
|
+
|----|-------|----------|------|---------|------|
|
|
143
|
+
| MS-SI1 | Scheduled import status | Critical | Scheduled Google Ads imports disabled or closely monitored. Auto-imports can silently re-enable paused campaigns and overwrite manual bid/budget changes | Imports active with manual review schedule | Scheduled imports running unmonitored (risk of re-enabling paused campaigns and unexpected spend) |
|
|
144
|
+
| MS-CM1 | Consent Mode compliance (EEA/UK) | High | Consent Mode implemented by May 5, 2025 deadline for EEA/UK/Switzerland audiences. Required for behavioral modeling and conversion recovery | Implementation in progress | Not implemented for EEA/UK/CH audiences (non-compliant since May 2025) |
|
|
145
|
+
| MS-CT1 | CTV ad inventory coverage | Medium | CTV placements evaluated for brand/awareness campaigns. Microsoft CTV now serves on Netflix, Max, Hulu, Roku, discovery+. 30-second non-skippable format available | N/A | CTV not evaluated despite brand awareness objectives |
|
|
146
|
+
| MS-VD1 | Video ad inventory utilization | Medium | Video formats tested: 9:16 vertical video (available since Apr 2025), up to 90-second duration. Copilot Image Animation (Nov 2025 pilot) evaluated for static-to-video conversion | N/A | No video assets despite available inventory and video-capable campaigns |
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## Context Notes
|
|
151
|
+
|
|
152
|
+
- **PMax on Microsoft**: Up to 300 campaigns per account (vs 100 on Google). LinkedIn profile data integration. No video placements. Self-serve negative keywords in open beta (Feb 2026)
|
|
153
|
+
- **Scheduled imports danger**: Can re-enable paused campaigns silently. Deactivate after initial setup
|
|
154
|
+
- **CTV inventory (2025-2026)**: Netflix, Max, Hulu, Roku, discovery+. 30-second non-skippable on CTV
|
|
155
|
+
- **Auto-generated RSA (Jan 2026)**: Enabled by default globally. 5% CTR increase
|
|
156
|
+
- **Smart Shopping to PMax (Aug 2025)**: All Smart Shopping auto-upgraded
|
|
157
|
+
- **Copilot ads**: Show beneath AI responses with "Sponsored" labels in Copilot conversations
|
|
158
|
+
- **9:16 vertical video (Apr 2025)**: 90-second duration support added
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# Microsoft Creative Specs: Generation Guide
|
|
2
|
+
|
|
3
|
+
<!-- Updated: 2026-03-12 -->
|
|
4
|
+
<!-- Source: platform-specs.md + Microsoft Advertising requirements -->
|
|
5
|
+
<!-- Used by: ads-generate, visual-designer agent -->
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
Generation-ready specifications for Microsoft (Bing) Ads creative. Microsoft creative
|
|
10
|
+
is largely a subset of Google creative; most Google assets can be reused directly.
|
|
11
|
+
The unique format is the Multimedia Ad.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Multimedia Ads (Microsoft-Unique)
|
|
16
|
+
|
|
17
|
+
The primary image-based format unique to Microsoft Ads.
|
|
18
|
+
|
|
19
|
+
| Component | Spec |
|
|
20
|
+
|-----------|------|
|
|
21
|
+
| Image | 1200×628 (1.91:1) |
|
|
22
|
+
| Short Headline | 30 chars |
|
|
23
|
+
| Long Headline | 90 chars |
|
|
24
|
+
| Description | 90 chars |
|
|
25
|
+
| Business Name | 25 chars |
|
|
26
|
+
|
|
27
|
+
**Generation target: 1200×628 (1.91:1)**
|
|
28
|
+
This is the only unique image dimension for Microsoft. Everything else mirrors Google.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Responsive Search Ads (RSA)
|
|
33
|
+
|
|
34
|
+
Identical to Google RSA character limits:
|
|
35
|
+
|
|
36
|
+
| Component | Min | Max | Character Limit |
|
|
37
|
+
|-----------|-----|-----|-----------------|
|
|
38
|
+
| Headlines | 3 | 15 | 30 chars each |
|
|
39
|
+
| Descriptions | 2 | 4 | 90 chars each |
|
|
40
|
+
| Display Paths | N/A | 2 | 15 chars each |
|
|
41
|
+
|
|
42
|
+
**Asset reuse:** RSA copy written for Google can be used directly in Microsoft
|
|
43
|
+
with no changes. Use the same headlines and descriptions.
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Audience Ads (Display Network)
|
|
48
|
+
|
|
49
|
+
| Size | Dimensions |
|
|
50
|
+
|------|-----------|
|
|
51
|
+
| Landscape | 1200×628 (1.91:1) |
|
|
52
|
+
| Square | 1200×1200 (1:1) |
|
|
53
|
+
| Small square | 628×628 (1:1) |
|
|
54
|
+
|
|
55
|
+
These display on the Microsoft Audience Network (MSN, Outlook, Edge).
|
|
56
|
+
**Asset reuse:** Generate the same 3 Google Display assets (1200×628, 1200×1200, and
|
|
57
|
+
960×1200 scaled to 628×628). No unique generation needed.
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Microsoft-Unique Extensions
|
|
62
|
+
|
|
63
|
+
These require copy but no image generation:
|
|
64
|
+
|
|
65
|
+
| Extension | Description |
|
|
66
|
+
|-----------|-------------|
|
|
67
|
+
| Action Extension | Pre-defined action buttons (Book Now, Download, etc.) |
|
|
68
|
+
| Filter Link Extension | Category-based deep links (e.g., product categories) |
|
|
69
|
+
| Review Extension | Third-party review quotes with source attribution |
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Copilot Ad Integration (2025-2026)
|
|
74
|
+
|
|
75
|
+
Microsoft Ads now surface in Bing/Copilot AI responses. This affects:
|
|
76
|
+
- **Ad copy relevance**: Copilot reads headline + description for context matching
|
|
77
|
+
- **Sitelinks**: More likely to be shown in AI responses than on traditional SERPs
|
|
78
|
+
- **Image assets**: Multimedia Ad images may appear in Copilot responses
|
|
79
|
+
|
|
80
|
+
**Generation implication:** Use clear, descriptive product language in image alt context.
|
|
81
|
+
Generate images that visually communicate the product/service without requiring copy.
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Google Import Strategy
|
|
86
|
+
|
|
87
|
+
Most advertisers import Google campaigns to Microsoft. After import:
|
|
88
|
+
- Bid adjustment: Microsoft CPCs are typically 20-35% lower than Google
|
|
89
|
+
- Image assets: All Google PMax images (1200×628, 1200×1200, 960×1200) import directly
|
|
90
|
+
- No additional image generation needed for Microsoft-only
|
|
91
|
+
|
|
92
|
+
**When to generate Microsoft-specific assets:**
|
|
93
|
+
- Multimedia Ads (1200×628) if not using Google import
|
|
94
|
+
- Custom copy for Copilot-optimized RSA headlines
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## Image Generation Prompt Modifiers
|
|
99
|
+
|
|
100
|
+
**For Multimedia Ads (1200×628):**
|
|
101
|
+
- `"horizontal composition, 1.91:1 aspect ratio"`
|
|
102
|
+
- `"clean professional background"`
|
|
103
|
+
- `"Microsoft Bing search audience; professional, trustworthy aesthetic"`
|
|
104
|
+
- `"product or service clearly visible"`
|
|
105
|
+
|
|
106
|
+
**Tone guidance:** Microsoft's audience skews slightly older (35+) and more professional
|
|
107
|
+
than Google Search. Apply a slightly more conservative, trust-signaling visual style.
|
|
108
|
+
Avoid TikTok-style dramatic edits or Meta-style casual lifestyle photography.
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## Asset Reuse Summary
|
|
113
|
+
|
|
114
|
+
| Source | Reusable for Microsoft? |
|
|
115
|
+
|--------|------------------------|
|
|
116
|
+
| Google PMax 1200×628 | ✅ Direct reuse for Multimedia Ads |
|
|
117
|
+
| Google PMax 1200×1200 | ✅ Direct reuse for Audience Ads |
|
|
118
|
+
| Google RSA copy | ✅ Use as-is |
|
|
119
|
+
| Meta 4:5 (1080×1350) | ❌ Wrong ratio |
|
|
120
|
+
| TikTok 9:16 (1080×1920) | ❌ Wrong ratio |
|
|
121
|
+
|
|
122
|
+
**When using Google import:** No new image generation needed for Microsoft.
|
|
123
|
+
Generate Microsoft-specific assets only if running Microsoft-native campaigns.
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
# Platform Creative Specifications
|
|
2
|
+
|
|
3
|
+
<!-- Updated: 2026-05-14 | v1.6 -->
|
|
4
|
+
<!-- Sources: Google Research PDF 3, Claude Research, 2026 Platform Research, 2026 Verification Pass -->
|
|
5
|
+
|
|
6
|
+
## Google Ads
|
|
7
|
+
|
|
8
|
+
### Responsive Search Ads (RSA)
|
|
9
|
+
| Component | Min | Max | Char Limit |
|
|
10
|
+
|-----------|-----|-----|------------|
|
|
11
|
+
| Headlines | 3 | 15 | 30 chars each |
|
|
12
|
+
| Descriptions | 2 | 4 | 90 chars each |
|
|
13
|
+
| Display Paths | N/A | 2 | 15 chars each |
|
|
14
|
+
| Final URL | 1 | 1 | Required |
|
|
15
|
+
|
|
16
|
+
Best practice: 8-10 headlines, 2-3 descriptions (Claude), 12-15 for Excellent (Google).
|
|
17
|
+
|
|
18
|
+
**Pinning Rules:**
|
|
19
|
+
- Pin 1 headline to Position 1 (brand/main keyword)
|
|
20
|
+
- Pin 1 headline to Position 2 (secondary angle)
|
|
21
|
+
- Each pinned position: provide 2-3 variants
|
|
22
|
+
- Leave Position 3 unpinned
|
|
23
|
+
- Never pin all positions (kills Ad Strength)
|
|
24
|
+
|
|
25
|
+
**Dynamic Insertion:**
|
|
26
|
+
```
|
|
27
|
+
{KeyWord:Default Text} # Keyword insertion
|
|
28
|
+
{COUNTDOWN(YYYY/MM/DD HH:MM:SS)} # Countdown timer
|
|
29
|
+
{LOCATION(City)} # Location insertion
|
|
30
|
+
{CUSTOMIZER.attribute:default} # Ad customizer
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Performance Max Asset Groups
|
|
34
|
+
| Asset Type | Spec | Max Per Group |
|
|
35
|
+
|-----------|------|---------------|
|
|
36
|
+
| Marketing Image | 1200×628 (1.91:1) | 20 total |
|
|
37
|
+
| Square Image | 1200×1200 (1:1) | (in 20) |
|
|
38
|
+
| Portrait Image | 960×1200 (4:5) | (in 20) |
|
|
39
|
+
| Logo (landscape) | 1200×300 (4:1) | 5 total |
|
|
40
|
+
| Logo (square) | 1200×1200 (1:1) | (in 5) |
|
|
41
|
+
| Video (landscape) | 1920×1080 (16:9) | 5 total |
|
|
42
|
+
| Video (square) | 1080×1080 (1:1) | (in 5) |
|
|
43
|
+
| Video (vertical) | 1080×1920 (9:16) | 5 vertical |
|
|
44
|
+
| Headlines | 30 chars | 5 |
|
|
45
|
+
| Long Headlines | 90 chars | 5 |
|
|
46
|
+
| Descriptions | 90 chars | 5 |
|
|
47
|
+
| Short Description | 60 chars | 1 |
|
|
48
|
+
| Business Name | 25 chars | 1 |
|
|
49
|
+
|
|
50
|
+
**Image:** Min 128×128, max 5120×5120, max 5MB, JPG/PNG
|
|
51
|
+
**Video:** Min 10s, rec 60s, min 480p, rec 1080p+, MP4/MOV, max 256MB
|
|
52
|
+
|
|
53
|
+
### YouTube Ad Formats
|
|
54
|
+
| Format | Ratio | Resolution | Duration | Skip |
|
|
55
|
+
|--------|-------|-----------|----------|------|
|
|
56
|
+
| Skippable In-Stream | 16:9 | 1920×1080 | 12s-3min (rec 15-30s) | After 5s |
|
|
57
|
+
| Non-Skippable | 16:9 | 1920×1080 | 15-60s (expanded 2025) | No |
|
|
58
|
+
| Bumper | 16:9 | 1920×1080 | ≤6s | No |
|
|
59
|
+
| In-Feed | 16:9 | 1920×1080 | Any | N/A |
|
|
60
|
+
| YouTube Shorts | 9:16 | 1080×1920 | ≤60s | Swipe |
|
|
61
|
+
|
|
62
|
+
**YouTube Shorts Safe Zone:** Center 1080×1420px. Bottom 480px = UI overlay.
|
|
63
|
+
**Shorts CTA timing:** CTA button appears at **3 seconds** for PMax/App/Demand Gen campaigns, **10 seconds** for Video View/Reach campaigns. Music/voiceover increases conversions by 20%+.
|
|
64
|
+
|
|
65
|
+
### Google Extensions / Assets
|
|
66
|
+
| Type | Char Limit | Max Count | Notes |
|
|
67
|
+
|------|-----------|-----------|-------|
|
|
68
|
+
| Sitelink | 25 text, 35 desc ×2 | 20 | Min 4 rec; +3.5% conv with 6 |
|
|
69
|
+
| Callout | 25 chars | 20 | Min 4 rec |
|
|
70
|
+
| Structured Snippet | 25 chars | 2 sets | Predefined headers |
|
|
71
|
+
| Image | 1:1 or 1.91:1 | 20 | Min 1MB |
|
|
72
|
+
| Call | Phone number | 1 | With call tracking |
|
|
73
|
+
| Lead Form | 30 headline, 200 desc | 1 | Privacy URL required |
|
|
74
|
+
| Price | 25 header, 25 desc | 8 items | Min 3 |
|
|
75
|
+
| Promotion | 20 item | 1 | Schedulable |
|
|
76
|
+
|
|
77
|
+
### Ad Strength Scoring
|
|
78
|
+
- Headline uniqueness (Levenshtein distance)
|
|
79
|
+
- Keyword inclusion in headlines
|
|
80
|
+
- 3-7 headlines = Poor/Average, 8-10 = Good, 11-15 = Excellent
|
|
81
|
+
- "Excellent" → ~12-15% more conversions (diagnostic, not direct factor)
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Meta Ads
|
|
86
|
+
|
|
87
|
+
### Image Specs
|
|
88
|
+
| Placement | Ratio | Size | Max |
|
|
89
|
+
|-----------|-------|------|-----|
|
|
90
|
+
| Feed (preferred) | 4:5 | 1080×1350 | 30MB |
|
|
91
|
+
| Feed (supported) | 1:1 | 1080×1080 | 30MB |
|
|
92
|
+
| Stories/Reels | 9:16 | 1080×1920 | 30MB |
|
|
93
|
+
| Right Column | 1:1 | 1080×1080 | 30MB |
|
|
94
|
+
| Min width: 600px (1080px rec). No hard 20% text rule but AI penalizes heavy text.
|
|
95
|
+
|
|
96
|
+
### Video Specs
|
|
97
|
+
| Placement | Ratio | Resolution | Max Duration | Max Size |
|
|
98
|
+
|-----------|-------|-----------|-------------|----------|
|
|
99
|
+
| Feed | 4:5 (pref) | 1080×1350 | 241 min | 4GB |
|
|
100
|
+
| Feed | 1:1 | 1080×1080 | 241 min | 4GB |
|
|
101
|
+
| Stories | 9:16 | 1080×1920 | 120s | 4GB |
|
|
102
|
+
| Reels | 9:16 | 1080×1920 | 90s (rec 15-30s) | 4GB |
|
|
103
|
+
| In-Stream | 16:9 | 1920×1080 | 15 min | 4GB |
|
|
104
|
+
|
|
105
|
+
**Reels Safe Zone:** Center 1080×1300px. Bottom 35% (~670px) = CTA, caption, reactions.
|
|
106
|
+
|
|
107
|
+
### Text Limits
|
|
108
|
+
| Component | Recommended | Max |
|
|
109
|
+
|-----------|------------|-----|
|
|
110
|
+
| Primary Text | 125 chars | 2200 |
|
|
111
|
+
| Headline | 27-40 chars | N/A |
|
|
112
|
+
| Description | 20 chars (carousel) | N/A |
|
|
113
|
+
| Reels Primary | 72 chars | N/A |
|
|
114
|
+
|
|
115
|
+
### Carousel
|
|
116
|
+
- 2-10 cards, all 1:1 (1080×1080)
|
|
117
|
+
- Per card: Headline 40 chars, Description 20 chars
|
|
118
|
+
- Unique URL per card supported
|
|
119
|
+
|
|
120
|
+
### Advantage+ Creative Enhancements
|
|
121
|
+
Auto-adjustments when enabled: brightness/contrast, art filters, aspect ratio crops, music addition, text variations, video from static images. Test via A/B split.
|
|
122
|
+
|
|
123
|
+
### Quality Rankings
|
|
124
|
+
Three signals: Quality Ranking, Engagement Rate Ranking, Conversion Rate Ranking.
|
|
125
|
+
Rated: Above Average / Average / Below Average (10th, 35th, 55th percentile).
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## TikTok Ads
|
|
130
|
+
|
|
131
|
+
### Video Specs
|
|
132
|
+
| Type | Min Resolution | Duration | Max Size | Min Bitrate |
|
|
133
|
+
|------|---------------|----------|----------|-------------|
|
|
134
|
+
| In-Feed (Non-Spark) | 540×960 (9:16) | 5-60s | 500MB | 516kbps |
|
|
135
|
+
| Spark Ads | Organic specs | Organic | N/A | N/A |
|
|
136
|
+
| TopView | 720×1280 (9:16) | 5-60s | 500MB | 2500kbps |
|
|
137
|
+
| Brand Takeover | 720×1280 | 3-5s | 2MB img / 500MB vid | N/A |
|
|
138
|
+
|
|
139
|
+
Recommended: 1080×1920, MP4/MOV, H.264, audio required, captions required.
|
|
140
|
+
|
|
141
|
+
### TikTok Safe Zone
|
|
142
|
+
```
|
|
143
|
+
Top: 0-150px → Status bar, account info
|
|
144
|
+
Right: 0-140px → Like, comment, share, profile
|
|
145
|
+
Bottom: 0-450px → Caption, music, CTA, nav bar
|
|
146
|
+
|
|
147
|
+
SAFE BOX: X:40-940px, Y:150-1470px (900×1320px)
|
|
148
|
+
```
|
|
149
|
+
All critical text, logos, CTAs MUST be within safe box.
|
|
150
|
+
**Video Shopping Ads (VSA):** Increase bottom clearance to **450px** for product card overlay. Safe box becomes X:40-940px, Y:150-1320px.
|
|
151
|
+
|
|
152
|
+
### Smart+ Specs
|
|
153
|
+
- Up to 30 ad groups per campaign
|
|
154
|
+
- Up to 50 creatives per asset group
|
|
155
|
+
- Symphony AI auto-generates variations
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## LinkedIn Ads
|
|
160
|
+
|
|
161
|
+
### Single Image
|
|
162
|
+
| Component | Spec |
|
|
163
|
+
|-----------|------|
|
|
164
|
+
| Image (landscape) | 1200×627 (1.91:1) |
|
|
165
|
+
| Image (square) | 1080×1080 (1:1): better engagement |
|
|
166
|
+
| Max file | 5MB, PNG/JPG |
|
|
167
|
+
| Intro text | 150 chars rec / 600 max |
|
|
168
|
+
| Headline | 70 chars rec / 200 max |
|
|
169
|
+
| Description | 100 chars (desktop only) |
|
|
170
|
+
| CTA Button | Predefined list |
|
|
171
|
+
|
|
172
|
+
### Video
|
|
173
|
+
| Component | Spec |
|
|
174
|
+
|-----------|------|
|
|
175
|
+
| Format | MP4 required |
|
|
176
|
+
| Size | 75KB - 500MB |
|
|
177
|
+
| Duration | 3s - 30min (rec 15-30s) |
|
|
178
|
+
| Resolution | 360p min (720p+ rec) |
|
|
179
|
+
| Aspect Ratios | 16:9 (landscape), 1:1 (square), 9:16 (mobile only) |
|
|
180
|
+
|
|
181
|
+
### Document Ads
|
|
182
|
+
- PDF, DOC, DOCX, PPT, PPTX
|
|
183
|
+
- 100MB max, 300 pages max (10-20 rec)
|
|
184
|
+
|
|
185
|
+
### Messaging
|
|
186
|
+
| Type | Component | Limit |
|
|
187
|
+
|------|-----------|-------|
|
|
188
|
+
| Message Ad | Subject | 60 chars |
|
|
189
|
+
| Message Ad | Body | 1,500 chars |
|
|
190
|
+
| Message Ad | CTA | 20 chars |
|
|
191
|
+
| Conversation Ad | Intro | 500 chars |
|
|
192
|
+
| Conversation Ad | CTA buttons | 5 max, 25 chars each |
|
|
193
|
+
|
|
194
|
+
### Audience Requirements
|
|
195
|
+
- Minimum: 500 members for delivery
|
|
196
|
+
- Recommended: 50,000-300,000
|
|
197
|
+
- Predictive Audiences seed: 300+ members
|
|
198
|
+
- Company list upload: up to 300,000
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## Microsoft Ads
|
|
203
|
+
|
|
204
|
+
### RSA (mirrors Google)
|
|
205
|
+
| Component | Limit |
|
|
206
|
+
|-----------|-------|
|
|
207
|
+
| Headlines | 3-15, 30 chars each |
|
|
208
|
+
| Descriptions | 2-4, 90 chars each |
|
|
209
|
+
| Display Paths | 2, 15 chars each |
|
|
210
|
+
|
|
211
|
+
### Multimedia Ads (unique)
|
|
212
|
+
| Component | Spec |
|
|
213
|
+
|-----------|------|
|
|
214
|
+
| Image | 1200×628 (1.91:1) |
|
|
215
|
+
| Short Headline | 30 chars |
|
|
216
|
+
| Long Headline | 90 chars |
|
|
217
|
+
| Description | 90 chars |
|
|
218
|
+
| Business Name | 25 chars |
|
|
219
|
+
|
|
220
|
+
### Video Ads (v1.5, April 2025+)
|
|
221
|
+
| Format | Ratio | Resolution | Duration | Notes |
|
|
222
|
+
|--------|-------|-----------|----------|-------|
|
|
223
|
+
| Vertical Video | 9:16 | 1080×1920 | Up to 90s | Added April 2025 |
|
|
224
|
+
| Horizontal Video | 16:9 | 1920×1080 | Up to 90s | Standard |
|
|
225
|
+
| Square Video | 1:1 | 1080×1080 | Up to 90s | Audience Network |
|
|
226
|
+
| CTV Non-Skippable | 16:9 | 1920×1080 | 30s | Netflix, Max, Hulu, Roku, discovery+ |
|
|
227
|
+
|
|
228
|
+
**Copilot Image Animation (Nov 2025 pilot):** Converts static images to video assets automatically.
|
|
229
|
+
|
|
230
|
+
### Microsoft-Unique Extensions
|
|
231
|
+
| Extension | Description |
|
|
232
|
+
|-----------|-------------|
|
|
233
|
+
| Action Extension | Predefined action buttons |
|
|
234
|
+
| Filter Link Extension | Category-based deep links |
|
|
235
|
+
| Review Extension | Third-party review quotes |
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
## Cross-Platform Standards
|
|
240
|
+
|
|
241
|
+
### Universal Safe Zone (Vertical Video)
|
|
242
|
+
For content running across TikTok + Reels + Shorts + Stories:
|
|
243
|
+
```
|
|
244
|
+
Safe intersection: 900×1000px center
|
|
245
|
+
X: 40-940px (900px wide)
|
|
246
|
+
Y: 450-1450px (1000px tall)
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
### Character Normalization
|
|
250
|
+
| Component | Safe Limit | Strictest Platform |
|
|
251
|
+
|-----------|-----------|-------------------|
|
|
252
|
+
| Short headline | 30 chars | Google/Microsoft RSA |
|
|
253
|
+
| Long headline | 70 chars | LinkedIn recommended |
|
|
254
|
+
| Primary description | 90 chars | Google/Microsoft RSA |
|
|
255
|
+
| Short description | 25 chars | Extension callouts |
|
|
256
|
+
|
|
257
|
+
### Video Encoding Standard
|
|
258
|
+
| Component | Recommended |
|
|
259
|
+
|-----------|-------------|
|
|
260
|
+
| Video codec | H.264 High Profile |
|
|
261
|
+
| Audio codec | AAC |
|
|
262
|
+
| Audio level | -14 LUFS |
|
|
263
|
+
| Container | MP4 |
|
|
264
|
+
| Frame rate | 30fps |
|
|
265
|
+
| Color space | Rec. 709 |
|
|
266
|
+
| Bitrate (1080p) | 8-12 Mbps |
|
|
267
|
+
|
|
268
|
+
### Aspect Ratio Master Chart
|
|
269
|
+
| Ratio | Dimensions | Used By |
|
|
270
|
+
|-------|-----------|---------|
|
|
271
|
+
| 16:9 | 1920×1080 | YouTube, Google Display, LinkedIn Landscape |
|
|
272
|
+
| 9:16 | 1080×1920 | TikTok, Reels, Shorts, Stories |
|
|
273
|
+
| 4:5 | 1080×1350 | Meta Feed (preferred) |
|
|
274
|
+
| 1:1 | 1080×1080 | Meta Feed, LinkedIn, Carousel |
|
|
275
|
+
| 1.91:1 | 1200×628 | Google PMax, LinkedIn Single Image |
|
|
276
|
+
| 4:1 | 1200×300 | Google Logo (landscape) |
|