Skip to content

Latest commit

 

History

History
247 lines (190 loc) · 6.89 KB

File metadata and controls

247 lines (190 loc) · 6.89 KB

Behavioral Templates Integration - Complete

All changes made locally. Ready to test and deploy.

What Was Integrated

1. Behavioral Email Templates System

  • 5 GA4-driven templates automatically personalize based on lead behavior
  • Templates: HOT, WARM, ENGAGED, ABANDONED, FINAL
  • Integrated into both master template editor and individual dropdown

2. Lead Status Filtering Fixed

  • Admin page now correctly filters by lead_status (GA4) AND outreach_status (manual CRM)
  • Daily GA4 script updates will populate lead filters

3. Master Template Editor

  • 11 total templates now available in /admin/outreach/templates
  • Preview, copy, and test send for all variants

4. Individual Business Dropdown

  • 11 templates in /admin/businesses per-business email composer
  • Organized in 3 rows: Standard (A-D), Launch (LAUNCH/LAUNCH50), GA4 Behavioral (HOT/WARM/ENGAGED/ABANDONED/FINAL)

Files Modified

Core Library

src/lib/outreach-templates.ts

  • Added behavioral template types
  • Integrated behavioral-email-templates.ts
  • Added LAUNCH and LAUNCH50 templates
  • Updated VARIANT_LABELS

API Routes

src/app/api/admin/outreach/templates/route.ts

  • Added all 11 variants to API

src/app/api/admin/businesses/route.ts

  • Fixed lead_status vs outreach_status filtering
  • Added GA4 fields to SELECT (lead_status, lead_score, last_engagement, profile_views, etc.)

Admin Pages

src/app/admin/outreach/templates/page.tsx

  • Added all 11 variants
  • Added color coding for behavioral templates

src/app/admin/businesses/page.tsx

  • Updated variant type
  • Updated VARIANT_LABELS with emojis
  • Reorganized template buttons into 3 sections

Template Breakdown

Standard Outreach (A-D)

  • A: Verification / Claim
  • B: Locals Are Searching
  • C: Short & Direct
  • D: Featured Opportunity

Launch Promos (LAUNCH, LAUNCH50)

  • LAUNCH: $50/Year Launch
  • LAUNCH50: 50% OFF - $24.99/Year

Behavioral / GA4 (HOT, WARM, ENGAGED, ABANDONED, FINAL)

  • HOT: 🔥 Clicked claim link + 30+ seconds engagement
  • WARM: 💡 Multiple page views, researching
  • ENGAGED: ⚡ Clicked phone or website button
  • ABANDONED: ⏸️ Clicked claim but bounced in <10 seconds
  • FINAL: ⏰ Final urgency after 7 days (multi-touch)

How Lead Filtering Works Now

GA4 Daily Script Updates:

{
  lead_status: 'ultra-hot' | 'hot' | 'warm',
  lead_score: 0-300+,
  last_engagement: timestamp
}

Admin Page Filter Options:

  • Ultra-Hot (Score 200+)lead_status = 'ultra-hot'
  • Hot (Score 100-199)lead_status = 'hot'
  • Warm (Score 50-99)lead_status = 'warm'
  • Hot Lead (Legacy)outreach_status = 'hot_lead'
  • Interestedoutreach_status = 'interested'
  • Emailedoutreach_status = 'emailed'
  • etc.

API Logic:

if (leadStatus === 'ultra-hot' || 'hot' || 'warm') {
  where.lead_status = leadStatus; // GA4 automated
} else {
  where.outreach_status = leadStatus; // Manual CRM
}

Testing Locally

1. Start Dev Server

npm run dev

2. Test Master Template Editor

Navigate to: http://localhost:3000/admin/outreach/templates

Should see:

  • 11 template variants in sidebar
  • Color-coded chips (blue, green, purple, amber, indigo, pink, red, orange, teal, gray, rose)
  • Full HTML preview for each
  • Copy HTML and Send Test buttons working

3. Test Individual Dropdown

Navigate to: http://localhost:3000/admin/businesses

