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.

📚 Nuovo a n8n? Parti dalla guida completa: cos'è n8n e come funziona.

[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!

Vuoi automazioni AI su misura per la tua azienda?
Scopri la consulenza →