De meeste leads die binnenkomen zijn nog niet klaar om te kopen. Onderzoek van Forrester laat zien dat 95 procent van de websitebezoekers nog niet koopklaar is (Bron: Forrester Research, 2025). Lead nurturing is het systematisch opwarmen van die leads totdat ze klaar zijn voor een salesgesprek. Zonder automatisering is dat onschaalbaar, met automatisering werkt het 24/7.
In deze handleiding bouw je een nurturing systeem dat nieuwe leads automatisch segmenteert, gepersonaliseerde e-mailsequenties verstuurt, gedrag monitort (opens, clicks, website-bezoeken) en leads automatisch naar een hogere salesfase promoveert als ze genoeg betrokkenheid tonen.
Wat je nodig hebt
- n8n (cloud of self-hosted)
- Claude API key (voor gepersonaliseerde content genereren)
- ActiveCampaign account (Lite plan vanaf 29 dollar per maand)
- Typeform (voor lead intake formulier)
- Google Sheets (voor lead scoring database)
Stap 1: Lead scoring model opzetten in Google Sheets
Maak een Google Sheet 'Lead Scores' met kolommen voor de lead en hun gedragsscore. Lead scoring kent punten toe aan acties die koopintentie signaleren:
// Lead scoring model
{
"acties": {
"email_geopend": 2,
"email_geklikt": 5,
"website_bezocht": 3,
"pricing_pagina_bezocht": 15,
"case_study_gelezen": 10,
"demo_aangevraagd": 50,
"webinar_bijgewoond": 20,
"whitepaper_gedownload": 12
},
"drempels": {
"cold": "0-20",
"warm": "21-60",
"hot": "61-99",
"sales_ready": "100+"
}
}
Stap 2: Lead intake via Typeform
Maak een Typeform intake formulier dat leads segmenteert. Vragen die je segmentatieprofiel opbouwen: functie (ondernemer/manager/medewerker), bedrijfsgrootte (1-10/11-50/51-250), grootste uitdaging (keuze uit 4 opties), en urgentie (op zoek naar/orienteren/direct nodig). Activeer de Typeform webhook naar n8n.
Stap 3: n8n verwerkt de nieuwe lead
Wanneer Typeform een nieuwe lead stuurt, triggert n8n de verwerkingsworkflow. Stuur de leaddata naar Claude voor segmentanalyse:
{
"model": "claude-sonnet-4-6",
"max_tokens": 300,
"messages": [{
"role": "user",
"content": "Analyseer deze lead en geef een JSON segmentatieprofiel:\n\nFunctie: {{ $json.functie }}\nBedrijfsgrootte: {{ $json.bedrijfsgrootte }}\nUitdaging: {{ $json.uitdaging }}\nUrgentie: {{ $json.urgentie }}\n\nGeef JSON:\n{\n segment: 'mkb-ondernemer'|'manager-groot-bedrijf'|'specialist',\n pijnpunt: string (primaire uitdaging in 1 zin),\n nurturing_toon: 'direct-praktisch'|'educatief-gedegen'|'strategisch-holistisch',\n eerste_content: string (meest relevante content voor eerste mail, bijv. 'handleiding lead nurturing', 'ROI calculator', 'case study'),\n verwachte_cyclus: 'kort (1-4 weken)'|'middel (1-3 maanden)'|'lang (3+ maanden)'\n}"
}]
}
Stap 4: Lead aanmaken in ActiveCampaign
Maak de lead aan in ActiveCampaign via de API en voeg de segmentatietags toe:
// ActiveCampaign API - contact aanmaken
{
"method": "POST",
"url": "https://jouwaccount.api-us1.com/api/3/contacts",
"headers": {
"Api-Token": "{{ $credentials.activeCampaignApiKey }}",
"Content-Type": "application/json"
},
"body": {
"contact": {
"email": "{{ $('Typeform').item.json.email }}",
"firstName": "{{ $('Typeform').item.json.voornaam }}",
"lastName": "{{ $('Typeform').item.json.achternaam }}",
"fieldValues": [
{ "field": "SEGMENT", "value": "{{ $('Claude Segment').item.json.segment }}" },
{ "field": "PIJNPUNT", "value": "{{ $('Claude Segment').item.json.pijnpunt }}" },
{ "field": "VERWACHTE_CYCLUS", "value": "{{ $('Claude Segment').item.json.verwachte_cyclus }}" }
]
}
}
}
Stap 5: Welkomstmail via Claude
Laat Claude de eerste gepersonaliseerde mail schrijven op basis van het segment:
{
"model": "claude-sonnet-4-6",
"max_tokens": 400,
"messages": [{
"role": "user",
"content": "Schrijf een gepersonaliseerde welkomstmail voor een nieuwe lead.\n\nLEAD PROFIEL:\nNaam: {{ $('Typeform').item.json.voornaam }}\nSegment: {{ $('Claude Segment').item.json.segment }}\nPijnpunt: {{ $('Claude Segment').item.json.pijnpunt }}\nToon: {{ $('Claude Segment').item.json.nurturing_toon }}\nAanbevolen content: {{ $('Claude Segment').item.json.eerste_content }}\n\nMAIL VEREISTEN:\n- Onderwerpregel: pakkend, max 50 tekens\n- Body: 120 tot 150 woorden\n- Erkent specifiek het pijnpunt van de lead\n- Biedt de aanbevolen content als waardevolle resource\n- Call-to-action: lees het artikel / download de gids\n- Geen pushy sales taal\n- Sluit af met voornaam adviseur (gebruik: 'Team workflows.nl')\n\nOutput format: {subject: string, body: string}"
}]
}
Stap 6: Mail versturen via ActiveCampaign
Stuur de door Claude geschreven mail via ActiveCampaign transactional e-mail API:
// ActiveCampaign - transactional mail sturen
{
"method": "POST",
"url": "https://jouwaccount.api-us1.com/api/3/campaigns",
"body": {
"campaign": {
"type": "single",
"subject": "{{ $('Claude Mail').item.json.subject }}",
"fromname": "Team workflows.nl",
"fromemail": "hallo@workflows.nl",
"reply2": "hallo@workflows.nl",
"sendid": "{{ contact_id }}",
"html": "<p>{{ $('Claude Mail').item.json.body }}</p>"
}
}
}
Stap 7: Gedragsmonitoring webhook
Activeer in ActiveCampaign webhooks voor gedragsgebeurtenissen. Stuur email open, email click en website visit events naar n8n:
// ActiveCampaign webhook payload (inkomend in n8n)
{
"type": "subscribe",
"initiated_by": "contact",
"event": "email_open",
"contact": {
"id": "12345",
"email": "jan@bedrijf.nl"
},
"campaign": {
"id": "67890",
"name": "Welkomstmail - MKB Ondernemer"
},
"timestamp": "2026-08-06T10:30:00Z"
}
Stap 8: Lead score bijwerken
Gebruik een n8n Code node om de lead score op te hogen op basis van de actie en op te slaan in Google Sheets:
// Code node: lead score berekenen
const scoreTabel = {
'email_open': 2,
'email_click': 5,
'website_visit': 3,
'pricing_page': 15,
'case_study': 10,
'demo_request': 50
};
const actie = $input.first().json.event;
const scoreToevoeging = scoreTabel[actie] || 1;
const huidigeScore = parseInt($input.first().json.lead_score || '0');
const nieuweScore = huidigeScore + scoreToevoeging;
// Bepaal fase
let fase = 'cold';
if (nieuweScore >= 100) fase = 'sales_ready';
else if (nieuweScore >= 61) fase = 'hot';
else if (nieuweScore >= 21) fase = 'warm';
return [{ json: { nieuweScore, fase, scoreToevoeging } }];
Stap 9: Automatische follow-up op gedrag
Bouw een aparte n8n workflow die dagelijks draait en leads met 'hot' status maar nog geen salescontact opvlagged voor follow-up:
// Dagelijkse check: hot leads zonder salesopvolging
const leads = $input.all();
const vandaag = new Date();
const hotLeadsZonderOpvolging = leads.filter(lead => {
const score = parseInt(lead.json['Lead Score'] || '0');
const heeftOpvolging = lead.json['Sales Opgepakt'] === 'ja';
const leadDatum = new Date(lead.json['Inschrijfdatum']);
const dagenOud = Math.floor((vandaag - leadDatum) / (1000 * 60 * 60 * 24));
return score >= 61 && !heeftOpvolging && dagenOud <= 30;
});
return hotLeadsZonderOpvolging;
Stap 10: Sales handoff bij 100+ punten
Wanneer een lead 100 punten bereikt (sales_ready), triggert n8n een salertert naar het salesteam met een volledig leadprofiel. Claude schrijft een samenvattende briefing:
{
"model": "claude-sonnet-4-6",
"max_tokens": 300,
"messages": [{
"role": "user",
"content": "Schrijf een salesbriefing voor een hot lead die klaar is voor contact.\n\nLEAD DATA:\nNaam: {{ $json.naam }}\nBedrijf: {{ $json.bedrijf }}\nFunctie: {{ $json.functie }}\nIngeschreven: {{ $json.inschrijfdatum }}\nLead score: {{ $json.score }}\nPijnpunt: {{ $json.pijnpunt }}\nGeopende mails: {{ $json.mails_geopend }}\nGeklikte content: {{ $json.geklikt }}\n\nSchrijf een bondige briefing van 100 woorden voor de salespersoon: wie is dit, wat is hun situatie, wat hebben ze bekeken, wat is de beste invalshoek voor het eerste gesprek?"
}]
}
Troubleshooting
Probleem: ActiveCampaign API geeft 422 Unprocessable Entity
Dit betekent dat een verplicht veld ontbreekt of een waarde niet het juiste formaat heeft. Controleer of alle custom field IDs correct zijn (gebruik de ActiveCampaign API Explorer in Settings > Developer om field IDs op te zoeken). Zorg dat e-mailadressen geldig zijn voor aanmaak.
Probleem: Claude mails klinken generiek
Voeg meer context toe aan het Claude prompt: vorig geconsumeerde content, industrie van het bedrijf, specifieke termen uit het intake formulier. Hoe meer context, hoe gepersonaliseerder de output. Test het prompt handmatig met 5 verschillende leadprofielen voor je het live zet.
Uitbreidingen
- Voeg LinkedIn Sales Navigator toe: match leads met LinkedIn-profielen voor extra context voor het salesteam
- Bouw een re-engagement campagne voor leads die 60 dagen inactief zijn: Claude schrijft een 'break-up mail' die verrassend hoge engagement oplevert
- Integreer website heatmap data (Hotjar API) als extra signaal voor lead scoring
Bedrijven die geautomatiseerde lead nurturing implementeren genereren 50 procent meer salesklare leads tegen 33 procent lagere kosten dan bedrijven zonder nurturing (Bron: Forrester Research, 2025). Voor een MKB-bedrijf met 200 leads per maand betekent dat maandelijks 100 extra salesklare prospects zonder extra marketingbudget.