Immagina di trasformare ogni automazione in una macchina decisionale precisa: inviare un’email solo ai lead “caldi”, creare un task quando il budget supera una soglia, o rimandare controlli quando non è orario d’ufficio. In tutti questi casi, il nodo If n8n è il tuo alleato: il “semaforo” che crea uno split condizionale in due rami e decide cosa succede dopo. In questo articolo scoprirai come configurarlo al meglio per decisioni binarie chiare, robusti filtri e validazioni, e un routing condizionale n8n che non ti tradisce. Partiremo dai fondamentali — rami true/false e operatori di confronto n8n — e arriveremo a combinazioni di condizioni AND/OR n8n, uso avanzato delle espressioni con n8n Expression Editor e interazione con Merge e Switch. Se lavori in marketing e vuoi accelerare la produttività, qui troverai esempi pronti, best practice e snippet di configurazione che puoi copiare e incollare. Al termine saprai costruire workflow affidabili con il nodo If n8n e orchestrare decisioni che migliorano conversioni e tempi di risposta.
[IMG: Schermata del canvas di n8n con un nodo If che biforca in True/False]
Perché il nodo If n8n è il “decision maker” del tuo workflow
Il nodo If n8n introduce un controllo di flusso binario: ogni item che lo attraversa viene valutato rispetto a una o più condizioni, e poi prosegue sul ramo true (Output 0) o sul ramo false (Output 1). Questa capacità di routing condizionale n8n è cruciale per i marketer: ti consente di creare flussi che reagiscono ai dati (punteggio lead, canale di acquisizione, budget, stato campagne) senza codice, con regole leggibili e facili da manutenere. A differenza di nodi di trasformazione dati, il nodo If n8n non modifica i contenuti: decide il percorso. È il tassista del workflow, non il meccanico.
Cosa imparerai qui:
- Come impostare filtri e validazioni n8n per scartare record incompleti e inviare avanti solo ciò che conta.
- Come definire operatori di confronto n8n su data types n8n (string, number, date, boolean, array) e quando combinare condizioni AND/OR n8n.
- Come usare le espressioni n8n expression editor per “pescare” dati dai nodi precedenti con $json e $node.
- Come effettuare un conditional split n8n e ricongiungere i rami con Merge con If n8n in modo sicuro.
- Quando preferire Switch vs If per più di due esiti.
Insight unico: il vero vantaggio del nodo If n8n sta nell’evitare il “rumore” a valle. Filtrare presto significa risparmiare chiamate API, costi e tempo di esecuzione, oltre a mantenere pulita la reportistica. Pianifica lo split condizionale dove i dati diventano affidabili — il risparmio operativo si somma run dopo run.
[IMG: Rappresentazione concettuale del flusso con If che separa “Lead caldi” e “Lead freddi”]
Rami True/False e conditional split n8n: come funziona davvero
Il nodo If n8n valuta ogni item in ingresso e lo instrada su uno dei due rami:
- True: primo output (Output 0)
- False: secondo output (Output 1)
Non c’è “terza via”: il nodo garantisce che ogni item finisca su uno dei due rami. Questo è importante per la prevedibilità del workflow: non perderai item per strada. In un classico conditional split n8n, ad esempio, potresti inviare i lead con score ≥ 70 al ramo true (escalation a vendite) e gli altri al ramo false (nurturing). Ciò ti permette di orchestrare esperienze personalizzate e amplificare la produttività del team marketing.
Esempio pratico:
- Ramo true: crea una card su CRM o invia un alert Slack se la priorità è alta.
- Ramo false: arricchisci il contatto, crea una task di follow-up o invia un’email di nurturing.
Suggerimento operativo:
- Tratta i rami come due micro-processi con obiettivi chiari. Nomina i nodi in modo descrittivo (“If: lead score”, “True: Escalation vendite”, “False: Nurturing”) per ridurre errori e migliorare la leggibilità del tuo workflow.
[IMG: Dettaglio dei due rami True/False con note descrittive “Escalation” e “Nurturing”]
Impostare condizioni: campi, data types n8n e operatori di confronto n8n
Il cuore del nodo If n8n è la definizione delle condizioni. Puoi confrontare diversi tipi di dato con operatori mirati:
- Stringhe: uguale, contiene, (spesso disponibili anche inizia/termina con, regex).
- Numeri: uguale, maggiore di, minore di.
- Date & Time: è prima/dopo.
- Boolean: vero/falso.
- Array e oggetti: esistenza proprietà, lunghezza, contiene elemento/chiave (a seconda della configurazione).
Per marketer, i casi ricorrenti includono confronto stringhe n8n (es. canale == “ads”), confronto numeri e date n8n (budget > soglia, evento dopo una certa data), e booleani (isActive == true). Ricorda: il nodo esegue il confronto per item, quindi assicurati che il campo esista — in caso contrario stabilisci un default a monte.
Esempio (uguaglianza su stringa):
- Campo: status
- Operatore di confronto n8n: equals
- Valore: success
Snippet di configurazione (If: “status == success”):
{
"name": "If: Status Success",
"type": "n8n-nodes-base.if",
"typeVersion": 1,
"parameters": {
"conditions": [
{
"operator": { "type": "string", "operation": "equals" },
"leftValue": "={{ $json[\"status\"] }}",
"rightValue": "success"
}
],
"combinator": "and"
}
}
Note pratiche:
- Se devi fare data cleansing (es. rimuovere spazi, trasformare in minuscolo), fallo prima con un Function Item o Set, così il nodo If n8n resta semplice e affidabile.
- Per date, confronta timestamp coerenti (es. ISO 8601) e unifica i fusi orari a monte.
[IMG: Pannello del nodo If con un confronto su “status” e operatore equals]
Combinare condizioni AND/OR n8n: logica e impatto sul risultato
Il nodo If n8n consente di aggiungere più condizioni e di combinarle con un combinator AND/OR. Questo è potentissimo per definire segmentazioni precise senza dover annidare troppi nodi.
- AND: tutte le condizioni devono essere vere per andare sul ramo true. Ideale per filtri stringenti (es. “lead_score ≥ 70” AND “country == IT”).
- OR: basta una condizione vera per passare al ramo true. Utile per soglie alternative (es. “budget > 1000” OR “utmsource == partnervip”).
Esempio coerente per marketer:
- Obiettivo: qualificare lead “hot” se (score ≥ 70 OR interesse == “demo”) AND email valida.
- Strategia: due condizioni OR per hotness, poi un’altra condizione per validità email, e combinare con AND a livello superiore. In pratica, spesso conviene spezzare la logica in due If consecutivi o normalizzare i campi prima.
Snippet di configurazione (struttura multi-condizione):
{
"name": "If: Qualifica Hot Lead",
"type": "n8n-nodes-base.if",
"typeVersion": 1,
"parameters": {
"conditions": [
{
"operator": { "type": "string", "operation": "equals" },
"leftValue": "={{ $json[\"email_valid\"] }}",
"rightValue": "true"
},
{
"operator": { "type": "string", "operation": "equals" },
"leftValue": "={{ $json[\"interest\"] }}",
"rightValue": "demo"
}
],
"combinator": "and"
}
}
Per includere logiche OR complesse, puoi:
- Chaining: usare un If per “hotness” (OR), poi un secondo If per “email_valid” (AND).
- Oppure modellare l’OR con un nodo Switch a monte e utilizzare If solo per l’ultimo vincolo.
Best practice nodo If:
- Mantieni ogni If coeso (1 scopo logico). Se la condizione diventa difficile da leggere, suddividila in due nodi.
- Documenta con nomi autoesplicativi e commenti sul canvas.
[IMG: Due nodi If concatenati: primo per hotness (OR), secondo per validazione email (AND)]
Espressioni con n8n Expression Editor: $json, $node e timing
Le espressioni permettono di referenziare dinamicamente valori dai dati correnti o da nodi precedenti:
- Dal current item: {{ $json.property }} o nested {{ $json.parent.child.property }}
- Da un nodo precedente: {{ $node[“NomeNodo”].json.property }}
- Timestamp corrente: {{ $now }}
Esempi utili per marketer:
- Prelevare il canale del lead: {{ $json.channel }}
- Leggere un campo arricchito da un nodo precedente “Enrich CRM”: {{ $node[“Enrich CRM”].json.account_size }}
- Timed offers: usare {{ $now }} per confronti orari nel nodo If n8n.
Snippet (uso in If con Expression Editor):
{
"parameters": {
"conditions": [
{
"operator": { "type": "string", "operation": "equals" },
"leftValue": "={{ $node[\"Normalize\"].json.segment }}",
"rightValue": "enterprise"
}
],
"combinator": "and"
}
}
Consigli operativi:
- Verifica sempre che i campi esistano. Se un campo può mancare, imposta un default nel nodo Set/Function a monte.
- Mantieni coerenti i tipi: non confrontare stringhe con numeri; castali prima se necessario.
- Evita dipendenze a catena fragili: se cambi il nome di un nodo, aggiorna le espressioni che lo referenziano.
[IMG: Finestra dell’Expression Editor con esempi $json e $node]
Switch vs If: quando scegliere l’uno rispetto all’altro
- If: due rami, true/false. Ottimo per decisioni binarie, controllo “passa/non passa” e combinazioni di condizioni articolate con AND/OR.
- Switch: più di due esiti. Perfetto quando instradi in base a un singolo campo “categorico” (es. “utm_source” → email, ads, partner) e vuoi un fallback per tutti i casi non mappati.
Caso marketing tipico:
- Se devi ripartire una singola stream in “newsletter”, “promo”, “transactional”, “altro”, usa Switch vs If per semplicità e leggibilità.
- Se devi costruire una regola di validazione articolata (più campi, condizioni combinate), usa il nodo If n8n.
Insight: combinare Switch per lo smistamento multi-categoria e If per i “gate” di qualità produce workflow chiari e facili da testare.
[IMG: Nodo Switch con tre uscite e un fallback, seguito da If per validazioni per ciascun ramo]
Merge con If n8n: riunire i rami senza sorprese
Dopo uno split, potresti voler ricongiungere i rami. Il nodo Merge offre più modalità:
- Append: concatena gli item dei due ingressi in sequenza.
- Wait (Wait for both): sincronizza, emettendo solo quando entrambi i rami sono arrivati.
- Merge By Index (Merge By Position): abbina gli item per posizione (indice) nei due flussi.
- Merge By Key: unisce per chiave comune (es. id), con controllo su cosa includere dall’uno/dall’altro o da entrambi.
Snippet (Merge By Key su “id”):
{
"name": "Merge on ID",
"type": "n8n-nodes-base.merge",
"typeVersion": 1,
"parameters": {
"mode": "mergeByKey",
"propertyName": "id",
"outputDataFrom": "both"
}
}
Best practice con Merge con If n8n:
- Se i due rami eseguono azioni asincrone (API con tempi diversi), “Wait” garantisce sincronizzazione prima di procedere.
- Se ogni item mantiene un id coerente su entrambi i rami, preferisci Merge By Key per unione robusta.
- Se i due flussi sono positional (stesse dimensioni e ordine), Merge By Index è rapido ma fragile se l’ordine cambia.
Nota su differenze versione n8n v1:
- Se provieni da workflow legacy, verifica con test di regressione la logica di branch/merge e l’allineamento degli item. In v1.0+ conviene esplicitare la modalità Merge (Wait/Key/Index) e aggiungere guard-rails (es. controlli di presenza chiave) per evitare risultati inattesi. Esegui run di prova su un campione rappresentativo.
[IMG: Esempio di due rami True/False che confluiscono in un nodo Merge configurato “mergeByKey”]
Use case per marketer: ricette pronte
1) Filtrare errori o record incompleti
- Obiettivo: inviare avanti solo record con email valida e consenso marketing.
- Passi:
- Nodo If n8n “Email e Consenso OK” con due condizioni (AND): email_valid == true, consent == true.
- True → prosegui con attivazioni; False → logga o crea lista “da correggere”.
2) Notifiche condizionali (Slack/Email)
- Obiettivo: inviare Slack se priorità “alta”, altrimenti email di routine.
- If: priority == “high” → ramo true (Slack), ramo false (Email).
- Esempio condizione (equals su stringa) come nello snippet “Status Success”.
3) Deduplicazione semplice
- Obiettivo: scartare item con id già visto.
- Strategia: a monte, recupera lista ID noti; poi If: id contenuto in lista? Se true → scarta/archivia; Se false → prosegui. Puoi realizzare il “contains” su array con una trasformazione a monte e un confronto booleano nel nodo If n8n.
4) Business hours branch
- Obiettivo: gestire richieste durante orario d’ufficio.
- If: confronta {{ $now }} con intervallo orario (es. 09:00–18:00) usando due condizioni su date (isAfter start, isBefore end) e combinator AND. In alternativa, calcola a monte una flag isBusinessHours, e poi If su boolean.
5) Escalation lead hot
- If: (score ≥ 70 OR interest == “demo”) AND email_valid == true → True: invia a Sales; False: nurturing.
Screenshot placeholder per 2 casi chiave:
- [IMG: Configurazione If “Email e Consenso OK”]
- [IMG: Branch “Business hours” con due condizioni data/ora e combinator AND]
Best practice nodo If: leggibilità, manutenzione, test
- Nomi chiari: rinomina ogni If per lo scopo (“If: Score ≥ 70 & Demo”), così comprenderai il flusso a colpo d’occhio.
- Una responsabilità per If: meglio due nodi puliti che uno solo intricato. Mantieni la logica lineare.
- Normalizza i dati prima: usa Set/Function per uniformare maiuscole/minuscole, formati data, default su campi mancanti.
- Test incrementali: prova rami true/false con dati di esempio. Aggiungi nodi “NoOp” o commenti visivi per controllare il passaggio degli item.
- Merge intenzionale: dopo uno split, scegli una modalità Merge che rispecchi la natura dei tuoi dati (Wait/Index/Key) e documentala nel nome del nodo.
- Evita accoppiamenti fragili: se usi {{ $node[“NomeNodo”]… }}, valuta dipendenze esplicite e aggiornale in caso di rinomina del nodo sorgente.
[IMG: Esempio di canvas annotato con nomi chiari e commenti su ciascun If]
Quick Takeaways
- Il nodo If n8n crea uno split binario e garantisce che ogni item vada su true o false.
- Scegli operatori e data types n8n appropriati per confronti stringhe, numeri, date e boolean.
- Combina condizioni con AND/OR n8n per regole precise; spezza logiche complesse in più If.
- Usa l’Expression Editor con $json, $node e {{ $now }} per confronti dinamici e contestualizzati.
- Per più di due esiti, Switch vs If: usa Switch per routing multi-categoria con fallback.
- Ricongiungi i rami con Merge in modo intenzionale (Wait, By Index, By Key) per evitare allineamenti errati.
- Testa con dati reali e rinomina i nodi per mantenere leggibilità e manutenzione nel tempo.
Conclusione
Aggiungere logica al flusso con il nodo If n8n è il passo che separa automazioni “statiche” da pipeline intelligenti e ad alto impatto. Confronti corretti, combinazioni AND/OR n8n e un uso consapevole delle espressioni ti permettono di filtrare i dati in ingresso, applicare regole di business e indirizzare gli item sui rami giusti. Integrando Switch per i casi multi-esito e un Merge intenzionale per ricongiungere i flussi, costruisci workflow robusti, trasparenti e facili da manutenere. Per i marketer, ciò significa maggiore velocità nel ciclo campagna → analisi → ottimizzazione e minori costi dovuti a step inutili o chiamate API superflue. Il suggerimento finale: parti semplice, documenta ogni decisione e aggiungi complessità solo quando ti serve. Se vuoi portare la tua produttività al livello successivo, prendi uno use case tra quelli proposti (validazione contatti, notifiche condizionali o business hours) e implementalo subito con il nodo If n8n. In poche iterazioni avrai un sistema decisionale che moltiplica i risultati senza moltiplicare lo sforzo.
FAQ
1) Cos’è il nodo If n8n e quando usarlo?
- È un nodo di controllo di flusso con due rami (true/false) per creare un conditional split n8n. Usalo per decisioni binarie, filtri e validazioni n8n, e come “gate” prima di step costosi.
2) Come funzionano le condizioni AND/OR n8n nel nodo If?
- Puoi definire più condizioni e collegarle con un combinator AND o OR. AND richiede che tutte siano vere; OR basta che una lo sia. Per logiche complesse, è spesso più leggibile concatenare due nodi If.
3) Quali operatori di confronto n8n e data types n8n posso usare?
- String (equals, contains, regex), Number (equal, greater/less), Date & Time (is before/after), Boolean (true/false), Array/Object (presenza proprietà o elementi, a seconda della configurazione). Scegli l’operatore coerente col tipo e normalizza i dati a monte.
4) Switch vs If: quale scegliere?
- If per decisioni binarie e regole composite; Switch per più di due esiti basati su un singolo campo (con fallback). Spesso si combinano: Switch per smistamento, If per validazione qualità.
5) Come riunisco i rami dopo uno split con Merge con If n8n?
- Usa Merge con modalità adatte: Wait per sincronizzare, Merge By Index se i flussi sono posizionali, Merge By Key per unione su id. Imposta propertyName e outputDataFrom in “mergeByKey” per includere i dati da entrambi i rami.
Hai trovato utile questa guida sul nodo If n8n? Dimmelo con un commento: quale decisione vuoi automatizzare per prima nel tuo funnel? Condividi l’articolo con il tuo team marketing e confrontatevi su uno use case da implementare oggi stesso!
Scopri la consulenza →

