Files
HOALedgerIQ_Website/index.html
olsch01 3e0969e682 Go-live: remove Coming Soon, add Start Free Trial CTAs, embed pricing page
- Remove coming-soon banner from all pages (index, articles, SEO pages, legal pages)
- Replace all "Get Early Access" CTAs with "Start Free Trial" → https://app.hoaledgeriq.com/pricing
- Hero CTA updated to "Start Your Free 14-Day Trial"
- Pricing section: replace static pricing grid with live iframe embed from app.hoaledgeriq.com/pricing
- Add .pricing-embed-wrap / .pricing-embed / .pricing-embed-fallback CSS
- Hide lead capture signup section (preserved with style="display:none" for future use)
- Update footer "Early Access" → "Start Free Trial" across all pages
- Update calculator CTA → https://app.hoaledgeriq.com/pricing
- Remove "Coming soon to hoaledgeriq.com" copy from privacy/terms footers
- Pages updated: index.html, styles.css, reserve-study-software.html, investment-management.html,
  special-assessment-calculator.html, privacy.html, terms.html, articles/index.html,
  articles/why-we-built-hoa-ledgeriq.html, articles/hoa-financial-blind-spots.html

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 09:38:19 -04:00

639 lines
28 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>HOA LedgerIQ — AI-Powered HOA Finance Management</title>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="styles.css" />
<link rel="canonical" href="https://www.hoaledgeriq.com" />
</head>
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-RTWNVXPMRF"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-RTWNVXPMRF');
// ROI Calculator Event Tracking
document.addEventListener('DOMContentLoaded', function() {
// Track calculator modal opens
const calcOpenBtn = document.querySelector('[data-calc-open], .calc-trigger, button[id*="calc"]:not(#calcClose)');
if (calcOpenBtn) {
calcOpenBtn.addEventListener('click', function() {
gtag('event', 'calculator_open', {
'event_category': 'engagement',
'event_label': 'ROI Calculator Modal Opened'
});
console.log('✓ GA4: calculator_open event sent');
});
}
// Track form submissions
const calcSubmitBtn = document.getElementById('calcSubmit');
if (calcSubmitBtn) {
calcSubmitBtn.addEventListener('click', function() {
// Get form values (anonymized)
const homesites = document.querySelector('input[id*="homesite"]')?.value || 'unknown';
const reserveFunds = document.querySelector('input[id*="reserve"]')?.value || 'unknown';
gtag('event', 'calculator_submit', {
'event_category': 'conversion',
'event_label': 'ROI Calculator Submitted',
'value': 1,
'homesites': homesites,
'reserve_funds': reserveFunds
});
console.log('✓ GA4: calculator_submit event sent');
});
}
// Track success (hook into existing submit handler)
const originalSubmit = window.showCalcResults;
if (originalSubmit) {
window.showCalcResults = function(data) {
gtag('event', 'calculator_success', {
'event_category': 'conversion',
'event_label': 'ROI Calculator Results Shown',
'value': 1
});
console.log('✓ GA4: calculator_success event sent');
return originalSubmit(data);
};
}
});
</script>
<body>
<!-- NAV -->
<nav class="nav">
<div class="nav-inner">
<a href="#" class="nav-logo">
<img src="logo_house_transparent.svg" alt="HOA LedgerIQ" class="logo-img" />
</a>
<ul class="nav-links">
<li><a href="#features">Features</a></li>
<li><a href="#pricing">Pricing</a></li>
<li><a href="articles/">Insights</a></li>
</ul>
<a href="https://app.hoaledgeriq.com/pricing" class="btn btn-primary nav-btn" target="_blank" rel="noopener">Start Free Trial</a>
<a href="https://app.hoaledgeriq.com" class="btn btn-outline nav-btn nav-login" target="_blank" rel="noopener">Login</a>
</div>
</nav>
<!-- HERO -->
<section class="hero">
<div class="hero-glow"></div>
<div class="container">
<div class="hero-badge">
<span class="pulse-dot"></span>
AI-Powered HOA Finance Management
</div>
<h1 class="hero-headline">
Your HOA Finances,<br />
<span class="gradient-text">Finally Under Control</span>
</h1>
<p class="hero-sub">
HOA LedgerIQ brings enterprise-grade AI analytics to community associations of any size.
Bank and Investment tracking, real-time budget insights, delinquency tracking, and intelligent
forecasting and planning — all in one beautifully simple platform. Stop wasting time with
outdated &amp; manual spreadsheets, while optimizing your community's finances.
</p>
<div class="hero-actions">
<a href="https://app.hoaledgeriq.com/pricing" class="btn btn-primary btn-lg" target="_blank" rel="noopener">Start Your Free 14-Day Trial</a>
<button class="btn btn-calc btn-lg" id="openCalc">✦ Get your Financial Health Score</button>
<a href="#features" class="btn btn-ghost btn-lg">See the Platform ↓</a>
</div>
<div class="hero-trust">
<span>Built for board treasurers, presidents, property managers &amp; CPAs</span>
</div>
</div>
<!-- Screenshot Carousel -->
<div class="hero-visual">
<div class="screenshot-carousel" id="screenshotCarousel">
<div class="carousel-frame">
<div class="carousel-slides">
<div class="carousel-slide active">
<img src="img/screenshot-dashboard.png" alt="HOA LedgerIQ Dashboard — Fund health scores, operating and reserve balances" />
<div class="slide-caption">Dashboard — Fund Health &amp; At-a-Glance Metrics</div>
</div>
<div class="carousel-slide">
<img src="img/screenshot-cashflow.png" alt="HOA LedgerIQ Cash Flow — Projected balances with forward forecasting chart" />
<div class="slide-caption">Cash Flow — Actuals &amp; Forward Projections</div>
</div>
<div class="carousel-slide">
<img src="img/screenshot-capital.png" alt="HOA LedgerIQ Capital Planning — Multi-year project timeline and budget view" />
<div class="slide-caption">Capital Planning — 5-Year Project Pipeline</div>
</div>
</div>
</div>
<div class="carousel-controls">
<button class="carousel-btn carousel-prev" aria-label="Previous screenshot">&#8592;</button>
<div class="carousel-dots">
<span class="carousel-dot active" data-index="0"></span>
<span class="carousel-dot" data-index="1"></span>
<span class="carousel-dot" data-index="2"></span>
</div>
<button class="carousel-btn carousel-next" aria-label="Next screenshot">&#8594;</button>
</div>
</div>
</div>
</section>
<!-- SOCIAL PROOF STRIP -->
<div class="proof-strip">
<div class="container proof-inner">
<span class="proof-label">Trusted workflow for</span>
<div class="proof-items">
<span>Self-Managed HOAs</span>
<span class="sep">·</span>
<span>Property Management Firms</span>
<span class="sep">·</span>
<span>Community CPAs</span>
<span class="sep">·</span>
<span>Board Treasurers</span>
</div>
</div>
</div>
<!-- FEATURES -->
<section class="features" id="features">
<div class="container">
<div class="section-label">Core Capabilities</div>
<h2 class="section-title">Most HOA Boards<br />are Flying Blind Financially</h2>
<p class="section-sub">From Investment Planning to Reserve Fund Forecasting, HOA LedgerIQ handles the heavy lifting so your board can focus on the community.</p>
<div class="features-grid">
<div class="feature-card feature-card--highlight">
<div class="feature-icon"></div>
<h3>AI Financial Analytics</h3>
<p>Receive intelligent AI Powered investment recommendations designed to maximize investment income while ensuring sufficient funding for operating costs and capital projects.</p>
<div class="feature-tag">Powered by GPT-4</div>
</div>
<div class="feature-card">
<div class="feature-icon">📊</div>
<h3>Intelligent Cash Flow Visibility</h3>
<p>Understand budget vs. actuals in real time, accurately forecast your cash management throughout the year to make intelligent decisions, and optimize capital project timing.</p>
</div>
<div class="feature-card">
<div class="feature-icon">🏦</div>
<h3>Reserve Fund Forecasting</h3>
<p>AI-Enabled 5 Year Comprehensive Capital Project Planning. Easily understand the community's full inventory of assets, date of last repair and expected lifespan, estimated costs and timing to enable continuous planning capability around capital projects and ensure your community is on track — before the board meeting.</p>
</div>
<div class="feature-card">
<div class="feature-icon">🔔</div>
<h3>Future Year Budget and Assessment Planning</h3>
<p>Take the guess work out of what is needed to keep your community on track! Plan ahead with real data!</p>
</div>
<div class="feature-card">
<div class="feature-icon">📄</div>
<h3>One-Click Board Reports</h3>
<p>Beautiful, professional PDF and Excel reports ready for every board meeting — income statements, balance sheets, variance analysis, and more.</p>
</div>
<div class="feature-card">
<div class="feature-icon">🔒</div>
<h3>Audit-Ready Compliance</h3>
<p>Every transaction is timestamped, signed, and stored with a complete audit trail. Year-end CPA handoffs take minutes, not weeks.</p>
</div>
</div>
</div>
</section>
<!-- AI HIGHLIGHT SECTION -->
<section class="ai-section">
<div class="container ai-inner">
<div class="ai-text">
<div class="section-label">AI at the Core</div>
<h2>Optimize your Community's Finances</h2>
<p>HOA LedgerIQ's AI engine doesn't just review your data — it understands it. Get proactive anomaly alerts, funding shortfalls, investment strategy ideas around your predicted cash flow, spending pattern insights, and plain-English answers to complex financial questions without needing a CPA on speed dial. Turn that stale reserve study into an ongoing, active process. Most importantly, ditch the outdated and error prone spreadsheets.</p>
<ul class="ai-bullets">
<li><span class="check"></span> Budget vs. actual variance reporting</li>
<li><span class="check"></span> Predictive cash flow modeling</li>
<li><span class="check"></span> AI assisted investment recommendations</li>
<li><span class="check"></span> Integrated Capital Project Planning</li>
<li><span class="check"></span> Budget vs. actual variance reporting</li>
<li><span class="check"></span> One Click Board Meeting Reports</li>
<li><span class="check"></span> AI rated health scores of Operating and Reserve Funding</li>
</ul>
</div>
<div class="ai-visual">
<div class="chat-bubble user-bubble">What investment strategy should we implement given our forecasted cash flow?</div>
<div class="chat-bubble ai-bubble">
<span class="ai-label">✦ HOA LedgerIQ AI</span>
Operating funds are currently under-utilized. With over $100k projected in cash by April, deploying $40k into a short-term CD significantly boosts interest income without compromising the ability to pay monthly expenses or handle emergencies.
</div>
<div class="chat-bubble user-bubble">Are we on track to fund reserves fully by year-end?</div>
<div class="chat-bubble ai-bubble">
<span class="ai-label">✦ HOA LedgerIQ AI</span>
Yes — at current contribution rate you'll hit 98% reserve funding by Dec 31. No corrective action needed. Reserve study renewal is due in March.
</div>
</div>
</div>
</section>
<!-- PRICING -->
<section class="pricing" id="pricing">
<div class="container">
<div class="section-label">Simple Pricing</div>
<h2 class="section-title">Pick the plan that fits your community</h2>
<p class="section-sub">No setup fees. No contracts. All plans include a 14-day free trial.</p>
<div class="pricing-embed-wrap">
<iframe src="https://app.hoaledgeriq.com/pricing" class="pricing-embed" title="HOA LedgerIQ Pricing — Start Your Free Trial" loading="lazy"></iframe>
</div>
<p class="pricing-embed-fallback">Having trouble viewing the pricing page? <a href="https://app.hoaledgeriq.com/pricing" target="_blank" rel="noopener">Open it directly →</a></p>
</div>
</section>
<!-- PREVIEW SIGNUP -->
<section class="signup-section" id="preview-signup" style="display:none">
<div class="signup-glow"></div>
<div class="container">
<div class="signup-card">
<div class="countdown-badge">
<span class="pulse-dot pulse-dot--white"></span>
<span id="signupCountdown">Launching in 60 days</span>
</div>
<h2>Get Early Access to HOA LedgerIQ</h2>
<p>Join the waitlist and be first through the door. </p>
<form class="signup-form" id="signupForm" novalidate>
<div class="form-row">
<div class="form-group">
<label for="firstName">First Name</label>
<input type="text" id="firstName" name="firstName" placeholder="Jane" required />
</div>
<div class="form-group">
<label for="lastName">Last Name</label>
<input type="text" id="lastName" name="lastName" placeholder="Smith" required />
</div>
</div>
<div class="form-group">
<label for="email">Email Address</label>
<input type="email" id="email" name="email" placeholder="jane@myhoa.com" required />
</div>
<div class="form-group">
<label for="orgName">Organization Name *</label>
<input type="text" id="orgName" name="orgName" placeholder="Maplewood Village HOA" required />
</div>
<div class="form-row">
<div class="form-group">
<label for="state">Organization Location *</label>
<select id="state" name="state" required>
<option value="">Select state...</option>
<option value="AL">AL</option>
<option value="AK">AK</option>
<option value="AR">AR</option>
<option value="AZ">AZ</option>
<option value="CA">CA</option>
<option value="CO">CO</option>
<option value="CT">CT</option>
<option value="DC">DC</option>
<option value="DE">DE</option>
<option value="FL">FL</option>
<option value="GA">GA</option>
<option value="HI">HI</option>
<option value="IA">IA</option>
<option value="ID">ID</option>
<option value="IL">IL</option>
<option value="IN">IN</option>
<option value="KS">KS</option>
<option value="KY">KY</option>
<option value="LA">LA</option>
<option value="MA">MA</option>
<option value="MD">MD</option>
<option value="ME">ME</option>
<option value="MI">MI</option>
<option value="MN">MN</option>
<option value="MO">MO</option>
<option value="MS">MS</option>
<option value="MT">MT</option>
<option value="NC">NC</option>
<option value="NE">NE</option>
<option value="NH">NH</option>
<option value="NJ">NJ</option>
<option value="NM">NM</option>
<option value="NV">NV</option>
<option value="NY">NY</option>
<option value="ND">ND</option>
<option value="OH">OH</option>
<option value="OK">OK</option>
<option value="OR">OR</option>
<option value="PA">PA</option>
<option value="RI">RI</option>
<option value="SC">SC</option>
<option value="SD">SD</option>
<option value="TN">TN</option>
<option value="TX">TX</option>
<option value="UT">UT</option>
<option value="VT">VT</option>
<option value="VA">VA</option>
<option value="WA">WA</option>
<option value="WI">WI</option>
<option value="WV">WV</option>
<option value="WY">WY</option>
</select>
</div>
<div class="form-group">
<label for="unitCount">Community Size</label>
<select id="unitCount" name="unitCount">
<option value="">Number of units...</option>
<option value="1-50">150 units</option>
<option value="51-250">51250 units</option>
<option value="251-500">251500 units</option>
<option value="500+">500+ units</option>
</select>
</div>
</div>
<div class="form-group">
<label for="role">Your Role</label>
<select id="role" name="role">
<option value="">Select your role...</option>
<option value="board_member">Board Member</option>
<option value="property_manager">Property Manager</option>
<option value="treasurer">HOA Treasurer</option>
<option value="cpa">CPA / Accountant</option>
<option value="homeowner">Homeowner</option>
<option value="other">Other</option>
</select>
</div>
<div class="beta-group">
<input type="checkbox" id="betaInterest" name="betaInterest" />
<label for="betaInterest">I'm interested in joining the Beta Program</label>
</div>
<p class="beta-disclaimer">Beta program selection will be determined based on the makeup of role and community size. You will be contacted directly if offered to join the beta program. Beta customers will be offered discounted launch pricing</p>
<button type="submit" class="btn btn-primary btn-lg signup-btn" id="submitBtn">
<span class="btn-text">Reserve My Spot →</span>
<span class="btn-loading hidden">Saving...</span>
</button>
<p class="form-fine">No spam, ever. Unsubscribe anytime. We'll reach out within 48 hours.</p>
</form>
<div class="signup-success hidden" id="signupSuccess">
<div class="success-icon"></div>
<h3>You're on the list!</h3>
<p>We'll be in touch soon with your early access details. Keep an eye on your inbox.</p>
</div>
</div>
</div>
</section>
<!-- FOOTER -->
<footer class="footer">
<div class="container footer-inner">
<div class="footer-logo">
<img src="logo_house.svg" alt="HOA LedgerIQ" class="logo-img logo-img--footer" />
<p>AI-powered HOA finance management.<br /></p>
</div>
<div class="footer-links">
<div class="footer-col">
<div class="footer-col-title">Product</div>
<a href="#features">Features</a>
<a href="#pricing">Pricing</a>
<a href="https://app.hoaledgeriq.com/pricing" target="_blank" rel="noopener">Start Free Trial</a>
</div>
<div class="footer-col">
<div class="footer-col-title">Pages</div>
<a href="investment-management.html">Investment Management</a>
<a href="reserve-study-software.html">Reserve Studies</a>
<a href="articles/">Insights</a>
</div>
<div class="footer-col">
<div class="footer-col-title">Legal</div>
<a href="privacy.html">Privacy Policy</a>
<a href="terms.html">Terms of Service</a>
</div>
</div>
</div>
<div class="footer-bottom">
<div class="container">
<span>© 2026 HOA LedgerIQ. All rights reserved.</span>
</div>
</div>
</footer>
<!-- ── BENEFIT CALCULATOR MODAL ─────────────────────── -->
<div class="calc-overlay" id="calcOverlay" aria-modal="true" role="dialog">
<div class="calc-modal">
<button class="calc-close" id="calcClose" aria-label="Close calculator">×</button>
<div class="calc-header">
<div class="section-label">ROI Calculator</div>
<h2>See What HOA LedgerIQ Could Earn Your Community</h2>
<p>Answer a few quick questions for a personalized, AI-Driven interest income estimate.</p>
</div>
<!-- INPUTS -->
<div id="calcForm">
<div class="calc-grid">
<div class="calc-field">
<label for="calcHomesites">Number of Homesites</label>
<input type="number" id="calcHomesites" placeholder="e.g. 150" min="1" />
</div>
<div class="calc-field">
<label for="calcPropertyType">Property Type</label>
<select id="calcPropertyType">
<option value="">Select type...</option>
<option value="sfh">Single Family Homes</option>
<option value="townhomes">Townhomes</option>
<option value="condos">Condos</option>
<option value="mixed">Mixed Use</option>
</select>
</div>
<div class="calc-field">
<label for="calcAnnualIncome">Annual Dues Income</label>
<div class="input-prefix-wrap">
<span class="input-prefix">$</span>
<input type="number" id="calcAnnualIncome" placeholder="e.g. 250,000" min="0" />
</div>
</div>
<div class="calc-field">
<label for="calcPaymentFreq">Dues Payment Frequency</label>
<select id="calcPaymentFreq">
<option value="monthly">Monthly</option>
<option value="quarterly">Quarterly</option>
<option value="annually">Annually</option>
</select>
</div>
<div class="calc-field">
<label for="calcReserveFunds">Current Reserve Fund Balance</label>
<div class="input-prefix-wrap">
<span class="input-prefix">$</span>
<input type="number" id="calcReserveFunds" placeholder="e.g. 500,000" min="0" />
</div>
</div>
<div class="calc-field">
<label for="calcInterest2025">Interest Income Earned in 2025</label>
<div class="input-prefix-wrap">
<span class="input-prefix">$</span>
<input type="number" id="calcInterest2025" placeholder="e.g. 4,500" min="0" />
</div>
</div>
</div>
<p class="calc-error hidden" id="calcError">Please fill in homesites and annual dues income to continue.</p>
<!-- Email + opt-in -->
<div class="calc-email-row">
<div class="calc-field calc-field--full">
<label for="calcEmail">Your Email Address <span class="calc-optional">(optional)</span></label>
<input type="email" id="calcEmail" placeholder="you@example.com" />
</div>
<label class="calc-optin-label">
<input type="checkbox" id="calcOptIn" checked />
<span>I'd like HOA LedgerIQ to provide informative insights over time.</span>
</label>
<p class="calc-privacy">🔒 Your email and submitted data are used solely to provide your ROI estimate and will never be shared with any third party or outside organization.</p>
</div>
<p class="calc-error hidden" id="calcError">Please fill in homesites and annual dues income to continue.</p>
<button class="btn btn-primary btn-lg calc-submit-btn" id="calcSubmit">
<span class="calc-btn-text">Calculate My Potential →</span>
<span class="calc-btn-loading hidden"><span class="calc-spinner"></span> Calculating…</span>
</button>
<p class="calc-fine">Conservative estimates for illustrative purposes only. Not financial advice.</p>
</div>
<!-- RESULTS -->
<div id="calcResults" class="hidden">
<div class="result-highlight">
<div class="result-label">Estimated Annual Interest Income Potential</div>
<div class="result-amount" id="resultAmount">$0</div>
<div class="result-comparison">
<span>vs. your 2025 earnings: <strong id="resultCurrent">$0</strong></span>
<span class="result-badge" id="resultBadge"></span>
</div>
</div>
<div class="result-breakdown">
<div class="result-row">
<span>Operating fund cash management</span>
<span class="result-row-val" id="resultOperating">$0</span>
</div>
<div class="result-row">
<span>Reserve fund investment income</span>
<span class="result-row-val" id="resultReserve">$0</span>
</div>
</div>
<!-- AI text captured to DB only — not displayed -->
<p id="calcAiText" style="display:none"></p>
<div class="calc-refine-blurb">
<span class="calc-refine-icon"></span>
<p>This is a high-level estimate based on your inputs. Inside HOA LedgerIQ, your investment strategy is continuously refined against your live cash flows, upcoming expenses, and reserve study timelines — automatically maximizing yield while keeping your community fully liquid.</p>
</div>
<div class="calc-cta">
<p>Ready to put these gains to work for your community?</p>
<a href="https://app.hoaledgeriq.com/pricing" class="btn btn-primary btn-lg calc-cta-btn" id="calcCTABtn" target="_blank" rel="noopener">Start Your Free 14-Day Trial →</a>
<button class="btn btn-ghost calc-recalc" id="calcRecalc">← Recalculate</button>
</div>
</div>
</div>
</div>
<script src="app.js"></script>
<!-- Support Chat Widget -->
<script>
(function(d,t) {
var BASE_URL="https://chat.hoaledgeriq.com";
var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
g.src=BASE_URL+"/packs/js/sdk.js";
g.async = true;
s.parentNode.insertBefore(g,s);
g.onload=function(){
window.chatwootSDK.run({
websiteToken: '1QMW1fycL5xHvd6XMfg4Dbb4',
baseUrl: BASE_URL
})
}
})(document,"script");
</script>
</body>
</html>
<!-- Bot Detection & Enhanced GA4 Tracking -->
<script>
// Detect and flag bot-like behavior
function isBotBehavior() {
const isAutomated = navigator.webdriver || false;
const hasNoLanguage = !navigator.language;
const hasSuspiciousScreen = screen.width === 0 || screen.height === 0;
return isAutomated || hasNoLanguage || hasSuspiciousScreen;
}
// Enhanced page view tracking with bot filtering
window.addEventListener('load', function() {
const isBot = isBotBehavior();
// Send custom dimension for bot detection
gtag('set', 'user_properties', {
'is_likely_bot': isBot ? 'true' : 'false',
'has_javascript': 'true',
'screen_resolution': `${screen.width}x${screen.height}`,
'timezone': Intl.DateTimeFormat().resolvedOptions().timeZone
});
// Track meaningful engagement (not just page load)
let engagementEvents = [];
// Track scroll depth (real users scroll)
let maxScroll = 0;
window.addEventListener('scroll', function() {
const scrollPercent = Math.round((window.scrollY + window.innerHeight) / document.body.scrollHeight * 100);
if (scrollPercent > maxScroll) {
maxScroll = scrollPercent;
if (scrollPercent >= 25 && !engagementEvents.includes('scroll_25')) {
engagementEvents.push('scroll_25');
gtag('event', 'scroll_25', { 'event_category': 'engagement' });
}
if (scrollPercent >= 50 && !engagementEvents.includes('scroll_50')) {
engagementEvents.push('scroll_50');
gtag('event', 'scroll_50', { 'event_category': 'engagement' });
}
if (scrollPercent >= 75 && !engagementEvents.includes('scroll_75')) {
engagementEvents.push('scroll_75');
gtag('event', 'scroll_75', { 'event_category': 'engagement' });
}
}
});
// Track time on page (real users spend time)
const startTime = Date.now();
window.addEventListener('beforeunload', function() {
const timeOnPage = Math.round((Date.now() - startTime) / 1000);
if (timeOnPage >= 10) {
gtag('event', 'time_on_page', {
'event_category': 'engagement',
'value': timeOnPage,
'event_label': timeOnPage >= 60 ? '1min+' : '10-60s'
});
}
});
// Track clicks on key elements (calculator, contact, etc.)
document.querySelectorAll('a[href], button, .btn').forEach(function(el) {
el.addEventListener('click', function() {
const label = this.textContent?.trim().substring(0, 50) || this.id || 'unknown';
gtag('event', 'click', {
'event_category': 'engagement',
'event_label': label,
'non_interaction': false
});
});
});
console.log('✓ Enhanced GA4 tracking active');
if (isBot) {
console.warn('⚠️ Bot-like behavior detected');
}
});
</script>