Should see:

  • Lead Status filter with Ultra-Hot/Hot/Warm options
  • Click any business to expand
  • Template selector with 3 sections:
    • Row 1: A, B, C, D
    • Row 2: LAUNCH, LAUNCH50
    • Row 3: HOT, WARM, ENGAGED, ABANDONED, FINAL
  • Preview should load for each variant

4. Test Lead Filtering

-- Manually set a test business to hot
UPDATE local_businesses
SET lead_status = 'hot', lead_score = 150
WHERE id = 'some-business-id';

Then filter by "Hot (Score 100-199)" in admin page → Should show that business


Deployment to VPS

Files to Deploy:

# Core library
src/lib/outreach-templates.ts
src/lib/behavioral-email-templates.ts (already exists locally, needs VPS)

# API routes
src/app/api/admin/outreach/templates/route.ts
src/app/api/admin/businesses/route.ts

# Admin pages
src/app/admin/outreach/templates/page.tsx
src/app/admin/businesses/page.tsx

Deployment Commands:

# From local machine
cd /c/Users/nashr/max-ev-holdings/dallas-daily

# Copy all changed files to VPS
scp -i ~/.ssh/id_ed25519 src/lib/outreach-templates.ts root@72.60.43.168:/var/www/dfw-daily/src/lib/
scp -i ~/.ssh/id_ed25519 src/lib/behavioral-email-templates.ts root@72.60.43.168:/var/www/dfw-daily/src/lib/
scp -i ~/.ssh/id_ed25519 src/app/api/admin/outreach/templates/route.ts root@72.60.43.168:/var/www/dfw-daily/src/app/api/admin/outreach/templates/
scp -i ~/.ssh/id_ed25519 src/app/api/admin/businesses/route.ts root@72.60.43.168:/var/www/dfw-daily/src/app/api/admin/businesses/
scp -i ~/.ssh/id_ed25519 src/app/admin/outreach/templates/page.tsx root@72.60.43.168:/var/www/dfw-daily/src/app/admin/outreach/templates/
scp -i ~/.ssh/id_ed25519 src/app/admin/businesses/page.tsx root@72.60.43.168:/var/www/dfw-daily/src/app/admin/businesses/

# SSH to VPS and rebuild
ssh -i ~/.ssh/id_ed25519 root@72.60.43.168 "
  cd /var/www/dfw-daily
  npm run build && pm2 restart dfw-daily --update-env
"

# Check logs
ssh -i ~/.ssh/id_ed25519 root@72.60.43.168 "pm2 logs dfw-daily --lines 50"

What Happens After Deployment

Day 1: Deploy & Test

  1. Deploy files to VPS
  2. Test master template editor
  3. Test individual dropdown
  4. Verify all 11 templates load

Day 2: Set Up GA4 Script

  1. Deploy GA4 processing scripts (separate task)
  2. Set up daily cron job
  3. Upload first GA4 CSV
  4. Process leads

Day 3: First GA4 Leads Appear

  1. Filter by "Ultra-Hot" in admin
  2. See fresh GA4-scored leads
  3. Select behavioral template (HOT/WARM/ENGAGED)
  4. Send first behavioral emails
  5. Track responses

Expected Results

Master Template Editor

  • 11 templates with full previews
  • Test sends work for all variants
  • Behavioral templates show personalized content

Individual Dropdown

  • Quick template selection per business
  • GA4 behavioral templates available
  • Templates load instantly on variant change

Lead Filtering

  • GA4 daily script populates lead_status
  • Ultra-Hot/Hot/Warm leads appear in filters
  • Manual CRM statuses (emailed, called, etc.) continue working
  • Both systems work together seamlessly

Success Metrics

After 1 week:

  • ✓ All 11 templates accessible in both systems
  • ✓ GA4 leads populating daily in filters
  • ✓ Behavioral emails sending successfully
  • ✓ Response rate tracking in admin dashboard

Target conversion rates:

  • Hot leads: 20-30% conversion
  • Warm leads: 5-10% conversion
  • Engaged leads: 15-25% conversion

Integration Complete! Test locally, then deploy to VPS.