feat: enhance Google Ads export with XLSX and high-fidelity HTML reports
This commit is contained in:
@@ -448,106 +448,54 @@ OUTPUT FORMAT - Return ONLY valid JSON:
|
||||
\`\`\`json
|
||||
{
|
||||
"keywords": {
|
||||
"primary": [
|
||||
{
|
||||
"keyword": "exact keyword phrase",
|
||||
"type": "primary",
|
||||
"searchVolume": 12000,
|
||||
"competition": "medium",
|
||||
"difficultyScore": 65,
|
||||
"relevanceScore": 95,
|
||||
"cpc": "$2.50"
|
||||
}
|
||||
],
|
||||
"longTail": [
|
||||
{
|
||||
"keyword": "longer specific keyword phrase",
|
||||
"type": "long-tail",
|
||||
"searchVolume": 1200,
|
||||
"competition": "low",
|
||||
"difficultyScore": 35,
|
||||
"relevanceScore": 90,
|
||||
"cpc": "$1.25"
|
||||
}
|
||||
],
|
||||
"negative": [
|
||||
{
|
||||
"keyword": "irrelevant term to exclude",
|
||||
"type": "negative",
|
||||
"competition": "low"
|
||||
}
|
||||
]
|
||||
"primary": [{"keyword": "term", "type": "primary", "searchVolume": 12000, "competition": "medium", "cpc": "$2.50"}],
|
||||
"longTail": [{"keyword": "specific term", "type": "long-tail", "searchVolume": 1200, "competition": "low", "cpc": "$1.25"}],
|
||||
"negative": [{"keyword": "exclude term", "type": "negative", "competition": "low"}]
|
||||
},
|
||||
"adCopies": [
|
||||
{
|
||||
"id": "ad-1",
|
||||
"campaignType": "search",
|
||||
"headlines": [
|
||||
"Headline 1 (max 30 chars)",
|
||||
"Headline 2 (max 30 chars)",
|
||||
"Headline 3 (max 30 chars)"
|
||||
],
|
||||
"descriptions": [
|
||||
"Description line 1 - compelling copy under 90 chars",
|
||||
"Description line 2 - call to action under 90 chars"
|
||||
],
|
||||
"callToAction": "Get Started Today",
|
||||
"displayUrl": "example.com/offers",
|
||||
"mobileOptimized": true
|
||||
}
|
||||
],
|
||||
"campaigns": [
|
||||
{
|
||||
"id": "campaign-1",
|
||||
"name": "Campaign Name",
|
||||
"type": "search",
|
||||
"budget": {
|
||||
"daily": 50,
|
||||
"monthly": 1500,
|
||||
"currency": "USD"
|
||||
},
|
||||
"targeting": {
|
||||
"locations": ["United States", "Canada"],
|
||||
"demographics": ["25-54", "All genders"],
|
||||
"devices": ["Desktop", "Mobile", "Tablet"],
|
||||
"schedule": ["Mon-Fri 8am-8pm"]
|
||||
},
|
||||
"adGroups": [
|
||||
{
|
||||
"id": "adgroup-1",
|
||||
"name": "Product Category Group",
|
||||
"theme": "Main product focus",
|
||||
"keywords": ["keyword1", "keyword2"],
|
||||
"biddingStrategy": "Maximize conversions"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"adCopies": [{
|
||||
"id": "ad-1",
|
||||
"campaignType": "search",
|
||||
"headlines": ["Headline 1 (30 chars)", "Headline 2", "Headline 3"],
|
||||
"descriptions": ["Description 1 (90 chars)", "Description 2"],
|
||||
"callToAction": "Get Started",
|
||||
"mobileOptimized": true,
|
||||
"positioning": "Value proposition used"
|
||||
}],
|
||||
"campaigns": [{
|
||||
"id": "campaign-1",
|
||||
"name": "Campaign Name",
|
||||
"type": "search",
|
||||
"budget": {"daily": 50, "monthly": 1500, "currency": "USD"},
|
||||
"biddingStrategy": "Maximize conversions",
|
||||
"targeting": {
|
||||
"locations": ["Specific regions/cities"],
|
||||
"demographics": {"age": ["18-24", "25-34"], "gender": ["Male", "Female"], "interests": ["Tech", "Business"]},
|
||||
"devices": {"mobile": "60%", "desktop": "30%", "tablet": "10%"},
|
||||
"schedule": ["Mon-Fri, 9am-5pm"]
|
||||
},
|
||||
"adGroups": [{"id": "adgroup-1", "name": "Group", "theme": "Theme", "keywords": [], "biddingStrategy": "Manual CPC"}]
|
||||
}],
|
||||
"implementation": {
|
||||
"setupSteps": [
|
||||
"Step 1: Create Google Ads account...",
|
||||
"Step 2: Set up conversion tracking..."
|
||||
],
|
||||
"qualityScoreTips": [
|
||||
"Tip 1: Match keywords to ad copy...",
|
||||
"Tip 2: Optimize landing pages..."
|
||||
],
|
||||
"trackingSetup": [
|
||||
"Install Google Tag Manager...",
|
||||
"Set up conversion goals..."
|
||||
],
|
||||
"optimizationTips": [
|
||||
"Monitor search terms weekly...",
|
||||
"A/B test ad variations..."
|
||||
]
|
||||
"setupSteps": ["Step 1", "Step 2"],
|
||||
"qualityScoreTips": ["Tip 1", "Tip 2"],
|
||||
"trackingSetup": ["Conversion tag info", "GTM setup"],
|
||||
"optimizationTips": ["Tip 1", "Tip 2"]
|
||||
},
|
||||
"predictions": {
|
||||
"estimatedClicks": "500-800 per month",
|
||||
"estimatedImpressions": "15,000-25,000 per month",
|
||||
"estimatedCtr": "3.2%-4.5%",
|
||||
"estimatedConversions": "25-50 per month"
|
||||
"estimatedClicks": "500-800",
|
||||
"estimatedImpressions": "15,000-25,000",
|
||||
"estimatedCtr": "3.5%",
|
||||
"estimatedConversions": "30-50",
|
||||
"conversionRate": "4.2%",
|
||||
"avgCpc": "$1.85"
|
||||
},
|
||||
"historicalBenchmarks": {
|
||||
"industryAverageCtr": "3.1%",
|
||||
"industryAverageCpc": "$2.10",
|
||||
"seasonalTrends": "Peak in Q4",
|
||||
"geographicInsights": "London/NY show highest ROI"
|
||||
}
|
||||
}
|
||||
}
|
||||
\`\`\`
|
||||
|
||||
KEYWORD RESEARCH REQUIREMENTS:
|
||||
@@ -632,30 +580,44 @@ OUTPUT FORMAT - Return ONLY valid JSON with this EXACT structure:
|
||||
"competitorInsights": [
|
||||
{
|
||||
"competitor": "Competitor Name",
|
||||
"website": "URL",
|
||||
"estimatedSpend": "$10k-$50k/mo",
|
||||
"targetAudience": "Who they target",
|
||||
"strengths": ["Strength 1", "Strength 2"],
|
||||
"weaknesses": ["Weakness 1", "Weakness 2"],
|
||||
"adStrategy": "Their current advertising approach"
|
||||
"adStrategy": "Their approach",
|
||||
"topKeywords": ["keyword 1", "keyword 2"],
|
||||
"adCopyExamples": [
|
||||
{"headline": "Example Headline", "description": "Example Description"}
|
||||
]
|
||||
}
|
||||
],
|
||||
"strategies": [
|
||||
{
|
||||
"id": "strategy-1",
|
||||
"direction": "Strategic Direction Name",
|
||||
"rationale": "Why this strategy works for this product/market",
|
||||
"targetAudience": "Specific audience segment",
|
||||
"competitiveAdvantage": "How this beats competitors",
|
||||
"keyMessages": ["Message 1", "Message 2", "Message 3"],
|
||||
"adCopyGuide": {
|
||||
"headlines": ["Headline 1 (max 30 symbols)", "Headline 2", "Headline 3"],
|
||||
"descriptions": ["Description 1 (max 90 symbols)", "Description 2"],
|
||||
"keywords": ["keyword 1", "keyword 2", "keyword 3"],
|
||||
"setupGuide": "Friendly step-by-step for a beginner on where exactly to paste these in Google Ads Manager"
|
||||
"rationale": "Why this strategy works",
|
||||
"targetAudience": "Audience segment with demographics (age 25-45, interests etc)",
|
||||
"targetingDetails": {
|
||||
"geography": "Primary locations",
|
||||
"demographics": "Specific age/gender groups",
|
||||
"behavior": "User behaviors"
|
||||
},
|
||||
"recommendedChannels": ["Google Search", "Display", "YouTube"],
|
||||
"competitiveAdvantage": "How this beats competitors",
|
||||
"messagingPillars": ["Pillar 1", "Pillar 2"],
|
||||
"keyMessages": ["Message 1", "Message 2"],
|
||||
"adCopyGuide": {
|
||||
"headlines": ["Headline 1", "Headline 2"],
|
||||
"descriptions": ["Description 1", "Description 2"],
|
||||
"keywords": ["keyword 1", "keyword 2"],
|
||||
"setupGuide": "Step-by-step for Google Ads Manager"
|
||||
},
|
||||
"recommendedChannels": ["Search", "Display", "YouTube"],
|
||||
"estimatedBudgetAllocation": { "search": 40, "display": 30, "video": 20, "social": 10 },
|
||||
"expectedROI": "150-200%",
|
||||
"riskLevel": "low",
|
||||
"timeToResults": "2-3 months"
|
||||
"timeToResults": "2-3 months",
|
||||
"successMetrics": ["CTR > 3%", "CPA < $20"]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user