Skip to content
esc close · ← → switch
LYRA/ Tools/ Diagnostic/ Campaign Health Analyzer
Diagnostic Rule-basedOn-demand

Your account, scored on demand.

Campaign Health Analyzer runs 17 rule-based diagnostic checks on a connected Google Ads account when you ask for it in chat. You get a 0–100 health score, findings grouped by severity with a next step on each, and 5–7 suggestions from the Lyra Agent — usually in under 30 seconds. Read-only — nothing in your account changes.

Rule-based, not ML · On-demand · ~25 seconds per run · Read-only access
What we read · input surface

One account, every check, every run.

Each run is scoped to one connected Google Ads account. The analyzer reads Lyra's synced campaign, keyword and Quality Score data — no writes — and returns a structured report. These are the numbers behind one illustrative run.

Run · Illustrative example · Basalt DTC Illustrative · ~25 second runtime
01 · Account 1 Per run One Google Ads account per run. Run it separately on each account when you want a sweep.
02 · Campaigns 3 In scope Enabled campaigns with data in the window; paused ones only if you ask for them.
03 · Checks 17 Diagnostic rules run Structure, spend, performance, Quality Score (7), conversion, settings. Each check has named thresholds.
04 · Window 7 d Performance lookback Fixed 7-day window for spend, CTR, conversions and Quality Score.
The scorecard · generated artefact

Out: a health readout you can read in a minute.

Below is an illustrative readout from the run above. Overall health score, severity-banded findings count, and the individual findings — each with the affected campaign, a one-line explanation, and the next step written into its rule.

Health-report · basalt-dtc Illustrative example 17 checks · 3 campaigns v2.1.0
Overall health
55 / 100
Needs attention ▼ 45 points deducted from 100
Findings by severity 6 findings · 3 campaigns
Critical 1
High 2
Medium 3
# Check Scope What we found Suggested action Severity
01 No conversions no_conversions · conversion Search · Generic 64 clicks and no conversions in the last 7 days. Check conversion tracking and landing page experience Critical
02 Low CTR low_ctr · performance Search · Generic CTR of 0.8% over the 7-day window. Review ad copy and keywords for relevance High
03 Below-average Quality Score quality_score_low · QS Account · 86 keywords Average Quality Score is 5.4/10 across 86 keywords. Weakest component: Landing Page Experience — prioritize improvements there High
04 Weak Landing Page Experience qs_component_below_avg_landing_page · QS Account · 31 keywords 31 keywords (36%) have below-average Landing Page Experience. Improve page load speed, mobile responsiveness, and content relevance Medium
05 Budget under-utilised budget_underutilization · spend PMax · Autumn Only using 42% of daily budget over 7 days. Expand keywords or increase bids to capture more traffic Medium
06 Automate bidding bidding_automation · settings Search · Generic Campaign on Manual CPC, which requires constant optimization. Switch to Maximize Conversions or Target CPA Medium
6 of 6 findings shown · grouped by severity Stored in ai_tool_executions · queryable per account
Methodology · how the checks work

Each check is a rule , not an opinion.

The check library is rule-based, not ML. Each finding has a predicate you can read, hardcoded thresholds, and a deterministic outcome — same inputs, same findings, same severity. The Lyra Agent only enters at the suggestion layer; it never decides whether something is a finding.

01 · Structure4 checks

Campaign shape and organisation.

A single campaign, more than 5 campaigns for the budget, no Search campaign, and no Shopping on an ecommerce account (unless a Performance Max with a product feed already covers it).

Critical No Search campaign
High More than 5 campaigns
Medium Single campaign
02 · Spend2 checks

Where the money is going.

Budget concentration (one campaign holding more than 80% of the enabled daily budgets) and budget under-utilisation (less than 50% of daily budget used over 7 days).

Medium Concentration > 80%
Medium Utilisation < 50% over 7d
03 · Performance2 checks

Are clicks landing?

Low CTR (below 1% on campaigns with more than 100 impressions in the window) and CTR-improvement opportunities (between 1% and 2%).

High CTR < 1%
Medium CTR 1–2%
04 · Quality Score7 checks

Quality Score, broken into pieces.

Account-level QS (critical < 4.0, low < 6.0), QS spread (>40% of keywords below 5), three component checks (Ad Relevance, Expected CTR, Landing Page) at the >30% BELOW_AVERAGE threshold, plus a per-keyword quick-wins check on the top 10 affected.

Critical Avg QS < 4.0
High Avg QS < 6.0
Medium >30% components BELOW_AVERAGE
05 · Conversion1 check

Whether you can measure anything.

More than 50 clicks with zero conversions in the 7-day window. The silent break where spend continues after conversions stop reporting.

Critical > 50 clicks, 0 conversions
06 · SuggestionsLyra Agent

A next step on every finding.

Every finding carries the next step written into its rule. On top, the Lyra Agent reads the structured findings and writes 5–7 suggestions for the account. The Agent never invents findings; it only works from what the rules surfaced.

Layer Post-detection · narrative only
Falls back to Rule-based suggestions if Agent unavailable
Audit Stored alongside findings
Frequently asked

The honest answers about Analyzer.

Is this AI?

Detection is rule-based — same inputs, same findings, same severity. Each check is a predicate with hardcoded thresholds (e.g. "more than 50 clicks with zero conversions in 7 days"). The Lyra Agent only enters at the suggestion layer: it reads the structured findings and writes 5–7 account-level suggestions. The numbers and the severities are deterministic; only the suggestion language is generated.

How often does the run happen?

On-demand. You ask for it in chat; the analyzer returns a scored report in about 25 seconds. There's no overnight cron. If you want a sweep across multiple accounts, run it on each account in turn.

Does it modify my Google Ads account?

Never. Analyzer reads Lyra's synced copy of your account and writes nothing to Google Ads. The output is a scored report with suggestions; applying anything is a separate step you take in Lyra or in Google Ads directly.

Can I run it through the chat?

Yes — that is how it runs. analyze_campaign_health is one of the Lyra Agent's tools in AI Advisor. Ask in chat — "run a health check on basalt-dtc" — and the Agent runs it and summarises the findings.

14-day free trial · Cancel anytime

Run the audit.
Keep the findings.

Connect your account and let Lyra run its 8 tools for 14 days. If the projected waste recovery isn't worth at least 10× the $49, don't pay. You keep every insight either way.

Read-only connect · write access opt-in per tool · GDPR compliant