10 Suivi de la performance des campagnes d'e-mailing

Avancé

Ceci est unSocial Media, AI Summarizationworkflow d'automatisation du domainecontenant 17 nœuds.Utilise principalement des nœuds comme If, Set, Gmail, McpClientTool, Agent. Automatisation de l'analyse des campagnes marketing par e-mail et du suivi intelligent via Bright Data et OpenAI

Prérequis
  • Compte Google et informations d'identification Gmail API
  • Clé API OpenAI
Aperçu du workflow
Visualisation des connexions entre les nœuds, avec support du zoom et du déplacement
Exporter le workflow
Copiez la configuration JSON suivante dans n8n pour importer et utiliser ce workflow
{
  "id": "P6LeLqxzbkO3FiPE",
  "meta": {
    "instanceId": "60046904b104f0f72b2629a9d88fe9f676be4035769f1f08dad1dd38a76b9480",
    "templateCredsSetupCompleted": true
  },
  "name": "10 Track Email Campaign Performance",
  "tags": [],
  "nodes": [
    {
      "id": "75f14163-7400-49fe-aeb9-1f983dfe0c5e",
      "name": "⏰ Déclencheur de Vérification Quotidienne des Campagnes",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -60,
        0
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 9
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "3d85c239-8871-48ce-aecc-581a4a4be75c",
      "name": "✏️ Définir les Champs de Saisie de la Campagne",
      "type": "n8n-nodes-base.set",
      "position": [
        160,
        0
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "04df454e-d477-4dd4-a029-2c97cfd1bf8f",
              "name": "url",
              "type": "string",
              "value": "=https://www.mailchimp.com/campaigns/123/report"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "197f6678-606d-4e9d-91b9-2ed48fe6799c",
      "name": "🤖 Agent : Extraire & Analyser les Performances de la Campagne",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        520,
        0
      ],
      "parameters": {
        "options": {},
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 2
    },
    {
      "id": "0fa379ec-3e22-4f69-97dc-c45e244121c6",
      "name": "🧠 LLM : Résumer & Formater",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        500,
        300
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "8sEyPDkC5p4w4Jha",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "d1a27651-f1b3-412e-8452-563eba14c7d0",
      "name": "🌐 Bright Data MCP : Extraire le Rapport",
      "type": "n8n-nodes-mcp.mcpClientTool",
      "position": [
        680,
        300
      ],
      "parameters": {
        "toolName": "scrape_as_markdown",
        "operation": "executeTool",
        "toolParameters": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Tool_Parameters', ``, 'json') }}"
      },
      "credentials": {
        "mcpClientApi": {
          "id": "eqq94k789oJCd6jU",
          "name": "MCP Client (STDIO) account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "fb814c29-e412-4332-ae43-b5f8ce4f0783",
      "name": "🔎 SI : Ouverture ≥30% & CTR <10% ?",
      "type": "n8n-nodes-base.if",
      "position": [
        1100,
        0
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "d5c41a60-cadf-47a6-9685-9bead865346d",
              "operator": {
                "type": "number",
                "operation": "gte"
              },
              "leftValue": "={{ $json.open_rate }}",
              "rightValue": 20
            },
            {
              "id": "7a251b0b-a122-418d-8b0c-6714ebfa6018",
              "operator": {
                "type": "number",
                "operation": "lt"
              },
              "leftValue": "={{ $json.ctr }}",
              "rightValue": 130
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "b77a5854-6882-47ac-8dba-9af0bdcc0e1f",
      "name": "📧 Envoyer un Email de Relance d'Engagement",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1340,
        -100
      ],
      "webhookId": "0fd0b382-f827-4262-a3de-4df28f33fb10",
      "parameters": {
        "sendTo": "shahkar.genai@gmail.com",
        "message": "Hi [First Name],  \nWe noticed you opened our recent email — thank you for staying connected! \n🙌 But we think you might have missed the best part…  \n👉 [Big Benefit or Offer — e.g., “Get 20% off your next order — today only!”]  \nWe don’t want you to miss out — just click below and grab your exclusive [deal / resource / upgrade].  \n[CTA Button: “Claim Your Offer”]  Still not sure? We’re here to help if you have any questions. Just hit reply — we love hearing from you!  Talk soon, [Your Name] [Your Company]",
        "options": {},
        "subject": "Did you miss this? Here’s something special for you!",
        "emailType": "text"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "AQDSl75AdzK3vmqJ",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "1259660d-e04c-4708-9319-22749360bdc3",
      "name": "🚫 Ignorer — Aucune Action Requise",
      "type": "n8n-nodes-base.noOp",
      "position": [
        1340,
        100
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "6e673900-d27b-4aba-be1d-8d9149fa6ceb",
      "name": "Note adhésive",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -120,
        -1180
      ],
      "parameters": {
        "color": 6,
        "width": 420,
        "height": 1360,
        "content": "## 🎯 **🔹 SECTION 1: Schedule & Prepare Inputs**\n\n### ✅ **Nodes in this Section**\n\n| Node | Name                             |\n| ---- | -------------------------------- |\n| ⏰    | **Daily Campaign Check Trigger** |\n| ✏️   | **Set Campaign Input Fields**    |\n\n---\n\n### 💡 **What Happens Here**\n\n* **⏰ Daily Campaign Check Trigger:**\n  This node automatically **starts the workflow on a schedule** — for example, every morning at 9 AM.\n  It makes sure you **don’t have to run it manually** every time. The goal is to check your email campaign performance **regularly and consistently**.\n\n* **✏️ Set Campaign Input Fields:**\n  This node **defines any input values** that your Agent needs.\n  For example:\n\n  * Campaign ID\n  * ESP URL\n  * Date range\n  * Any dynamic variables\n\n  It acts like **filling in a form** that the rest of the workflow will use.\n  You can **edit it easily** without changing the whole workflow.\n\n---\n\n### 🎯 **Why It’s Important**\n\n✅ Automates the whole thing on autopilot.\n✅ Ensures the Agent always has the **right data**.\n✅ Makes the workflow easy to maintain for non-tech users — just change a value in **Edit Fields**, done!\n\n---\n\n---\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "d722faa7-9304-4145-9e22-f90b71b02053",
      "name": "Note adhésive1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        440,
        -1300
      ],
      "parameters": {
        "color": 3,
        "width": 420,
        "height": 1480,
        "content": "## 🤖 **🔹 SECTION 2: Scrape & Analyze with AI Agent**\n\n### ✅ **Nodes in this Section**\n\n| Node | Name                                             |\n| ---- | ------------------------------------------------ |\n| 🤖   | **Agent: Scrape & Analyze Campaign Performance** |\n| 🧠   | **LLM: Summarize & Format**                      |\n| 🌐   | **Bright Data MCP: Scrape Report**               |\n| 🗂️  | **Parse Scrape Output**                          |\n\n---\n\n### 💡 **What Happens Here**\n\n* **🤖 Agent: Scrape & Analyze Campaign Performance**\n  This is your **AI Agent** — it does the smart part:\n\n  * Talks to the **Bright Data MCP Tool** to scrape the ESP report page.\n  * Uses an **LLM** (OpenAI Chat Model) to process the scraped data.\n  * Passes the result to an **Output Parser** to turn messy text into clean, structured data.\n\n* **🌐 Bright Data MCP: Scrape Report**\n  Bright Data logs in, navigates to your campaign report page, and **scrapes live open/click numbers**.\n\n* **🧠 LLM: Summarize & Format**\n  The Chat Model turns raw scraped info into easy-to-read Markdown or JSON.\n  This is like having a mini data analyst!\n\n* **🗂️ Parse Scrape Output**\n  This node extracts the final numbers (open rate, CTR, bounces) so the logic can understand them.\n\n---\n\n### 🎯 **Why It’s Important**\n\n✅ You don’t have to log in manually to get reports.\n✅ The AI cleans up messy scraped data.\n✅ Makes follow-up decisions possible without human effort.\n✅ Works for **any ESP** — if the layout changes, just adjust the scraper.\n\n---\n\n---\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "031503cb-3fa4-46b6-9b57-529b10553ec2",
      "name": "Note adhésive2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1060,
        -840
      ],
      "parameters": {
        "color": 5,
        "width": 420,
        "height": 1100,
        "content": "## 📈 **🔹 SECTION 3: Decide & Act Automatically**\n\n### ✅ **Nodes in this Section**\n\n| Node | Name                                |\n| ---- | ----------------------------------- |\n| 🔎   | **IF: Open ≥30% & CTR <10%?**       |\n| 📧   | **Send Follow-Up Engagement Email** |\n| 🚫   | **Skip — No Action Needed**         |\n\n---\n\n### 💡 **What Happens Here**\n\n* **🔎 IF: Open ≥30% & CTR <10%?**\n  This node checks:\n\n  * Is the open rate good? (≥30%)\n  * But is the click-through rate low? (<10%)\n    If **true**, it triggers follow-up to re-engage the audience.\n\n* **📧 Send Follow-Up Engagement Email**\n  If the condition is true, this node sends a **personalized follow-up email** automatically.\n  For example: “Hey, you opened but didn’t click — here’s your special offer!”\n\n* **🚫 Skip — No Action Needed**\n  If the condition is **false** (e.g. CTR is healthy), do nothing. The workflow ends safely.\n\n---\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "4502ee4c-219e-4495-b4ff-c8b3beec55e8",
      "name": "Note adhésive5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1560,
        -920
      ],
      "parameters": {
        "color": 7,
        "width": 380,
        "height": 240,
        "content": "## I’ll receive a tiny commission if you join Bright Data through this link—thanks for fueling more free content!\n\n### https://get.brightdata.com/1tndi4600b25"
      },
      "typeVersion": 1
    },
    {
      "id": "07751162-2ade-4591-93bc-a3dc2414553d",
      "name": "Note adhésive9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1980,
        -1180
      ],
      "parameters": {
        "color": 4,
        "width": 1300,
        "height": 320,
        "content": "=======================================\n            WORKFLOW ASSISTANCE\n=======================================\nFor any questions or support, please contact:\n    Yaron@nofluff.online\n\nExplore more tips and tutorials here:\n   - YouTube: https://www.youtube.com/@YaronBeen/videos\n   - LinkedIn: https://www.linkedin.com/in/yaronbeen/\n=======================================\n"
      },
      "typeVersion": 1
    },
    {
      "id": "6c9e1f76-b6d0-4915-8f05-ada92abfcd89",
      "name": "Note adhésive4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1980,
        -840
      ],
      "parameters": {
        "color": 4,
        "width": 1289,
        "height": 3118,
        "content": "# Dynamic Email Re-Engagement Automation\n---\n\n## 🎯 **🔹 SECTION 1: Schedule & Prepare Inputs**\n\n### ✅ **Nodes in this Section**\n\n| Node | Name                             |\n| ---- | -------------------------------- |\n| ⏰    | **Daily Campaign Check Trigger** |\n| ✏️   | **Set Campaign Input Fields**    |\n\n---\n\n### 💡 **What Happens Here**\n\n* **⏰ Daily Campaign Check Trigger:**\n  This node automatically **starts the workflow on a schedule** — for example, every morning at 9 AM.\n  It makes sure you **don’t have to run it manually** every time. The goal is to check your email campaign performance **regularly and consistently**.\n\n* **✏️ Set Campaign Input Fields:**\n  This node **defines any input values** that your Agent needs.\n  For example:\n\n  * Campaign ID\n  * ESP URL\n  * Date range\n  * Any dynamic variables\n\n  It acts like **filling in a form** that the rest of the workflow will use.\n  You can **edit it easily** without changing the whole workflow.\n\n---\n\n### 🎯 **Why It’s Important**\n\n✅ Automates the whole thing on autopilot.\n✅ Ensures the Agent always has the **right data**.\n✅ Makes the workflow easy to maintain for non-tech users — just change a value in **Edit Fields**, done!\n\n---\n\n---\n\n## 🤖 **🔹 SECTION 2: Scrape & Analyze with AI Agent**\n\n### ✅ **Nodes in this Section**\n\n| Node | Name                                             |\n| ---- | ------------------------------------------------ |\n| 🤖   | **Agent: Scrape & Analyze Campaign Performance** |\n| 🧠   | **LLM: Summarize & Format**                      |\n| 🌐   | **Bright Data MCP: Scrape Report**               |\n| 🗂️  | **Parse Scrape Output**                          |\n\n---\n\n### 💡 **What Happens Here**\n\n* **🤖 Agent: Scrape & Analyze Campaign Performance**\n  This is your **AI Agent** — it does the smart part:\n\n  * Talks to the **Bright Data MCP Tool** to scrape the ESP report page.\n  * Uses an **LLM** (OpenAI Chat Model) to process the scraped data.\n  * Passes the result to an **Output Parser** to turn messy text into clean, structured data.\n\n* **🌐 Bright Data MCP: Scrape Report**\n  Bright Data logs in, navigates to your campaign report page, and **scrapes live open/click numbers**.\n\n* **🧠 LLM: Summarize & Format**\n  The Chat Model turns raw scraped info into easy-to-read Markdown or JSON.\n  This is like having a mini data analyst!\n\n* **🗂️ Parse Scrape Output**\n  This node extracts the final numbers (open rate, CTR, bounces) so the logic can understand them.\n\n---\n\n### 🎯 **Why It’s Important**\n\n✅ You don’t have to log in manually to get reports.\n✅ The AI cleans up messy scraped data.\n✅ Makes follow-up decisions possible without human effort.\n✅ Works for **any ESP** — if the layout changes, just adjust the scraper.\n\n---\n\n---\n\n## 📈 **🔹 SECTION 3: Decide & Act Automatically**\n\n### ✅ **Nodes in this Section**\n\n| Node | Name                                |\n| ---- | ----------------------------------- |\n| 🔎   | **IF: Open ≥30% & CTR <10%?**       |\n| 📧   | **Send Follow-Up Engagement Email** |\n| 🚫   | **Skip — No Action Needed**         |\n\n---\n\n### 💡 **What Happens Here**\n\n* **🔎 IF: Open ≥30% & CTR <10%?**\n  This node checks:\n\n  * Is the open rate good? (≥30%)\n  * But is the click-through rate low? (<10%)\n    If **true**, it triggers follow-up to re-engage the audience.\n\n* **📧 Send Follow-Up Engagement Email**\n  If the condition is true, this node sends a **personalized follow-up email** automatically.\n  For example: “Hey, you opened but didn’t click — here’s your special offer!”\n\n* **🚫 Skip — No Action Needed**\n  If the condition is **false** (e.g. CTR is healthy), do nothing. The workflow ends safely.\n\n---\n\n### 🎯 **Why It’s Important**\n\n✅ Takes action **only when needed**, saving time.\n✅ Boosts click rates without extra manual work.\n✅ Protects your audience from spam by not sending unnecessary follow-ups.\n\n---\n\n## 🌟 **✨ Why This Whole Flow is Powerful**\n\n* Runs daily — **no manual checks**.\n* Scrapes live data — **no API? No problem!**\n* Uses AI to process messy data — **no coding required!**\n* Makes smart decisions — **no human micromanagement**.\n* Sends the right email to the right audience at the right time — **better engagement, better ROI!**\n\n---\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "237aeaf4-64f1-411b-a013-9209f46fa320",
      "name": "Auto-fixing Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserAutofixing",
      "position": [
        840,
        300
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "f86d1724-c0c3-4820-9699-44f2d4101054",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        800,
        560
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "8sEyPDkC5p4w4Jha",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "41e646ea-effa-40c0-8513-7fecd83762ee",
      "name": "Structured Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        980,
        560
      ],
      "parameters": {
        "jsonSchemaExample": "{\n  \"campaign_name\": \"Summer Promo Blast\",\n  \"campaign_id\": \"123456789\",\n  \"date_sent\": \"2025-06-29\",\n  \"unique_opens\": 1230,\n  \"total_opens\": 1590,\n  \"open_rate\": 47,\n  \"unique_clicks\": 530,\n  \"total_clicks\": 670,\n  \"ctr\": 20,\n  \"soft_bounces\": 25,\n  \"hard_bounces\": 10,\n  \"bounce_rate\": 1.8,\n  \"unsubscribed\": 15,\n  \"unsubscribe_rate\": 0.6\n}\n"
      },
      "typeVersion": 1.2
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "226f422b-33c6-4834-8653-5f7a501d9955",
  "connections": {
    "f86d1724-c0c3-4820-9699-44f2d4101054": {
      "ai_languageModel": [
        [
          {
            "node": "237aeaf4-64f1-411b-a013-9209f46fa320",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "41e646ea-effa-40c0-8513-7fecd83762ee": {
      "ai_outputParser": [
        [
          {
            "node": "237aeaf4-64f1-411b-a013-9209f46fa320",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "237aeaf4-64f1-411b-a013-9209f46fa320": {
      "ai_outputParser": [
        [
          {
            "node": "197f6678-606d-4e9d-91b9-2ed48fe6799c",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "0fa379ec-3e22-4f69-97dc-c45e244121c6": {
      "ai_languageModel": [
        [
          {
            "node": "197f6678-606d-4e9d-91b9-2ed48fe6799c",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "75f14163-7400-49fe-aeb9-1f983dfe0c5e": {
      "main": [
        [
          {
            "node": "3d85c239-8871-48ce-aecc-581a4a4be75c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3d85c239-8871-48ce-aecc-581a4a4be75c": {
      "main": [
        [
          {
            "node": "197f6678-606d-4e9d-91b9-2ed48fe6799c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "fb814c29-e412-4332-ae43-b5f8ce4f0783": {
      "main": [
        [
          {
            "node": "b77a5854-6882-47ac-8dba-9af0bdcc0e1f",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "1259660d-e04c-4708-9319-22749360bdc3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d1a27651-f1b3-412e-8452-563eba14c7d0": {
      "ai_tool": [
        [
          {
            "node": "197f6678-606d-4e9d-91b9-2ed48fe6799c",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "197f6678-606d-4e9d-91b9-2ed48fe6799c": {
      "main": [
        [
          {
            "node": "fb814c29-e412-4332-ae43-b5f8ce4f0783",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Foire aux questions

Comment utiliser ce workflow ?

Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.

Dans quelles scénarios ce workflow est-il adapté ?

Avancé - Réseaux sociaux, Résumé IA

Est-ce payant ?

Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.

Informations sur le workflow
Niveau de difficulté
Avancé
Nombre de nœuds17
Catégorie2
Types de nœuds11
Description de la difficulté

Adapté aux utilisateurs avancés, avec des workflows complexes contenant 16+ nœuds

Auteur
Yaron Been

Yaron Been

@yaron-nofluff

Building AI Agents and Automations | Growth Marketer | Entrepreneur | Book Author & Podcast Host If you need any help with Automations, feel free to reach out via linkedin: https://www.linkedin.com/in/yaronbeen/ And check out my Youtube channel: https://www.youtube.com/@YaronBeen/videos

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34