Automatisierter E-Mail-Bericht zur Marketingleistung

Fortgeschritten

Dies ist ein Document Extraction, Multimodal AI-Bereich Automatisierungsworkflow mit 13 Nodes. Hauptsächlich werden Merge, Summarize, GoogleSheets, ManualTrigger, MicrosoftOutlook und andere Nodes verwendet. Automatisierte Erstellung von Marketing-Leistungs-E-Mail-Berichten mit Google Sheets und Outlook

Voraussetzungen
  • Google Sheets API-Anmeldedaten
Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
  "meta": {
    "instanceId": "ad0113c344ee237399e44e9f11798b05baeb83a6196d514a9ae9d2ad71c3b5c9",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "dd0fb46b-c0ce-4499-a000-8a16fe234969",
      "name": "When clicking ‘Execute workflow’",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -3088,
        1232
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "67ca251f-bd65-4707-b807-9353033e205c",
      "name": "Get Google Sheets Data",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -2848,
        1264
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 365710158,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/19aUQYZq02qHsCelO4eeV4sx_MTJJupC5qe0gDLQBtRA/edit#gid=365710158",
          "cachedResultName": "Data"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "19aUQYZq02qHsCelO4eeV4sx_MTJJupC5qe0gDLQBtRA",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/19aUQYZq02qHsCelO4eeV4sx_MTJJupC5qe0gDLQBtRA/edit?usp=drivesdk",
          "cachedResultName": "Sample Marketing Data"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "HlBW2puZbuCCq8jJ",
          "name": "Google Sheets account 3"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "363322ba-a8f0-4269-afa2-6cc13f7f36b3",
      "name": "Count Unique Customers",
      "type": "n8n-nodes-base.summarize",
      "position": [
        -2144,
        688
      ],
      "parameters": {
        "options": {},
        "fieldsToSummarize": {
          "values": [
            {
              "field": "Customer ID",
              "aggregation": "countUnique"
            }
          ]
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "d8d0162f-305a-4359-bdd6-ebf917202265",
      "name": "Count Unique Campaigns",
      "type": "n8n-nodes-base.summarize",
      "position": [
        -2144,
        864
      ],
      "parameters": {
        "options": {},
        "fieldsToSummarize": {
          "values": [
            {
              "field": "Campaign",
              "aggregation": "countUnique"
            }
          ]
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "de8c8386-8fd7-49ed-bf90-88980ceb90f2",
      "name": "Sum Total Clicks",
      "type": "n8n-nodes-base.summarize",
      "position": [
        -2144,
        1072
      ],
      "parameters": {
        "options": {},
        "fieldsToSummarize": {
          "values": [
            {
              "field": "Clicks",
              "aggregation": "sum"
            }
          ]
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "6618e8fb-8eb2-43b8-bd5f-b00b7306c8c5",
      "name": "Sum Total Conversions",
      "type": "n8n-nodes-base.summarize",
      "position": [
        -2144,
        1232
      ],
      "parameters": {
        "options": {},
        "fieldsToSummarize": {
          "values": [
            {
              "field": "Conversions",
              "aggregation": "sum"
            }
          ]
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "c9a81add-1ec5-4db5-8f55-076cdc1db97a",
      "name": "Sum Total Spend",
      "type": "n8n-nodes-base.summarize",
      "position": [
        -2128,
        1408
      ],
      "parameters": {
        "options": {},
        "fieldsToSummarize": {
          "values": [
            {
              "field": "Spend ($)",
              "aggregation": "sum"
            }
          ]
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "cf7b8d92-15fa-46fd-a63f-0d1b2792f282",
      "name": "Send Email Report1",
      "type": "n8n-nodes-base.microsoftOutlook",
      "position": [
        -1472,
        1328
      ],
      "webhookId": "6a18e4a8-04ce-49a9-a2ad-451b8daf2df8",
      "parameters": {
        "subject": "Daily Marketing Performance",
        "bodyContent": "=<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Marketing Campaign Performance Report</title>\n    <style>\n        body {\n            font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;\n            line-height: 1.6;\n            color: #1a1a1a;\n            max-width: 650px;\n            margin: 0 auto;\n            padding: 30px 20px;\n            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n            min-height: 100vh;\n        }\n        .container {\n            background: rgba(255, 255, 255, 0.95);\n            backdrop-filter: blur(20px);\n            padding: 40px;\n            border-radius: 24px;\n            box-shadow: \n                0 20px 40px rgba(0, 0, 0, 0.1),\n                0 8px 32px rgba(0, 0, 0, 0.08),\n                inset 0 1px 0 rgba(255, 255, 255, 0.4);\n            border: 1px solid rgba(255, 255, 255, 0.2);\n            position: relative;\n            overflow: hidden;\n        }\n        .container::before {\n            content: '';\n            position: absolute;\n            top: 0;\n            left: 0;\n            right: 0;\n            height: 4px;\n            background: linear-gradient(90deg, #667eea, #764ba2, #f093fb, #f5576c);\n            background-size: 400% 400%;\n            animation: gradient 8s ease infinite;\n        }\n        @keyframes gradient {\n            0% { background-position: 0% 50%; }\n            50% { background-position: 100% 50%; }\n            100% { background-position: 0% 50%; }\n        }\n        h1 {\n            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n            -webkit-background-clip: text;\n            -webkit-text-fill-color: transparent;\n            background-clip: text;\n            font-size: 32px;\n            font-weight: 800;\n            margin-bottom: 40px;\n            text-align: center;\n            letter-spacing: -0.02em;\n        }\n        h2 {\n            color: #2d3748;\n            margin-bottom: 30px;\n            font-size: 24px;\n            font-weight: 700;\n            text-align: center;\n            position: relative;\n        }\n        h2::after {\n            content: '';\n            position: absolute;\n            bottom: -8px;\n            left: 50%;\n            transform: translateX(-50%);\n            width: 60px;\n            height: 3px;\n            background: linear-gradient(90deg, #667eea, #764ba2);\n            border-radius: 2px;\n        }\n        .summary-grid {\n            display: grid;\n            grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));\n            gap: 24px;\n            margin-bottom: 40px;\n        }\n        .metric-card {\n            background: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%);\n            padding: 28px 24px;\n            border-radius: 16px;\n            border: 1px solid rgba(226, 232, 240, 0.8);\n            box-shadow: \n                0 4px 16px rgba(0, 0, 0, 0.08),\n                0 1px 4px rgba(0, 0, 0, 0.04);\n            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n            position: relative;\n            overflow: hidden;\n        }\n        .metric-card::before {\n            content: '';\n            position: absolute;\n            top: 0;\n            left: 0;\n            right: 0;\n            height: 3px;\n            background: linear-gradient(90deg, #667eea, #764ba2);\n            opacity: 0;\n            transition: opacity 0.3s ease;\n        }\n        .metric-card:hover {\n            transform: translateY(-4px);\n            box-shadow: \n                0 12px 32px rgba(0, 0, 0, 0.12),\n                0 4px 16px rgba(0, 0, 0, 0.08);\n        }\n        .metric-card:hover::before {\n            opacity: 1;\n        }\n        .metric-label {\n            font-weight: 600;\n            color: #64748b;\n            font-size: 13px;\n            margin-bottom: 8px;\n            text-transform: uppercase;\n            letter-spacing: 0.5px;\n        }\n        .metric-value {\n            font-size: 28px;\n            font-weight: 800;\n            background: linear-gradient(135deg, #1e293b 0%, #475569 100%);\n            -webkit-background-clip: text;\n            -webkit-text-fill-color: transparent;\n            background-clip: text;\n            letter-spacing: -0.02em;\n        }\n        .footer {\n            margin-top: 50px;\n            padding-top: 30px;\n            border-top: 1px solid rgba(226, 232, 240, 0.6);\n            text-align: center;\n            color: #64748b;\n            font-size: 13px;\n            font-weight: 500;\n        }\n        .footer p {\n            margin: 6px 0;\n        }\n        .footer p:first-child {\n            font-weight: 600;\n            color: #475569;\n        }\n        @media (max-width: 600px) {\n            body {\n                padding: 20px 15px;\n            }\n            .container {\n                padding: 30px 24px;\n                border-radius: 20px;\n            }\n            .summary-grid {\n                grid-template-columns: 1fr;\n                gap: 20px;\n            }\n            h1 {\n                font-size: 28px;\n                margin-bottom: 30px;\n            }\n            .metric-value {\n                font-size: 24px;\n            }\n        }\n    </style>\n</head>\n<body>\n    <div class=\"container\">\n        <h1>Marketing Campaign Performance Report</h1>\n        \n        <h2>Campaign Summary</h2>\n        <div class=\"summary-grid\">\n            <div class=\"metric-card\">\n                <div class=\"metric-label\">Total Campaigns</div>\n                <div class=\"metric-value\">{{ $json.unique_count_Campaign }}</div>\n            </div>\n            <div class=\"metric-card\">\n                <div class=\"metric-label\">Total Customers Reached</div>\n                <div class=\"metric-value\">{{ $json.unique_count_Customer_ID }}</div>\n            </div>\n            <div class=\"metric-card\">\n                <div class=\"metric-label\">Total Clicks</div>\n                <div class=\"metric-value\">{{ $json.sum_Clicks }}</div>\n            </div>\n            <div class=\"metric-card\">\n                <div class=\"metric-label\">Total Conversions</div>\n                <div class=\"metric-value\">{{ $json.sum_Conversions }}</div>\n            </div>\n            <div class=\"metric-card\">\n                <div class=\"metric-label\">Total Spend</div>\n                <div class=\"metric-value\">{{ $json['sum_Spend_($)'] }}</div>\n            </div>\n        </div>\n        <div class=\"footer\">\n            <p>Report generated automatically via n8n automation</p>\n            <p>Last updated: {{ $json.lastUpdated }}</p>\n        </div>\n    </div>\n</body>\n</html>",
        "toRecipients": "rbreen@ynteractive.com",
        "additionalFields": {
          "bodyContentType": "html"
        }
      },
      "credentials": {
        "microsoftOutlookOAuth2Api": {
          "id": "9z1nG9ReKLXU309r",
          "name": "Microsoft Outlook account 4"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "d9d8fce2-da0f-4ba4-be18-445f5c71a466",
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        -1776,
        1296
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "combineBy": "combineByPosition",
        "numberInputs": 5
      },
      "typeVersion": 3.2
    },
    {
      "id": "446a50f7-8d42-40f9-9323-790ea93a4aa5",
      "name": "Sticky Note17",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -3136,
        480
      ],
      "parameters": {
        "width": 1984,
        "height": 128,
        "content": "## 📬 Need Help or Want to Customize This?\n📧 [robert@ynteractive.com](mailto:robert@ynteractive.com)  \n🔗 [LinkedIn](https://www.linkedin.com/in/robert-breen-29429625/)"
      },
      "typeVersion": 1
    },
    {
      "id": "08007788-b10a-45c2-8d8e-44b31d0679cc",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -3136,
        624
      ],
      "parameters": {
        "color": 4,
        "width": 480,
        "height": 928,
        "content": "### Step 1: Set Up Your Google Sheets Data Source\n\n**Copy the Sample Data Template:**\n1. Access the template: [Marketing Performance Data Template](https://docs.google.com/spreadsheets/d/19aUQYZq02qHsCelO4eeV4sx_MTJJupC5qe0gDLQBtRA/edit?usp=sharing)\n2. Click \"File\" → \"Make a copy\" to create your own version\n3. Rename it (e.g., \"My Marketing Performance Data\")\n\n**Set Up Your Data Structure:**\nYour Google Sheet should have a \"Data\" tab with these columns:\n- **Customer ID** - Unique identifier for each customer\n- **Campaign** - Name of the marketing campaign\n- **Clicks** - Number of clicks generated\n- **Conversions** - Number of conversions achieved  \n- **Spend ($)** - Amount spent on the campaign\n\n**Configure Google Sheets API Access:**\n- Go to [Google Cloud Console](https://console.cloud.google.com/)\n- Create a project or select existing one\n- Enable \"Google Sheets API\"\n- Create OAuth2 credentials or use service account\n- Share your sheet with the service account email (if using service account)\n"
      },
      "typeVersion": 1
    },
    {
      "id": "6020cd74-f930-4e34-bcf4-8bb51caaffcf",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1920,
        624
      ],
      "parameters": {
        "color": 3,
        "width": 768,
        "height": 928,
        "content": "\n#### Node 8: \"Merge\"\n- **Purpose**: Combines all calculated metrics into one data object\n- **Configuration**: Pre-configured to merge by position\n- **No setup required**\n\n#### Node 9: \"Send Email Report\" (Microsoft Outlook)\n- **Purpose**: Sends the formatted HTML email report\n- **Setup Required**:\n  1. Click on the node\n  2. Set up Microsoft Outlook OAuth2 credentials:\n     - Click \"Create New Credential\"\n     - Follow OAuth2 setup for your Microsoft account\n     - Grant necessary email permissions\n  3. **Configure Email Settings**:\n     - **To Recipients**: Change from \"rbreen@ynteractive.com\" to your recipient email(s)\n     - **Subject**: Modify \"Daily Marketing Performance\" as needed\n     - **Body Content**: Pre-configured with professional HTML template\n  4. **Email Template Features**:\n     - Modern glassmorphic design\n     - Responsive layout for mobile devices\n     - Animated gradient accents\n     - Hover effects on metric cards\n     - Professional typography\n\n*Specializing in AI-powered workflow automation, business process optimization, and custom integration solutions.*"
      },
      "typeVersion": 1
    },
    {
      "id": "babb9445-8793-4b44-8447-0ed788ca53a0",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2624,
        624
      ],
      "parameters": {
        "color": 5,
        "width": 672,
        "height": 928,
        "content": " #### Node 3-7: Data Analysis Nodes\n\n**\"Count Unique Customers\"**\n- **Purpose**: Counts how many unique customers were reached\n- **Configuration**: Pre-configured to count unique \"Customer ID\" values\n- **No setup required**\n\n**\"Count Unique Campaigns\"**\n- **Purpose**: Counts total number of campaigns run\n- **Configuration**: Pre-configured to count unique \"Campaign\" values\n- **No setup required**\n\n**\"Sum Total Clicks\"**\n- **Purpose**: Adds up all clicks across campaigns\n- **Configuration**: Pre-configured to sum \"Clicks\" column\n- **No setup required**\n\n**\"Sum Total Conversions\"**\n- **Purpose**: Totals all conversions achieved\n- **Configuration**: Pre-configured to sum \"Conversions\" column\n- **No setup required**\n\n**\"Sum Total Spend\"**\n- **Purpose**: Calculates total marketing spend\n- **Configuration**: Pre-configured to sum \"Spend ($)\" column\n- **No setup required**\n\n"
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "d9d8fce2-da0f-4ba4-be18-445f5c71a466": {
      "main": [
        [
          {
            "node": "cf7b8d92-15fa-46fd-a63f-0d1b2792f282",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c9a81add-1ec5-4db5-8f55-076cdc1db97a": {
      "main": [
        [
          {
            "node": "d9d8fce2-da0f-4ba4-be18-445f5c71a466",
            "type": "main",
            "index": 4
          }
        ]
      ]
    },
    "de8c8386-8fd7-49ed-bf90-88980ceb90f2": {
      "main": [
        [
          {
            "node": "d9d8fce2-da0f-4ba4-be18-445f5c71a466",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "cf7b8d92-15fa-46fd-a63f-0d1b2792f282": {
      "main": [
        []
      ]
    },
    "6618e8fb-8eb2-43b8-bd5f-b00b7306c8c5": {
      "main": [
        [
          {
            "node": "d9d8fce2-da0f-4ba4-be18-445f5c71a466",
            "type": "main",
            "index": 3
          }
        ]
      ]
    },
    "d8d0162f-305a-4359-bdd6-ebf917202265": {
      "main": [
        [
          {
            "node": "d9d8fce2-da0f-4ba4-be18-445f5c71a466",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "363322ba-a8f0-4269-afa2-6cc13f7f36b3": {
      "main": [
        [
          {
            "node": "d9d8fce2-da0f-4ba4-be18-445f5c71a466",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "67ca251f-bd65-4707-b807-9353033e205c": {
      "main": [
        [
          {
            "node": "363322ba-a8f0-4269-afa2-6cc13f7f36b3",
            "type": "main",
            "index": 0
          },
          {
            "node": "d8d0162f-305a-4359-bdd6-ebf917202265",
            "type": "main",
            "index": 0
          },
          {
            "node": "de8c8386-8fd7-49ed-bf90-88980ceb90f2",
            "type": "main",
            "index": 0
          },
          {
            "node": "6618e8fb-8eb2-43b8-bd5f-b00b7306c8c5",
            "type": "main",
            "index": 0
          },
          {
            "node": "c9a81add-1ec5-4db5-8f55-076cdc1db97a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "dd0fb46b-c0ce-4499-a000-8a16fe234969": {
      "main": [
        [
          {
            "node": "67ca251f-bd65-4707-b807-9353033e205c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Häufig gestellte Fragen

Wie verwende ich diesen Workflow?

Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.

Für welche Szenarien ist dieser Workflow geeignet?

Fortgeschritten - Dokumentenextraktion, Multimodales KI

Ist es kostenpflichtig?

Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.

Verwandte Workflows

Aggregation von Marketing-Ausgaben in Google Sheets mithilfe von benutzerdefinierten Pivot-Tabellen und VLOOKUP
Verwenden Sie benutzerdefinierte Pivot-Tables und VLOOKUP in Google Sheets, um Marketing-Ausgabendaten zu aggregieren
Merge
Summarize
Google Sheets
+
Merge
Summarize
Google Sheets
10 NodesRobert Breen
Dokumentenextraktion
Marketingberichte aus Google Sheets mit GPT-4-Einblicken und PDF.co generieren
Marketing-Berichte mit Google Sheets, GPT-4-Einblicken und PDF.co generieren
Code
Merge
Aggregate
+
Code
Merge
Aggregate
15 NodesRobert Breen
Dokumentenextraktion
Erstellung mehrblättriger Excel-Arbeitsmappen mit Google Drive und Sheets durch Zusammenführen von Datensätzen
Mehrfachtabellarige Excel-Arbeitsmappe durch Zusammenführen von Datensätzen mit Google Drive und Sheets erstellen
Code
Merge
Google Drive
+
Code
Merge
Google Drive
12 NodesRobert Breen
Dokumentenextraktion
Anfängerdatenanalyse: Kombinieren, Filtern und Zusammenführen in Google Sheets mit GPT-4o
Einsteiger-Datenanalyse: Merge, Filter und Summiere in Google Sheets mit GPT-4o
If
Set
Code
+
If
Set
Code
21 NodesRobert Breen
Dokumentenextraktion
Google Sheets, GPT-4o und E-Mail verwenden, um ROI-Berichte für Marketingkampagnen zu generieren
Marketing-ROI-Berichte mit Google Sheets, GPT-4o und E-Mail generieren
Code
Merge
Aggregate
+
Code
Merge
Aggregate
16 NodesRobert Breen
KI-Zusammenfassung
Automatisches Protokollieren neuer E-Mails von Gmail in Google Sheets
Neue Gmail-E-Mails automatisch in Google Sheets aufzeichnen
Code
Gmail
Merge
+
Code
Gmail
Merge
11 NodesRobert Breen
Kundenbeziehungsmanagement
Workflow-Informationen
Schwierigkeitsgrad
Fortgeschritten
Anzahl der Nodes13
Kategorie2
Node-Typen6
Schwierigkeitsbeschreibung

Für erfahrene Benutzer, mittelkomplexe Workflows mit 6-15 Nodes

Autor
Robert Breen

Robert Breen

@rbreen

Professional services consultant with over 10 years of experience solving complex business problems across industries. I specialize in n8n and process automation—designing custom workflows that integrate tools like Google Calendar, Airtable, GPT, and internal systems. Whether you need to automate scheduling, sync data, or streamline operations, I build solutions that save time and drive results.

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34