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.

Comments

Avatar

or to participate