| PPC RED FLAGS | COMPREHENSIVE WASTE AUDIT |
| | Northland Roofing & Exteriors | May 24, 2026 |
| SEVERITY CRITICAL 5 chronic offenders draining $2,960.90 over the last 30 days | TOTAL FLAGGED $1,978.85 ↑ worsening |
| WHAT IS IN THE TOTAL | 7-day zero-conversion waste | $1,354.85 | | 30-day geographic leakage | $624.00 | | | Total flagged | $1,978.85 |
Chronic-offender 30-day cumulative damage is shown separately below as a recurring-pattern signal. It is not added into this total, to avoid double-counting (chronic queries that also spent at threshold this week are already in the 7-day line above). | CHECK YOUR TRACKING FIRST · LOW CONVERSION RATE Your account-wide conversion rate is 1.08%. That is low enough to be suspect on its own. The most common cause of a number this low is not bad traffic. It is incomplete conversion tracking. Phone calls not tied to clicks. Form-fills firing the wrong event, or no event at all. Offline conversions not uploaded. GA goals not mirrored as Google Ads primary conversions. Every "zero-conversion waste" finding below assumes the conversions Google Ads sees are the conversions that actually happened. If half your real leads come through the phone and are not being tracked, half of what is flagged below may actually be working. Verify before acting on the rest of this report:- Which conversion actions are marked Primary in Google Ads?
- Are phone calls tracked (call extensions, call-from-website, GTM telephone-link events)?
- Are form submissions firing the right event, including any thank-you-page reloads?
- Are offline conversions being uploaded for sales / qualified-lead events?
- Do Google Ads conversion totals match GA4 totals over the same date range?
| CRITICAL · CHRONIC OFFENDERS 5 queries have been wasting money for 30+ days. These queries showed up in your zero-conversion list this week AND in your zero-conversion list 30 days ago. Cumulative damage so far: $2,960.90. Your agency has had a full month to add these as negatives or build campaigns around them. They have not. CLEAR WASTE · $1,324.40 | SEARCH TERM | 30-DAY SPEND | CLICKS | CAMPAIGN | | roof rack for suv | $842.30 | 384 | PMax - Roofing Services | | how to fix a leaking roof yourself | $482.10 | 268 | PMax - Roofing Services |
REVIEW WITH THE BUSINESS · $1,636.50 These chronic queries match a service line that businesses in your industry (roofing) sometimes do offer. Do not auto-negative these. Check first: if this is a service you offer, build a campaign around it instead of blocking it. If you don’t offer it, then yes, negative away. | SEARCH TERM | 30-DAY SPEND | CLICKS | CAMPAIGN | | metal roof installation cost | $678.90 | 198 | Search - Roof Replacement | | flat roof commercial repair | $581.20 | 156 | PMax - Roofing Services | | tile roof contractor near me | $376.40 | 102 | Search - Roof Replacement |
| THIS WEEK · ZERO-CONVERSION WASTE 22 queries · $1,354.85 spent · zero conversions Products You Do Not Sell Search terms for product categories outside your catalog. | $677.85 6 queries |
|
Low-Value Intent (your terms) Search terms containing words you marked as low-value indicators for your business. | $236.00 4 queries |
|
Job & Career Intent People looking for employment, not your product. | $140.30 3 queries |
|
Comparison Shopping & Discount Hunting Searches with primarily price-sensitive intent. | $104.80 3 queries |
|
Informational & Research Research queries with no buying intent. | $83.60 2 queries |
|
Negative Sentiment Searches expressing complaints, comparison-against-you, or distrust. | $64.00 2 queries |
|
Uncategorized Zero-Conversion Spend Does not match a specific waste pattern but still produced zero conversions at meaningful spend. | $48.30 2 queries |
|
| SEARCH TERM | SPEND | CLICKS | CAMPAIGN | | roof rack for suv | $196.40 | 88 | PMax - Roofing Services | | metal roof installation cost | $158.20 | 47 | Search - Roof Replacement | | flat roof commercial repair | $134.75 | 36 | PMax - Roofing Services | | how to fix a leaking roof yourself | $112.30 | 64 | PMax - Roofing Services | | tile roof contractor near me | $88.50 | 24 | Search - Roof Replacement | | roofing jobs near me | $71.80 | 39 | PMax - Roofing Services | | roofer hourly salary | $42.10 | 21 | PMax - Roofing Services | | apply for roofing crew apprentice | $26.40 | 12 | Search - Roof Replacement | | diy roof patching tar paper | $53.60 | 31 | PMax - Roofing Services | | free roof inspection checklist printable | $38.90 | 22 | Search - Inspection | | how to replace shingles tutorial | $31.20 | 18 | PMax - Roofing Services | | asphalt vs metal roof lifespan | $58.40 | 32 | PMax - Roofing Services | | what is roof underlayment | $44.50 | 26 | PMax - Roofing Services | | difference between architectural and 3 tab shingles | $39.10 | 21 | PMax - Roofing Services | | roofing scam contractors red flags | $36.20 | 18 | PMax - Roofing Services | | bbb complaint roofing company | $27.80 | 14 | Search - Roof Replacement | | cheapest roof replacement quote | $49.30 | 26 | PMax - Roofing Services | | discount shingle roof repair coupon | $23.10 | 12 | PMax - Roofing Services | | commercial roofing contractor bulk | $41.60 | 17 | PMax - Roofing Services | | wholesale shingles distributor | $32.40 | 18 | PMax - Roofing Services | | roofing nail gun won't fire | $28.90 | 16 | Search - Roof Replacement | | roof age satellite view | $19.40 | 11 | PMax - Roofing Services |
| NOT IN THE TOTAL · HIGH-CPL CONVERTERS (LIKELY YOUR BEST LEADS) 4 queries with conversions at CPL 3x+ above the rest of your account. Baseline CPL (a trimmed average of your converting non-brand queries, with the highest-CPL outliers excluded so the comparison is not circular): $424.33. Raw account-wide average for comparison: $730.00. These are listed but excluded from your total flagged amount. Your industry preset (roofing) is a high-AOV vertical: storm damage, emergency repair, insurance-claim, or financing-intent queries here are usually the account’s best leads, not waste. A $3,000 CPL on a $25,000 job is a 0.12 cost-of-lead ratio, which is excellent. The OVERAGE column still shows what each row spent above a baseline-CPL hypothetical, useful for LTV math, not a number to act on directly. | SEARCH TERM | CPL | vs BASELINE | CONV | SPEND | OVERAGE | | storm damage roof inspection same day | $3,850.00 | 9.1x | 1.0 | $3,850.00 | $3,425.67 | | emergency roof leak repair tonight | $3,120.00 | 7.4x | 1.0 | $3,120.00 | $2,695.67 | | hail damage insurance claim contractor | $2,740.00 | 6.5x | 1.0 | $2,740.00 | $2,315.67 | | whole roof replacement quote financing | $2,380.00 | 5.6x | 1.0 | $2,380.00 | $1,955.67 |
| GEOGRAPHIC LEAKAGE · LAST 30 DAYS $624.00 spent on users outside your target countries. Your account targets US, but spent money in 4 other countries. This usually means location targeting is set to "Presence or interest" instead of "Presence." One setting change in Campaign Settings → Locations. | COUNTRY (USER LOCATION) | SPEND | CLICKS | CONV | | United Kingdom | $308.40 | 38 | 0.0 | | Canada | $168.20 | 21 | 0.0 | | Philippines | $96.40 | 33 | 0.0 | | India | $51.00 | 27 | 0.0 |
Fix: Campaign settings → Locations → click each campaign's targeted location → "Location options" → change to "Presence: People in or regularly in your targeted locations." Test in audit mode first. | TREND vs. TRAILING 30-DAY AVG ↑ Waste is increasing This week: $1,354.85 · trailing weekly avg: $1,052.60 | +28.7% |
| ACCOUNT CONTEXT · LAST 30 DAYS Total Spend $24,820.00 | Conversions 34.0 | Avg CPL $730.00 | Conv. Rate 1.08% |
Total flagged waste this week represents 8.0% of your trailing 30-day spend. There is no industry benchmark worth quoting for “normal” waste. It depends too much on vertical, account maturity, and tracking quality. Watch the trend section above (week-over-trailing-average direction) rather than the absolute percentage. | Brand queries this week: $101.20 · 2 queries Excluded from waste totals above. These are your brand searches, people who already knew you. If your agency reports these conversions as paid campaign performance, that is its own red flag. Red Flag #1 → | Competitor queries this week: $48.30 · 1 query Could be intentional conquest targeting or unintentional broad-match overreach. Confirm which campaigns are sourcing them. | WHAT TO ASK YOUR AGENCY On the chronic offenders "Why are these 5 specific queries still in our search-terms report after 30 days of zero conversions? When was the negative-keyword list last reviewed end-to-end?" A vague answer is itself the answer. Red Flag #2 →On the geographic leakage "Are our campaigns set to 'Presence' or 'Presence or interest' for location targeting? If 'Presence or interest,' why?" There is rarely a good reason to target by interest for a regional or country-specific business. Products You Do Not Sell ($677.85) These are pure broad/phrase match overreach. Add as exact-match negatives at the account level. Each adjacent product category you do not serve should have its own negative cluster. Read more →Low-Value Intent (your terms) ($236.00) Add as exact-match negatives at the account level. These are intent words you specifically flagged as signaling a low-quality lead for your specific business. That judgment should override the script's generic category guesses. Read more →Job & Career Intent ($140.30) Add all job/career terms as exact-match negatives at the account level. One-time fix, ten minutes of work, blocks this category permanently. Read more →Comparison Shopping & Discount Hunting ($104.80) For premium B2B accounts, most of these are non-buyers. Add as negatives or move to a heavily filtered campaign with strict bid limits. Read more →Informational & Research ($83.60) Add to negatives unless you have a content strategy specifically targeting research stages. Most informational traffic does not convert on paid. Read more →Negative Sentiment ($64.00) Most negative sentiment queries should be negatives. Exception: if you have a strong reputation page or comparison-against-competitor content, those specific queries can be exceptions. Read more →Uncategorized Zero-Conversion Spend ($48.30) Review each query individually. If there is no plausible path from that search to buying your product, add as a negative. Build a running list for your agency to review. Read more →Note on PMax campaigns. Standard account-level negative keywords do not apply to PMax through the normal Google Ads UI. For terms routing to a campaign labelled “PMax…” above, use one of: a shared negative-keyword list applied to PMax via Google support, brand exclusions configured in the PMax campaign settings, or pushing the term into a Search campaign where you can negative it directly. Adding it as a regular account-level negative will look correct but will not actually block it from PMax. | Want someone to go through this with you? This script flags the patterns. A full audit explains the structural reasons your agency has not caught them, and what the same patterns mean about everything else they are doing. Book a free audit → | Generated by a Google Ads Script from ppcredflags.comReads your account data only. Does not change settings, bids, or campaigns. Forward this email to your agency. Their response is its own diagnostic. PMax data caveat: Performance Max campaigns return less granular search-term data than Search campaigns. If a PMax row above shows partial metrics, that is the Google Ads API’s current behavior, not the script. Cross-reference with the “Search categories” insights inside the PMax campaign for the same window to fill any gaps. |
|