This workflow corresponds to n8n.io template #7588 — we link there as the canonical source.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"meta": {
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "07bc087a-adc5-4094-8236-bf3c90dfc7db",
"name": "Start Workflow",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-1088,
976
],
"parameters": {},
"typeVersion": 1
},
{
"id": "d9c83a60-1d84-4c57-a331-fff2f60bdddc",
"name": "Sticky Note3",
"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### \u2705 Step 1: Connect Google Sheets\n\n1. In n8n, go to **Credentials** \u2192 click **New Credential**\n2. Select **Google Sheets OAuth2 API**\n3. Log in with your Google account and authorize access\n4. Use this sheet: [\ud83d\udcc4 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### \ud83d\udcec Need Help?\n\nFeel free to reach out:\n\n- \ud83d\udce7 robert@ynteractive.com \n- \ud83d\udd17 [LinkedIn](https://www.linkedin.com/in/robert-breen-29429625/)\n"
},
"typeVersion": 1
},
{
"id": "7bcd7fa0-c6ef-453d-85a1-e7dd51785e2e",
"name": "Sticky Note4",
"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": "Sticky Note11",
"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": "Sum Campaigns1",
"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": "Sum Channels1",
"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": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1216,
784
],
"parameters": {
"color": 7,
"width": 1436,
"height": 848,
"content": "## \ud83d\udcca Create Automatic Pivot Tables in Google Sheets with n8n"
},
"typeVersion": 1
},
{
"id": "f5a176e6-0ee9-41b5-beee-0e2b930ccd73",
"name": "Get Data From 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": {
"name": "<your credential>"
}
},
"typeVersion": 4.7
},
{
"id": "523a8a2b-9bdf-4afd-9361-6c41f88a8616",
"name": "Clear Campaign Sheet1",
"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": {
"name": "<your credential>"
}
},
"typeVersion": 4.7
},
{
"id": "7fd3cee0-0318-428c-a8ce-c3a952cb46b8",
"name": "Clear Channel Sheet",
"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": {
"name": "<your credential>"
}
},
"typeVersion": 4.7
},
{
"id": "80f4d3ff-f6dd-4a5f-92e5-bf3c5cb36ee6",
"name": "Create Campaign Pivot Table",
"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": {
"name": "<your credential>"
}
},
"typeVersion": 4.7
},
{
"id": "ca072d34-43b2-4df0-9e38-dc1453268fe9",
"name": "Create Channel Pivot Table",
"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": {
"name": "<your credential>"
}
},
"typeVersion": 4.7
}
],
"connections": {
"Sum Channels1": {
"main": [
[
{
"node": "Create Channel Pivot Table",
"type": "main",
"index": 0
}
]
]
},
"Start Workflow": {
"main": [
[
{
"node": "Get Data From Google",
"type": "main",
"index": 0
},
{
"node": "Clear Campaign Sheet1",
"type": "main",
"index": 0
},
{
"node": "Clear Channel Sheet",
"type": "main",
"index": 0
}
]
]
},
"Sum Campaigns1": {
"main": [
[
{
"node": "Create Campaign Pivot Table",
"type": "main",
"index": 0
}
]
]
},
"Get Data From Google": {
"main": [
[
{
"node": "Sum Campaigns1",
"type": "main",
"index": 0
},
{
"node": "Sum Channels1",
"type": "main",
"index": 0
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
googleSheetsOAuth2Api
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This n8n workflow pulls campaign data from Google Sheets and creates two pivot tables automatically each time it runs. In n8n, go to Credentials → click New Credential Select Google Sheets OAuth2 API Log in with your Google account and authorize access Use this sheet: 📄 Campaign…
Source: https://n8n.io/workflows/7588/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
This guide will walk you through setting up your n8n workflow. By the end, you'll have a fully automated system for managing your recruitment pipeline.
Batch_Call. Uses googleDrive, httpRequest, stopAndError, googleSheets. Event-driven trigger; 28 nodes.
This n8n workflow automatically generates TikTok/Reels-ready talking head videos from scratch. You provide a topic and intention, and the workflow handles everything: scriptwriting, avatar generation,
This template is only compatible with a self-hosted n8n instance using a community node.
This n8n workflow lets you control access to your internal Telegram bots and automation systems based on user roles and departments. It ensures that only authorized team members — defined in your empl