lead-quality-pattern-analysis
Skill72 starsChanged 4 months agoMITView on GitHub
Red flag detection frameworks for lead quality analysis across GA4 behavioral data. Auto-invoke when analyzing lead quality, identifying bot traffic, investigating no-shows/missing contact info, or reviewing conversion patterns. Provides 5 analysis frameworks (landing pages, geo, devices, time, user behavior) with severity classification.
In this repository41 other files it gives its agents.
- account-diagnosticSkill
- ad-copy-generation-frameworkSkill
- ad-copy-verification-standardSkill
- add-account-negative-keywordsSkill
- ads-checkerSkill
- budget-guardianSkill
- budget-recommendation-calculatorSkill
- change-history-checkerSkill
- client-communication-standardsSkill
- competitor-analysis-v2Skill
- conversion-tracking-healthSkill
- dgen-automation-disableSkill
- fair-housing-complianceSkill
- ga4-campaign-cross-referenceSkill
- ga4-cross-analysisSkill
- ga4-lead-quality-investigationSkill
- gaql-query-patternsSkill
- geo-conflict-analyzerSkill
- google-ads-api-setupSkill
- google-ads-querySkill
- google-ads-samplesSkill
- impression-share-diagnosticsSkill
- investigation-methodologySkill
- lead-quality-recommendation-prioritizationSkill
- markdown-to-sheets-presenterSkill
- mcc-hack-auditSkill
- mutation-safetySkill
- neg-conflict-finderSkill
- non-serving-keyword-scannerSkill
- pmax-asset-automationSkill
- pmax-builderSkill
- portfolio-health-prioritizationSkill
- portfolio-pacing-rulesSkill
- rsa-bulk-editSkill
- rsa-refreshSkill
- rsa-single-accountSkill
- shared-budget-updaterSkill
- sqr-classifierSkill
- sqr-pipelineSkill
- underspending-investigationSkill
- youtube-placement-auditSkill
The file
We split this skill into the rules it gives an agent
7 rules. About 0 are common, 7 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈7
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 137
Verify campaign location targeting (check radius, included/excluded locations)
- Distinctive: line 138
Check if conversions from wrong geo BUT targeting is correct → IP geolocation issue (NOT targeting problem)
- Distinctive: line 139
Check if conversions from wrong geo AND targeting is wrong → Targeting misconfiguration
- Distinctive: line 270
If late night (1-4 AM) >20% → Investigate for bots/international traffic
- Distinctive: line 380
Use this table to quickly classify lead quality issues:
- Distinctive: line 395
Run GA4 cross-analysis to get behavioral data
- Distinctive: line 414
Use severity classification to prioritize
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Lead Quality Pattern Analysis Skill
Purpose: Provides standardized red flag detection frameworks for identifying lead quality issues through GA4 behavioral data analysis.
Type: Domain knowledge skill (auto-invoked)
What This Skill Deliberately Does NOT Do
- Collect the data. It runs on GA4 behavioral data already gathered (Step 1 hands it
ga4-cross-analysisoutput); it pulls nothing itself. - Verify flags against campaign settings. It detects patterns in GA4 behavior; confirming whether a flag is a real config gap or a data artifact is
ga4-campaign-cross-reference's hypothesis → verification job. - Build the prioritized plan. It counts and severity-classifies red flags; turning them into a sequenced action plan is
lead-quality-recommendation-prioritization. - Apply the fixes. Adding URL or placement exclusions runs through
mutation-safety's two-step approval, not here.
Quick Reference: Red Flag Decision Tree
Severity Classification:
- 🚨 Severe Quality Issues: >3 red flags detected
- ⚠️ Moderate Quality Concerns: 1-2 red flags detected
- ℹ️ Configuration Issues: 0 red flags but poor performance
Common Red Flags:
50% conversions from non-conversion-intent pages (blog/informational)
- Geographic mismatch (conversions outside target market)
- Bot indicators (Android Webview dominance, unusual browsers)
- Suspicious time patterns (1-4 AM peaks, exact intervals)
- Abnormal device consistency (100% mobile or 100% desktop)
- 100% new users (no returning visitors)
- Extremely short session durations (<10 seconds before conversion)
- Multiple conversions from single user/IP
Framework 1: Landing Page Distribution Analysis
Purpose
Identify if conversions are coming from high-intent pages (property/product pages) vs low-intent pages (blog/informational content).
Analysis Method
Step 1: Categorize Landing Pages
High-Intent Pages (Conversion-Focused):
- Service detail pages (e.g.,
/services/,/properties/) - Product pages (e.g.,
/contact/,/request-quote/) - Pricing pages (e.g.,
/pricing/,/specials/) - Community/amenity pages (e.g.,
/amenities/,/gallery/)
Low-Intent Pages (Informational/Blog):
- Blog posts (e.g.,
/blog/,/news/) - Resource centers (e.g.,
/resources/,/guides/) - General information (e.g.,
/about/,/faq/) - Category pages (e.g.,
/neighborhoods/,/lifestyle/)
Step 2: Calculate Distribution
High-Intent % = (High-Intent Conversions ÷ Total Conversions) × 100
Low-Intent % = (Low-Intent Conversions ÷ Total Conversions) × 100Step 3: Apply Red Flag Thresholds
| Low-Intent % | Severity | Action |
| >75% | 🚨 Severe | IMMEDIATE: Add URL exclusions for blog/informational pages |
| 50-75% | ⚠️ Moderate | MEDIUM: Review and selectively exclude low-performing URLs |
| 25-50% | ℹ️ Monitor | OPTIONAL: Consider excluding if CPA significantly higher |
| <25% | ✅ Normal | No action needed (expected mix) |
Step 4: Document Findings
Example Table Format:
| Category | Conversions | % of Total | Top Examples |
|----------|-------------|------------|--------------|
| Blog/Community | 64 | 76.2% | /blog/10-tips, /blog/moving-guide |
| Service Pages | 15 | 17.9% | /pricing/2br, /services/studio |
| Other | 5 | 5.9% | /amenities, /contact |Red Flag Statement (if >50%):
🚨 CRITICAL: 76.2% of conversions from blog/informational content. These users are researching moving tips, not actively seeking services. Leads likely to have low intent and high no-show rates.
Framework 2: Geographic Distribution Analysis
Purpose
Identify conversions from outside target geography (VPNs, proxies, incorrect IP geolocation, or misconfigured targeting).
Analysis Method
Step 1: Map Conversions to Geography
Extract from GA4:
- City (most specific)
- State/Region
- Country
Step 2: Compare to Target Market
Define Target Geography:
- Primary market (e.g., the city or metro area the business serves)
- Acceptable radius (e.g., 40-mile radius)
- Explicitly excluded areas
Calculate Match Rate:
Target Geography Match % = (Conversions in Target ÷ Total Conversions) × 100Step 3: Identify Patterns
Normal Pattern:
- Most conversions from target geography
- Some variance expected (mobile IP geolocation inaccuracy)
- Scattered outliers (travelers, relocating users)
Suspicious Patterns:
- Multiple conversions from single user in distant cities
- Geographic clusters far from target market
- International traffic when targeting domestic only
Step 4: Cross-Reference with Campaign Settings
CRITICAL: Before flagging geographic issues:
- Verify campaign location targeting (check radius, included/excluded locations)
- Check if conversions from wrong geo BUT targeting is correct → IP geolocation issue (NOT targeting problem)
- Check if conversions from wrong geo AND targeting is wrong → Targeting misconfiguration
Step 5: Apply Red Flag Thresholds
| Outside Target % | Pattern | Severity | Action |
| >50% | Distant cities, international | 🚨 Severe | Verify targeting, consider IP exclusions |
| 25-50% | Adjacent markets, mobile variance | ⚠️ Moderate | Review targeting radius, check for VPNs |
| <25% | Scattered outliers | ✅ Normal | Mobile IP variance expected |
Special Case: VPN/Proxy Detection
Indicators:
- Multiple conversions from same user across different cities
- IP geolocation shows distant city but form data shows local address
- Clustering in VPN-heavy cities (certain international locations)
Note: GA4 city data is often inaccurate for mobile users. Always verify campaign targeting before concluding targeting issue.
Framework 3: Device & Browser Pattern Analysis
Purpose
Identify bot traffic, automation tools, and abnormal device/browser patterns indicating low-quality or fraudulent conversions.
Analysis Method
Step 1: Extract Device & Browser Data
From GA4:
- Device category (mobile, desktop, tablet)
- Operating system (Android, iOS, Windows, Mac)
- Browser (Chrome, Safari, Firefox, WebView)
- Specific browser version
Step 2: Identify Bot Indicators
🚨 SEVERE Bot Indicators:
- Android WebView >50% - In-app browser (often low-quality ad placements)
- Headless browsers - Automation tools (Puppeteer, Selenium)
- Unusual user agents - Bot signatures in UA string
- Single browser version >90% - Bot pattern (not natural distribution)
⚠️ MODERATE Bot Indicators:
- 100% mobile or 100% desktop - Unnatural consistency
- Old browser versions - Outdated bots or scrapers
- Obscure browsers - Non-mainstream browsers at scale
ℹ️ MONITORING Indicators:
- Very high mobile % (>85%) - May indicate placement issues
- Single OS dominance (>95%) - Check if campaign-specific or bot
Step 3: Calculate Distribution
| Device/Browser | Conversions | % of Total | Red Flag? |
|----------------|-------------|------------|-----------|
| Android Mobile (WebView) | 70 | 83.3% | 🚨 YES (in-app ads, low quality) |
| iOS Mobile (Safari) | 10 | 11.9% | ✅ Normal |
| Desktop (Chrome) | 4 | 4.8% | ✅ Normal |Step 4: Apply Red Flag Thresholds
| Pattern | Severity | Action |
| Android WebView >50% | 🚨 Severe | Exclude in-app placements, review mobile network quality |
| Single device type 100% | ⚠️ Moderate | Review placement targeting, check for bot traffic |
| Unusual browser >25% | ⚠️ Moderate | Investigate user agents, consider browser exclusions |
| Diverse distribution | ✅ Normal | No action needed |
Step 5: Cross-Reference with User Behavior
If high Android WebView + high no-shows:
- Root cause: In-app ad placements (users clicking ads while scrolling, not intentionally seeking services)
- Solution: Exclude mobile app inventory or add audience signals for in-market users
Framework 4: Time Pattern Analysis
Purpose
Detect suspicious conversion timing patterns indicating bot traffic, automation, or low-quality placements.
Analysis Method
Step 1: Extract Hourly Conversion Data
From GA4:
- Hour of day (0-23 in property timezone)
- Day of week
- Conversion timestamp clustering
Step 2: Chart Distribution
| Hour | Conversions | % | Notes |
|------|-------------|---|-------|
| 1 AM | 18 | 21.4% | 🚨 Suspicious (off-hours peak) |
| 2 AM | 15 | 17.9% | 🚨 Suspicious |
| 3 AM | 12 | 14.3% | 🚨 Suspicious |
| 4 AM | 9 | 10.7% | ⚠️ Elevated |
| ... | ... | ... | ... |
| 10 AM | 4 | 4.8% | ✅ Normal business hours |Step 3: Identify Red Flags
🚨 SEVERE Patterns:
- 1-4 AM peak (>30% of conversions) - Bot traffic or international placements
- Exact interval timing (every 5 min, every hour) - Automation script
- Single hour dominance (>50% in one hour) - Placement or bot issue
⚠️ MODERATE Patterns:
- Late night elevated (11 PM - 6 AM >40%) - Check for international traffic
- Weekend-only pattern - May indicate specific placement or audience
ℹ️ MONITORING Patterns:
- Business hours heavy (9 AM - 6 PM >60%) - Normal for B2B/services
- Evening peak (6 PM - 11 PM >50%) - Normal for consumer/residential
Step 4: Compare to Industry Benchmarks
Service Business - Expected Pattern:
- Peak: 6 PM - 11 PM (after work hours) - 40-50%
- Business hours: 9 AM - 6 PM - 30-40%
- Late night: 11 PM - 6 AM - 5-15%
- Early morning: 6 AM - 9 AM - 5-10%
Red Flag Threshold:
- If late night (1-4 AM) >20% → Investigate for bots/international traffic
Step 5: Cross-Reference with Geography
Pattern: 1-4 AM peak + international cities (Asia, Europe) = International placements Pattern: 1-4 AM peak + domestic cities = Bot traffic or automation
Framework 5: User Behavior Analysis
Purpose
Detect abnormal user engagement patterns indicating low intent, bot traffic, or form spam.
Analysis Method
Step 1: Extract User Engagement Metrics
From GA4:
- New vs Returning Users (% split)
- Session Duration (avg seconds before conversion)
- Pages per Session (avg pages viewed)
- Engagement Rate (% of engaged sessions)
- Bounce Rate (% single-page sessions)
Step 2: Calculate Ratios
New User % = (New Users ÷ Total Users) × 100
Avg Session Duration = Total Session Duration ÷ Total Sessions
Avg Pages per Session = Total Pages Viewed ÷ Total SessionsStep 3: Apply Red Flag Thresholds
New vs Returning User Ratio
| New User % | Severity | Interpretation |
| 100% | 🚨 Severe | No returning visitors = no brand engagement, possible bots |
| 95-99% | ⚠️ Moderate | Very low returning rate = low intent or one-time form fills |
| 85-95% | ℹ️ Monitor | Slightly elevated (check if new campaign or seasonal) |
| 70-85% | ✅ Normal | Expected for prospecting campaigns |
Service Business Benchmark: 75-85% new users (normal for service searches)
Session Duration Before Conversion
| Avg Duration | Severity | Interpretation |
| <10 seconds | 🚨 Severe | Instant form submission = bot or accidental click |
| 10-30 seconds | ⚠️ Moderate | Very quick = low engagement, possible spam |
| 30-120 seconds | ✅ Normal | Quick but engaged (mobile users) |
| 2-5 minutes | ✅ Normal | Researching, reading content |
| >10 minutes | ✅ High Intent | Deep engagement, comparison shopping |
Service Business Benchmark: 2-5 minutes (viewing pricing details, amenities, pricing)
Pages per Session
| Avg Pages | Severity | Interpretation |
| 1 page | 🚨 Severe | Bounce and convert = form spam or bot |
| 1-2 pages | ⚠️ Moderate | Low engagement |
| 2-4 pages | ✅ Normal | Viewing property info, amenities |
| 4-8 pages | ✅ High Intent | Comparison shopping, researching |
| >8 pages | ℹ️ Monitor | Very engaged OR bot crawling |
Service Business Benchmark: 3-5 pages (service page → pricing details → amenities → convert)
Step 4: Identify Patterns
🚨 SEVERE Combination (Form Spam/Bots):
- 100% new users
- <10 sec avg session duration
- 1 page per session
- Conclusion: Automated form submission or accidental clicks
⚠️ MODERATE Combination (Low Intent):
95% new users
- 10-30 sec avg duration
- 1-2 pages per session
- Conclusion: Users filling forms from blog content without property intent
✅ NORMAL Combination (Engaged Prospects):
- 75-85% new users
- 2-5 min avg duration
- 3-5 pages per session
- Conclusion: Genuine potential customers researching options
Step 5: Cross-Reference with Other Frameworks
If poor user behavior + blog landing pages:
- Root Cause: Users reading moving tips, not seeking services
- Solution: Exclude blog URLs
If poor user behavior + Android WebView:
- Root Cause: In-app ad clicks while scrolling social feeds
- Solution: Exclude mobile app inventory
If poor user behavior + 1-4 AM peak:
- Root Cause: Bot traffic or automation
- Solution: Implement bot protection, review placement quality
Red Flag Summary Table
Quick Severity Assessment
Use this table to quickly classify lead quality issues:
| Red Flags Detected | Severity Classification | Recommended Action Timeline |
| 0 flags, poor performance | ℹ️ Configuration Issues | Review targeting, bidding, budgets |
| 1 red flag | ⚠️ Moderate Concerns | Investigate root cause, implement fix this week |
| 2 red flags | ⚠️ Moderate Concerns | Multiple fixes needed, prioritize by impact |
| 3 red flags | 🚨 Severe Quality Issues | Immediate action required (same day) |
| 4+ red flags | 🚨 Severe Quality Issues | Consider pausing campaign until fixed |
Integration with Investigation Workflow
Step 1: Collect Data
- Run GA4 cross-analysis to get behavioral data
- Extract landing pages, geo, devices, time, user behavior metrics
Step 2: Apply Each Framework
- Framework 1: Categorize and calculate landing page distribution
- Framework 2: Map geography and compare to target market
- Framework 3: Identify device/browser bot indicators
- Framework 4: Chart hourly patterns and flag suspicious timing
- Framework 5: Calculate user engagement ratios
Step 3: Count Red Flags
- Tally total red flags across all 5 frameworks
- Apply severity classification (0 / 1-2 / 3+)
Step 4: Identify Root Causes
- Cross-reference red flags to find patterns
- Example: Blog pages + 100% new users + short duration = informational traffic, not property seekers
Step 5: Generate Recommendations
- Use severity classification to prioritize
- Reference specific framework findings in recommendations
Real-World Example: PMax Lead Quality Analysis
Red Flags Detected: 5 (🚨 SEVERE)
- Framework 1 (Landing Pages): 76.2% from blog/community content ✗
- Framework 3 (Devices): 83.3% Android WebView ✗
- Framework 4 (Time): Peak activity 1-4 AM (53.6%) ✗
- Framework 5 (User Behavior): 100% new users ✗
- Framework 5 (Engagement): Likely low engagement (not measured but inferred from blog traffic) ✗
Severity Classification: 🚨 SEVERE (5 red flags)
Root Cause Identified:
Performance Max campaign serving in-app ads (Android WebView) that lead users to blog content. Users clicking while scrolling social feeds at night (1-4 AM), filling forms out of curiosity, not genuine purchase intent.
Recommendations Generated:
- 🚨 IMMEDIATE: Add
/blog/*to URL exclusions - 🚨 IMMEDIATE: Review mobile app inventory quality
- ⚠️ MEDIUM: Add audience signals for in-market potential customers
- ⚠️ MEDIUM: Consider reducing budget during 1-4 AM hours
When to Use This Skill
Auto-Invoked When:
- Investigating lead quality issues
- Analyzing GA4 conversion data
- Identifying bot traffic
- Reviewing no-show rates or missing contact info
- User mentions "low quality leads", "bot traffic", "form spam"
- Creating lead quality analysis reports
Manual Invocation:
- Baseline analysis for new campaigns
- Monthly quality audits
- Client reporting on lead quality metrics
When to Load Other Skills
| Skill | When |
ga4-cross-analysis | Before applying the frameworks, when you still need to collect the GA4 behavioral data they read |
ga4-campaign-cross-reference | To verify a flagged pattern against live campaign settings — flag → hypothesis → finding |
lead-quality-recommendation-prioritization | To turn the counted red flags into a prioritized, sequenced action plan |
investigation-methodology | For the broader hypothesis-driven framework when the root cause spans more than lead quality |
mutation-safety | Two-step approval before applying any URL or placement exclusion the analysis recommends |
ga4-lead-quality-investigation | It orchestrates the full investigation and auto-loads this skill as its red-flag detection step |
Built by Kurt Henninger. More free skills: github.com/fourteenwm/ppc-ai-skills
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

