Créer des tableaux de croisé dynamiques automatiques dans Google Sheets avec n8n

Intermédiaire

Ceci est uncontenant 12 nœuds.Utilise principalement des nœuds comme Summarize, GoogleSheets, ManualTrigger. Créer des tableaux de croisée dynamiques automatiques dans Google Sheets avec n8n

Prérequis
  • Informations d'identification Google Sheets API

Catégorie

-
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
{
  "meta": {
    "instanceId": "ad0113c344ee237399e44e9f11798b05baeb83a6196d514a9ae9d2ad71c3b5c9",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "07bc087a-adc5-4094-8236-bf3c90dfc7db",
      "name": "Démarrer le flux de travail",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -1088,
        976
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "d9c83a60-1d84-4c57-a331-fff2f60bdddc",
      "name": "Note adhésive3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1808,
        784
      ],
      "parameters": {
        "width": 540,
        "height": 848,
        "content": "\n\nThis n8n workflow pulls campaign data from Google Sheets and creates two pivot tables automatically each time it runs.\n\n\n### ✅ Step 1: Connect Google Sheets\n\n1. In n8n, go to **Credentials** → click **New Credential**\n2. Select **Google Sheets OAuth2 API**\n3. Log in with your Google account and authorize access\n4. Use this sheet: [📄 Campaign Data Sheet](https://docs.google.com/spreadsheets/d/1lUEY6kPQbXizbmszLLNUJ_pBfGIKd75hu4uHj0vGRZQ/edit?usp=sharing)\n5. Make sure the sheet includes:\n   - A **Data** tab (row 1 = headers, rows 2+ = campaign data)\n   - A tab for each **pivot view** (e.g. by Channel, by Campaign)\n\n---\n\n### 📬 Need Help?\n\nFeel free to reach out:\n\n- 📧 robert@ynteractive.com  \n- 🔗 [LinkedIn](https://www.linkedin.com/in/robert-breen-29429625/)\n"
      },
      "typeVersion": 1
    },
    {
      "id": "7bcd7fa0-c6ef-453d-85a1-e7dd51785e2e",
      "name": "Note adhésive4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -512,
        1024
      ],
      "parameters": {
        "color": 7,
        "width": 684,
        "height": 400,
        "content": "### Aggregate and Combine Data"
      },
      "typeVersion": 1
    },
    {
      "id": "b26723ad-8a5e-4b7c-b616-5d30cc4a359a",
      "name": "Note adhésive11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1088,
        1216
      ],
      "parameters": {
        "color": 3,
        "width": 448,
        "height": 384,
        "content": "### 1. Prepare Your Google Sheet\n\n- Use this sheet: [Campaign Data Sheet](https://docs.google.com/spreadsheets/d/1lUEY6kPQbXizbmszLLNUJ_pBfGIKd75hu4uHj0vGRZQ/edit?gid=365710158)\n- Must include:\n  - A **Data** tab with campaign metrics (row 1 = headers)\n  - One tab per **pivot view** (e.g. by Channel, Date, Campaign)\n- Connect via **Google Sheets OAuth2** in n8n\n- Optional: You can also use Airtable, Notion, or a database\n"
      },
      "typeVersion": 1
    },
    {
      "id": "1c9b0c94-9256-4afe-b852-03ba2201d651",
      "name": "Somme des campagnes1",
      "type": "n8n-nodes-base.summarize",
      "position": [
        -464,
        1088
      ],
      "parameters": {
        "options": {},
        "fieldsToSplitBy": "Campaign",
        "fieldsToSummarize": {
          "values": [
            {
              "field": "Spend ($)",
              "aggregation": "sum"
            },
            {
              "field": "Clicks",
              "aggregation": "sum"
            },
            {
              "field": "Conversions",
              "aggregation": "sum"
            }
          ]
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "48415cdd-5bd3-4fbd-ba44-0b873c7056f5",
      "name": "Somme des canaux1",
      "type": "n8n-nodes-base.summarize",
      "position": [
        -464,
        1248
      ],
      "parameters": {
        "options": {},
        "fieldsToSplitBy": "Channel",
        "fieldsToSummarize": {
          "values": [
            {
              "field": "Spend ($)",
              "aggregation": "sum"
            },
            {
              "field": "Clicks",
              "aggregation": "sum"
            },
            {
              "field": "Conversions",
              "aggregation": "sum"
            }
          ]
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "1c122f43-0f9e-4100-92bc-93ae78985625",
      "name": "Note adhésive6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1216,
        784
      ],
      "parameters": {
        "color": 7,
        "width": 1436,
        "height": 848,
        "content": "## 📊 Create Automatic Pivot Tables in Google Sheets with n8n"
      },
      "typeVersion": 1
    },
    {
      "id": "f5a176e6-0ee9-41b5-beee-0e2b930ccd73",
      "name": "Obtenir les données de Google",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -896,
        1456
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 365710158,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1UDWt0-Z9fHqwnSNfU3vvhSoYCFG6EG3E-ZewJC_CLq4/edit#gid=365710158",
          "cachedResultName": "Data"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1UDWt0-Z9fHqwnSNfU3vvhSoYCFG6EG3E-ZewJC_CLq4",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1UDWt0-Z9fHqwnSNfU3vvhSoYCFG6EG3E-ZewJC_CLq4/edit?usp=drivesdk",
          "cachedResultName": "Sample Marketing Data - n8n"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "HlBW2puZbuCCq8jJ",
          "name": "Google Sheets account 3"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "523a8a2b-9bdf-4afd-9361-6c41f88a8616",
      "name": "Effeuille Campagne1",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -832,
        848
      ],
      "parameters": {
        "operation": "clear",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 505010778,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1lUEY6kPQbXizbmszLLNUJ_pBfGIKd75hu4uHj0vGRZQ/edit#gid=505010778",
          "cachedResultName": "Campaign Pivot"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1lUEY6kPQbXizbmszLLNUJ_pBfGIKd75hu4uHj0vGRZQ",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1lUEY6kPQbXizbmszLLNUJ_pBfGIKd75hu4uHj0vGRZQ/edit?usp=drivesdk",
          "cachedResultName": "Sample Marketing Data - Pivot Tables"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "HlBW2puZbuCCq8jJ",
          "name": "Google Sheets account 3"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "7fd3cee0-0318-428c-a8ce-c3a952cb46b8",
      "name": "Effeuille Canal",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -816,
        1040
      ],
      "parameters": {
        "operation": "clear",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 335973986,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1lUEY6kPQbXizbmszLLNUJ_pBfGIKd75hu4uHj0vGRZQ/edit#gid=335973986",
          "cachedResultName": "Channel Pivot"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1lUEY6kPQbXizbmszLLNUJ_pBfGIKd75hu4uHj0vGRZQ",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1lUEY6kPQbXizbmszLLNUJ_pBfGIKd75hu4uHj0vGRZQ/edit?usp=drivesdk",
          "cachedResultName": "Sample Marketing Data - Pivot Tables"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "HlBW2puZbuCCq8jJ",
          "name": "Google Sheets account 3"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "80f4d3ff-f6dd-4a5f-92e5-bf3c5cb36ee6",
      "name": "Créer le tableau croisé dynamique Campagne",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -208,
        1072
      ],
      "parameters": {
        "columns": {
          "value": {},
          "schema": [
            {
              "id": "sum_Spend_($)",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "sum_Spend_($)",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "sum_Clicks",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "sum_Clicks",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "sum_Conversions",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "sum_Conversions",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Campaign",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Campaign",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "autoMapInputData",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 505010778,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1lUEY6kPQbXizbmszLLNUJ_pBfGIKd75hu4uHj0vGRZQ/edit#gid=505010778",
          "cachedResultName": "Campaign Pivot"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1lUEY6kPQbXizbmszLLNUJ_pBfGIKd75hu4uHj0vGRZQ",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1lUEY6kPQbXizbmszLLNUJ_pBfGIKd75hu4uHj0vGRZQ/edit?usp=drivesdk",
          "cachedResultName": "Sample Marketing Data - Pivot Tables"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "HlBW2puZbuCCq8jJ",
          "name": "Google Sheets account 3"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "ca072d34-43b2-4df0-9e38-dc1453268fe9",
      "name": "Créer le tableau croisé dynamique Canal",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -224,
        1264
      ],
      "parameters": {
        "columns": {
          "value": {},
          "schema": [
            {
              "id": "sum_Spend_($)",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "sum_Spend_($)",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "sum_Clicks",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "sum_Clicks",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "sum_Conversions",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "sum_Conversions",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Channel",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Channel",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "autoMapInputData",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 335973986,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1lUEY6kPQbXizbmszLLNUJ_pBfGIKd75hu4uHj0vGRZQ/edit#gid=335973986",
          "cachedResultName": "Channel Pivot"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1lUEY6kPQbXizbmszLLNUJ_pBfGIKd75hu4uHj0vGRZQ",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1lUEY6kPQbXizbmszLLNUJ_pBfGIKd75hu4uHj0vGRZQ/edit?usp=drivesdk",
          "cachedResultName": "Sample Marketing Data - Pivot Tables"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "HlBW2puZbuCCq8jJ",
          "name": "Google Sheets account 3"
        }
      },
      "typeVersion": 4.7
    }
  ],
  "pinData": {},
  "connections": {
    "48415cdd-5bd3-4fbd-ba44-0b873c7056f5": {
      "main": [
        [
          {
            "node": "ca072d34-43b2-4df0-9e38-dc1453268fe9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "07bc087a-adc5-4094-8236-bf3c90dfc7db": {
      "main": [
        [
          {
            "node": "f5a176e6-0ee9-41b5-beee-0e2b930ccd73",
            "type": "main",
            "index": 0
          },
          {
            "node": "523a8a2b-9bdf-4afd-9361-6c41f88a8616",
            "type": "main",
            "index": 0
          },
          {
            "node": "7fd3cee0-0318-428c-a8ce-c3a952cb46b8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "1c9b0c94-9256-4afe-b852-03ba2201d651": {
      "main": [
        [
          {
            "node": "80f4d3ff-f6dd-4a5f-92e5-bf3c5cb36ee6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f5a176e6-0ee9-41b5-beee-0e2b930ccd73": {
      "main": [
        [
          {
            "node": "1c9b0c94-9256-4afe-b852-03ba2201d651",
            "type": "main",
            "index": 0
          },
          {
            "node": "48415cdd-5bd3-4fbd-ba44-0b873c7056f5",
            "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é ?

Intermédiaire

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.

Workflows recommandés

Agrégation des données de dépenses marketing dans Google Sheets à l'aide de tableaux croisés dynamiques personnalisés et de VLOOKUP
Agrégation des données de dépenses marketing avec tableaux croisés dynamiques personnalisés et VLOOKUP dans Google Sheets
Merge
Summarize
Google Sheets
+
Merge
Summarize
Google Sheets
10 NœudsRobert Breen
Extraction de documents
Rapport automatisé des performances marketing par e-mail
Génération automatique de rapports de performance marketing par e-mail avec Google Sheets et Outlook
Merge
Summarize
Google Sheets
+
Merge
Summarize
Google Sheets
13 NœudsRobert Breen
Extraction de documents
Débutant en analyse de données : fusion, filtrage et résumé dans Google Sheets avec GPT-4o
Analyse de données pour débutants : fusion, filtrage et résumé dans Google Sheets avec GPT-4o
If
Set
Code
+
If
Set
Code
21 NœudsRobert Breen
Extraction de documents
Suivi quotidien des dépenses publicitaires : Google Sheets et alertes de seuil Slack
Suivi des dépenses publicitaires quotidiennes avec Google Sheets et alertes de seuil Slack
If
Set
Code
+
If
Set
Code
13 NœudsRobert Breen
Création de contenu
Extraction de contacts d'entreprises locales en utilisant Google Sheets, SerpAPI, Apify et GPT-4o
Extraire les contacts d'entreprises locales avec Google Sheets, SerpAPI, Apify et GPT-4o
Code
Filter
Summarize
+
Code
Filter
Summarize
18 NœudsRobert Breen
Génération de leads
Utiliser Google Sheets, GPT-4o et les e-mails pour générer un rapport de ROI de campagne marketing
Générer des rapports de ROI de campagne marketing avec Google Sheets, GPT-4o et e-mail
Code
Merge
Aggregate
+
Code
Merge
Aggregate
16 NœudsRobert Breen
Résumé IA
Informations sur le workflow
Niveau de difficulté
Intermédiaire
Nombre de nœuds12
Catégorie-
Types de nœuds4
Description de la difficulté

Adapté aux utilisateurs expérimentés, avec des workflows de complexité moyenne contenant 6-15 nœuds

Auteur
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.

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34