---
sharksapi_version: p-19a1157c99
name: paid-ads-strategy
description: Audit Google Ads and Meta Ads performance via SharksAPI, identify waste and opportunities, and create a strategy card with prioritized optimization tasks. Uses real campaign data from connected ad accounts.
allowed-tools: [get_google_ads, get_meta_ads, get_ga4, get_ga4_channels, get_ga4_events, analyze_pagespeed, scrape_website, create_dashboard, update_dashboard, update_strategy_task, get_strategy_status]
metadata:
  triggers: [ads audit, google ads audit, meta ads audit, paid ads strategy, ad performance, reklaamiaudit, ads optimization, ppc audit, facebook ads audit, ad spend review]
---

# Paid Ads Audit & Strategy

Audit Google Ads and Meta Ads performance using SharksAPI connected data, find waste and opportunities, and produce a strategy card with actionable tasks.

## When to use

User says: "audit our ads", "how are Google Ads performing", "Meta Ads review", "optimize ad spend", "PPC audit", "are we wasting money on ads".

## Phase 1: Data Collection

Call these tools in parallel via A2A:

**Google Ads performance** (if connected):
```json
{"tool": "get_google_ads", "arguments": {"start_date": "{30_days_ago}", "end_date": "{today}"}}
```
Returns per campaign: impressions, clicks, CTR, avg CPC, cost, conversions, cost per conversion.

**Meta Ads performance** (if connected):
```json
{"tool": "get_meta_ads", "arguments": {"start_date": "{30_days_ago}", "end_date": "{today}"}}
```
Returns per campaign: spend, impressions, reach, clicks, CTR, CPC, conversions, cost per result, ROAS.

**Website analytics context:**
```json
{"tool": "get_ga4_channels", "arguments": {"start_date": "{30_days_ago}", "end_date": "{today}"}}
{"tool": "get_ga4_events", "arguments": {"start_date": "{30_days_ago}", "end_date": "{today}"}}
```
Shows: paid search/social share of total traffic, what events paid traffic triggers.

**Landing page speed** (for top ad landing pages):
```json
{"tool": "analyze_pagespeed", "arguments": {"url": "{landing_page_url}"}}
```

Also download detailed audit checklists if needed:
- `https://sharksapi.ai/skills/ads-google.skill.md` — 80-point Google Ads audit
- `https://sharksapi.ai/skills/ads-meta.skill.md` — 50-point Meta Ads audit
- `https://sharksapi.ai/skills/ads-creative.skill.md` — creative quality audit
- `https://sharksapi.ai/skills/ads-budget.skill.md` — budget optimization
- `https://sharksapi.ai/skills/ads-landing.skill.md` — landing page conversion audit

## Phase 2: Analysis

### Google Ads Health Check
- **CTR**: <2% = poor, 2-5% = average, >5% = good (varies by industry)
- **CPC**: Compare to industry benchmarks. Search avg ~$2-4, Display ~$0.50-1
- **Conversion rate**: <2% = needs work, 2-5% = average, >5% = good
- **Cost per conversion**: Is it sustainable? Compare to customer lifetime value
- **ROAS**: Revenue / ad spend. Target varies: ecommerce >4x, B2B >3x, services >2x
- **Wasted spend**: Campaigns with high spend but zero conversions
- **Quality Score signals**: High CPC with low CTR = likely low quality score

### Meta Ads Health Check
- **CTR**: <0.5% = poor, 0.5-1.5% = average, >1.5% = good
- **CPC**: Compare to industry. B2B avg ~$1-3, ecommerce ~$0.50-1.50
- **Frequency**: >3 = audience fatigue, creative refresh needed
- **ROAS**: Direct return on ad spend. Below 1x = losing money
- **Reach vs impressions**: High frequency means same people see ads repeatedly
- **Cost per result**: Is each conversion affordable?

### Cross-platform Analysis
- Which platform delivers better ROAS?
- Is budget allocation optimal between Google and Meta?
- Are landing pages fast enough? (PageSpeed <50 = killing conversions)
- Does paid traffic actually convert? (check GA4 events for paid channels)

## Phase 3: Strategy Card

Create a strategy card with top 10 optimization tasks:

**Set dashboard password:** Ask the user for a dashboard password (required — `create_dashboard` rejects requests without one). Pass it via the `password` field.

```json
{"tool": "update_dashboard", "arguments": {
  "token": "{dashboard_token}",
  "add_widgets": [{
    "type": "strategy_card",
    "title": "Paid Ads Strategy — {date_range}",
    "grid_cols": 4,
    "content": "## Ads Audit Summary\n\n### Google Ads\n- Spend: {total_cost}\n- Conversions: {N} at {cost_per_conv}/each\n- ROAS: {roas}x\n- Top campaign: {name} ({conversions} conv)\n- Worst campaign: {name} ({spend} spent, {conversions} conv)\n\n### Meta Ads\n- Spend: {total_spend}\n- ROAS: {roas}x\n- Best campaign: {name}\n\n### Verdict\n{overall_assessment}",
    "source": {
      "mode": "human_controlled",
      "tasks": [
        {"title": "Pause campaign '{name}' — spent {amount} with 0 conversions", "description": "Wasted spend. Reallocate budget to top performer."},
        {"title": "Reduce CPC on '{campaign}' — CPC is {cpc} vs {benchmark} benchmark", "description": "Lower bids or improve quality score via better ad copy + landing page relevance."},
        {"title": "Refresh Meta creatives — frequency is {freq}", "description": "Audience fatigue. Create 2-3 new ad variants with different visuals and copy."},
        {"title": "Speed up landing page {url} — PageSpeed {score}/100", "description": "Every 1s delay reduces conversions by ~7%. Compress images, defer JS."},
        {"title": "Add negative keywords to '{campaign}'", "description": "Check search terms report for irrelevant queries eating budget."},
        {"title": "Test new audience on Meta — current audience exhausted", "description": "Lookalike from converters or interest-based expansion."},
        {"title": "Set up conversion tracking for '{event}'", "description": "GA4 shows {event} but it's not imported into Google Ads as conversion."},
        {"title": "Increase budget on '{campaign}' — best ROAS at {roas}x", "description": "Top performer is budget-constrained. Test +20% budget."}
      ]
    }
  }]
}}
```

## Task Prioritization

1. **Stop waste** — pause campaigns/ad sets with spend but zero conversions
2. **Fix tracking** — ensure all valuable actions are tracked as conversions
3. **Speed up landing pages** — PageSpeed <70 = fix immediately
4. **Refresh fatigued creatives** — frequency >3 on Meta
5. **Reallocate budget** — move spend from worst to best performers
6. **Optimize bids/targeting** — reduce CPC, add negative keywords
7. **Scale winners** — increase budget on highest-ROAS campaigns
8. **Test new approaches** — new audiences, ad formats, landing pages

## Phase 4: Weekly Follow-up

When repeating:
1. `get_strategy_status` on previous card — what was done?
2. Pull fresh ads data — did metrics improve after changes?
3. Compare: ROAS before vs after, CPC before vs after
4. Create new strategy card building on progress
