Setup Time: 25 minutes | Monthly Savings: 52+ hours
This workflow automatically identifies high-intent website visitors, scores them based on behavior and firmographics, then routes hot prospects to sales with personalized outreach—all while they're still browsing your site.
Zapier Workflow Setup (Copy-Paste Ready)
TRIGGER 1: High-Value Page Visit
App: Google Analytics 4 (or Hotjar/Mixpanel)
Event: Visitor views pricing page, case studies, or demo request page
Filter: Session duration > 2 minutes AND pages viewed > 3
Required fields: visitor_id, email (if captured), company_domain, pages_visited, time_on_site
ACTION 1: Enrich Visitor Data
App: Clearbit Reveal (or Apollo/ZoomInfo)
Input: {{visitor_ip}} or {{company_domain}}
Output fields to map:
company_name → {{company_name}}
company_size → {{employee_count}}
industry → {{company_industry}}
annual_revenue → {{company_revenue}}
technology_stack → {{tech_tools}}
contact_info → {{decision_maker_email}}
ACTION 2: Calculate Intent Score
App: Formatter by Zapier (Spreadsheet Formula)
Formula:
=IF(SEARCH("pricing",LOWER({{pages_visited}})),25,0)
+IF(SEARCH("demo",LOWER({{pages_visited}})),30,0)
+IF(SEARCH("case study",LOWER({{pages_visited}})),20,0)
+IF({{time_on_site}}>300,20,IF({{time_on_site}}>120,10,0))
+IF({{employee_count}}>500,25,IF({{employee_count}}>100,15,IF({{employee_count}}>20,10,0)))
+IF({{company_revenue}}>50000000,20,IF({{company_revenue}}>10000000,15,0))
+IF(OR(SEARCH("marketing",LOWER({{company_industry}})),SEARCH("saas",LOWER({{company_industry}}))),15,0)
Output: {{intent_score}} (0-100 scale)
ACTION 3: Filter High-Intent Visitors
App: Filter by Zapier
Condition: {{intent_score}} >= 65
Continue only if: TRUE
ACTION 4A: Instant Slack Alert to Sales
App: Slack
Channel: #sales-hot-leads
Message:
🚨 HOT VISITOR ALERT (Intent Score: {{intent_score}}/100)
🏢 COMPANY: {{company_name}}
👥 Size: {{employee_count}} employees
💰 Revenue: ${{company_revenue}}
🎯 Industry: {{company_industry}}
📊 BEHAVIOR:
⏱️ Time on site: {{time_on_site}} seconds
📄 Pages viewed: {{pages_visited}}
🌐 Current page: {{current_url}}
⚡ ACTION: Contact NOW while they're still browsing!
Decision maker: {{decision_maker_email}}
ACTION 4B: Auto-Create Personalized Outreach Email
App: OpenAI GPT-4
Prompt:
Create a personalized sales email for {{company_name}} in the {{company_industry}} industry with {{employee_count}} employees.
Context: They just spent {{time_on_site}} seconds on our website viewing {{pages_visited}}. Their intent score is {{intent_score}}/100.
Email should:
- Reference their specific industry challenges
- Mention their website activity (subtly)
- Include relevant case study from similar company size
- Have clear CTA for demo/call
- Be under 150 words
- Sound human, not AI-generated
Company details: {{company_name}}, {{company_industry}}, {{employee_count}} employees
Output: {{personalized_email}}
ACTION 5: Send Immediate Follow-Up Email
App: Gmail (or Outreach/SalesLoft)
To: {{decision_maker_email}}
Subject: "Quick question about {{company_name}}'s [specific pain point]"
Body: {{personalized_email}}
Delay: 3 minutes (let them finish browsing first)
ACTION 6: Add to CRM with Intent Data
App: HubSpot (or Salesforce/Pipedrive)
Create/Update Contact: {{decision_maker_email}}
Properties:
Lead Score: {{intent_score}}
Lead Source: Website Intent
Company: {{company_name}}
Industry: {{company_industry}}
Employee Count: {{employee_count}}
Pages Visited: {{pages_visited}}
Time on Site: {{time_on_site}}
Last Activity: Website Visit - High Intent
ACTION 7: Add to Retargeting Audience
App: Facebook Pixel/Google Ads Custom Audience
Audience: High-Intent Website Visitors
Parameters: {{visitor_id}}, {{company_domain}}
Campaign: Serve case study ads and demo CTAs for next 7 days
Alternative: JavaScript + Webhook Implementation
// Real-time visitor tracking with intent scoring
(function() {
let visitStartTime = Date.now();
let pagesViewed = [];
let currentScore = 0;
// Track page views
function trackPageView(page) {
pagesViewed.push({
page: page,
timestamp: Date.now(),
timeOnPage: Date.now() - visitStartTime
});
calculateIntentScore();
if (currentScore >= 65 && !localStorage.getItem('leadCaptured')) {
triggerLeadCapture();
}
}
// Calculate real-time intent score
function calculateIntentScore() {
let score = 0;
let timeOnSite = (Date.now() - visitStartTime) / 1000;
// Page-based scoring
pagesViewed.forEach(visit => {
if (visit.page.includes('pricing')) score += 25;
if (visit.page.includes('demo')) score += 30;
if (visit.page.includes('case-study')) score += 20;
if (visit.page.includes('contact')) score += 15;
});
// Time-based scoring
if (timeOnSite > 300) score += 20;
else if (timeOnSite > 120) score += 10;
// Engagement scoring
if (pagesViewed.length > 5) score += 15;
currentScore = Math.min(score, 100);
}
// Trigger lead capture for high-intent visitors
function triggerLeadCapture() {
const visitorData = {
intent_score: currentScore,
pages_visited: pagesViewed.map(p => p.page).join(', '),
time_on_site: (Date.now() - visitStartTime) / 1000,
visitor_ip: userIP, // Get from external service
current_url: window.location.href,
timestamp: new Date().toISOString()
};
// Send to webhook
fetch('https://hooks.zapier.com/hooks/catch/YOUR_WEBHOOK/', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(visitorData)
});
localStorage.setItem('leadCaptured', 'true');
// Optional: Show targeted popup/banner
showTargetedOffer();
}
// Track page changes (for SPAs)
let currentPage = window.location.pathname;
trackPageView(currentPage);
setInterval(() => {
if (window.location.pathname !== currentPage) {
currentPage = window.location.pathname;
trackPageView(currentPage);
}
}, 1000);
})();
Quick Setup Options:
Zapier: Copy configurations above (25 min setup)
Make.com: Same logic with visual builder (30 min)
HubSpot Workflows: Built-in visitor tracking (20 min)
JavaScript + Webhooks: Copy script, customize triggers (15 min)
This workflow captures high-intent visitors while they're actively evaluating your solution and routes them to sales with complete context—turning anonymous website traffic into qualified pipeline automatically.
