{
  "id": "AJCFkuIkFN45QXA4",
  "meta": {
    "instanceId": "18b0d04ad5030054be4ab49562e84ea4a079ab4cb036003697394140227c7e76",
    "templateId": "2613",
    "templateCredsSetupCompleted": true
  },
  "name": "Export Google Search Console Data to Airtable Automatically",
  "tags": [],
  "nodes": [
    {
      "id": "8e3f167d-cbeb-4f7f-a867-c356d2dca9d0",
      "name": "Split Out",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        1968,
        416
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "rows"
      },
      "typeVersion": 1
    },
    {
      "id": "19370d12-f6de-44a1-91a6-da097abdf7de",
      "name": "Edit Fields",
      "type": "n8n-nodes-base.set",
      "position": [
        2192,
        416
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "7343c80f-37f3-4bb5-84d8-9f21f8a350cd",
              "name": "Keyword",
              "type": "string",
              "value": "={{ $json.keys[0] }}"
            },
            {
              "id": "436e7c8b-2df2-40a9-97af-597dc00cf143",
              "name": "clicks",
              "type": "number",
              "value": "={{ $json.clicks }}"
            },
            {
              "id": "5b4aaffe-391a-4c9d-8249-f447397a3f5d",
              "name": "impressions",
              "type": "number",
              "value": "={{ $json.impressions }}"
            },
            {
              "id": "33677237-57fe-48f4-aff8-72ae81b5f5a2",
              "name": "ctr",
              "type": "number",
              "value": "={{ $json.ctr }}"
            },
            {
              "id": "f961deee-d222-4df7-a7ff-b7286405e4a7",
              "name": "position",
              "type": "number",
              "value": "={{ $json.position }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "9eae4908-5266-439c-a66b-5679036234de",
      "name": "Split Out1",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        1968,
        544
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "rows"
      },
      "typeVersion": 1
    },
    {
      "id": "b05926b1-507f-4531-a05c-a15e835ee82e",
      "name": "Edit Fields1",
      "type": "n8n-nodes-base.set",
      "position": [
        2192,
        544
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "7343c80f-37f3-4bb5-84d8-9f21f8a350cd",
              "name": "page",
              "type": "string",
              "value": "={{ $json.keys[0] }}"
            },
            {
              "id": "436e7c8b-2df2-40a9-97af-597dc00cf143",
              "name": "clicks",
              "type": "number",
              "value": "={{ $json.clicks }}"
            },
            {
              "id": "5b4aaffe-391a-4c9d-8249-f447397a3f5d",
              "name": "impressions",
              "type": "number",
              "value": "={{ $json.impressions }}"
            },
            {
              "id": "33677237-57fe-48f4-aff8-72ae81b5f5a2",
              "name": "ctr",
              "type": "number",
              "value": "={{ $json.ctr }}"
            },
            {
              "id": "f961deee-d222-4df7-a7ff-b7286405e4a7",
              "name": "position",
              "type": "number",
              "value": "={{ $json.position }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "42321587-2565-4a0a-9d9d-25cbfdeb9f49",
      "name": "Split Out2",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        1968,
        672
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "rows"
      },
      "typeVersion": 1
    },
    {
      "id": "9e25eef9-daa4-47dd-b2cf-03cfebadb5c6",
      "name": "Edit Fields2",
      "type": "n8n-nodes-base.set",
      "position": [
        2192,
        672
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "7343c80f-37f3-4bb5-84d8-9f21f8a350cd",
              "name": "date",
              "type": "string",
              "value": "={{ $json.keys[0] }}"
            },
            {
              "id": "436e7c8b-2df2-40a9-97af-597dc00cf143",
              "name": "clicks",
              "type": "number",
              "value": "={{ $json.clicks }}"
            },
            {
              "id": "5b4aaffe-391a-4c9d-8249-f447397a3f5d",
              "name": "impressions",
              "type": "number",
              "value": "={{ $json.impressions }}"
            },
            {
              "id": "33677237-57fe-48f4-aff8-72ae81b5f5a2",
              "name": "ctr",
              "type": "number",
              "value": "={{ $json.ctr }}"
            },
            {
              "id": "f961deee-d222-4df7-a7ff-b7286405e4a7",
              "name": "position",
              "type": "number",
              "value": "={{ $json.position }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "e8f1ab65-9594-45e7-ba9e-7873bd53a107",
      "name": "date",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1744,
        672
      ],
      "parameters": {
        "url": "=https://www.googleapis.com/webmasters/v3/sites/sc-domain:{{$json.domain}}/searchAnalytics/query",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"startDate\": \"{{ $now.format('yyyy-MM-dd') }}\",\n  \"endDate\": \"{{ $now.minus($json.days, 'days').format('yyyy-MM-dd') }}\",\n  \"dimensions\": [\"date\"]\n}",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "googleOAuth2Api"
      },
      "credentials": {
        "googleOAuth2Api": {
          "id": "credential-id",
          "name": "googleOAuth2Api Credential"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "d3bbf719-9524-4269-8c26-0eb7599add55",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        1072,
        608
      ],
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "092645b2-9e75-4ff0-8d33-4a3acadac789",
      "name": "Set your domain",
      "type": "n8n-nodes-base.set",
      "position": [
        1360,
        608
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "6f74dee0-3789-433e-b60e-ed2a05202675",
              "name": "domain",
              "type": "string",
              "value": "funautomations.io"
            },
            {
              "id": "8c73135e-9d39-4f66-821d-7decb3c64085",
              "name": "days",
              "type": "number",
              "value": 30
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "0b04b552-e484-417b-9a7e-a90d477dd45a",
      "name": "Get query Report",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1744,
        416
      ],
      "parameters": {
        "url": "=https://www.googleapis.com/webmasters/v3/sites/sc-domain:{{$json.domain}}/searchAnalytics/query",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"startDate\": \"{{ $now.format('yyyy-MM-dd') }}\",\n  \"endDate\": \"{{ $now.minus($json.days, 'days').format('yyyy-MM-dd') }}\",\n  \"dimensions\": [\"query\"]\n}",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "googleOAuth2Api"
      },
      "credentials": {
        "googleOAuth2Api": {
          "id": "credential-id",
          "name": "googleOAuth2Api Credential"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "9f9f2be7-1301-4c91-8da1-86eab5725683",
      "name": "Get Page Report",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1744,
        544
      ],
      "parameters": {
        "url": "=https://www.googleapis.com/webmasters/v3/sites/sc-domain:{{$json.domain}}/searchAnalytics/query",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"startDate\": \"{{ $now.format('yyyy-MM-dd') }}\",\n  \"endDate\": \"{{ $now.minus($json.days, 'days').format('yyyy-MM-dd') }}\",\n  \"dimensions\": [\"page\"]\n}",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "googleOAuth2Api"
      },
      "credentials": {
        "googleOAuth2Api": {
          "id": "credential-id",
          "name": "googleOAuth2Api Credential"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "d2b91103-2fb1-429c-9d90-50f92f3d6a42",
      "name": "Create a record",
      "type": "n8n-nodes-base.airtable",
      "position": [
        2512,
        416
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appzCPTyUrpA1fXpf",
          "cachedResultUrl": "https://airtable.com/appzCPTyUrpA1fXpf",
          "cachedResultName": "Search Console Reports"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblK0ZkihGpOc7ADu",
          "cachedResultUrl": "https://airtable.com/appzCPTyUrpA1fXpf/tblK0ZkihGpOc7ADu",
          "cachedResultName": "Queries"
        },
        "columns": {
          "value": {
            "ctr": "={{ $json.ctr }}",
            "clicks": "={{ $json.clicks }}",
            "Keyword": "={{ $json.Keyword }}",
            "position": "={{ $json.position }}",
            "impressions": "={{ $json.impressions }}"
          },
          "schema": [
            {
              "id": "Keyword",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Keyword",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "clicks",
              "type": "number",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "clicks",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "impressions",
              "type": "number",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "impressions",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "ctr",
              "type": "number",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "ctr",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "position",
              "type": "number",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "position",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "create"
      },
      "credentials": {
        "airtableTokenApi": {
          "id": "credential-id",
          "name": "airtableTokenApi Credential"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "7ea7d226-ba6c-4f08-b6f6-fda31185cbbb",
      "name": "Create a record1",
      "type": "n8n-nodes-base.airtable",
      "position": [
        2512,
        544
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appzCPTyUrpA1fXpf",
          "cachedResultUrl": "https://airtable.com/appzCPTyUrpA1fXpf",
          "cachedResultName": "Search Console Reports"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblA6tGocjen8W0iN",
          "cachedResultUrl": "https://airtable.com/appzCPTyUrpA1fXpf/tblA6tGocjen8W0iN",
          "cachedResultName": "Pages"
        },
        "columns": {
          "value": {
            "ctr": "={{ $json.ctr }}",
            "page": "={{ $json.keys[0] }}",
            "clicks": "={{ $json.clicks }}",
            "position": "={{ $json.position }}",
            "impressions": "={{ $json.impressions }}"
          },
          "schema": [
            {
              "id": "page",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "page",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "clicks",
              "type": "number",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "clicks",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "impressions",
              "type": "number",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "impressions",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "ctr",
              "type": "number",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "ctr",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "position",
              "type": "number",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "position",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "create"
      },
      "credentials": {
        "airtableTokenApi": {
          "id": "credential-id",
          "name": "airtableTokenApi Credential"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "fe31cb29-ae45-4fb0-a39e-c8fe337b4984",
      "name": "Create a record2",
      "type": "n8n-nodes-base.airtable",
      "position": [
        2512,
        672
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appzCPTyUrpA1fXpf",
          "cachedResultUrl": "https://airtable.com/appzCPTyUrpA1fXpf",
          "cachedResultName": "Search Console Reports"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblSJx4WuIm3feGGw",
          "cachedResultUrl": "https://airtable.com/appzCPTyUrpA1fXpf/tblSJx4WuIm3feGGw",
          "cachedResultName": "Dates"
        },
        "columns": {
          "value": {
            "ctr": "={{ $json.ctr }}",
            "date": "={{ $json.keys[0] }}",
            "clicks": "={{ $json.clicks }}",
            "position": "={{ $json.position }}",
            "impressions": "={{ $json.impressions }}"
          },
          "schema": [
            {
              "id": "date",
              "type": "dateTime",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "clicks",
              "type": "number",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "clicks",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "impressions",
              "type": "number",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "impressions",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "ctr",
              "type": "number",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "ctr",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "position",
              "type": "number",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "position",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "create"
      },
      "credentials": {
        "airtableTokenApi": {
          "id": "credential-id",
          "name": "airtableTokenApi Credential"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "e86d0696-7d10-4a76-8ba7-953862d65b1d",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        480,
        -432
      ],
      "parameters": {
        "width": 544,
        "height": 1216,
        "content": "# Export Google Search Console Data to Airtable Automatically  \n\n![automatiserdonneessearchconsoleairtable.png](1)\n\n*If you’ve ever downloaded CSV files from Google Search Console, opened them in Excel, cleaned the weird formatting, and pasted them into a sheet just to get a simple report… this workflow is made for you.*  \n\n\n\n## Who Is This Workflow For?  \n\nThis automation is perfect for:  \n- **SEO freelancers and consultants** → who want to track client performance without wasting time on manual exports.  \n- **Marketing teams** → who need fresh daily/weekly reports to check what keywords and pages are performing.  \n- **Website owners** → who just want a clean way to see how their site is doing without logging into Google Search Console every day.  \n\nBasically, if you care about SEO but don’t want to babysit CSV files, this workflow is your new best friend.  \n\n## What Does It Do?  \n\nHere’s the big picture:  \n1. It runs on a schedule (every day, or whenever you want).  \n2. It fetches data directly from the **Google Search Console API**.  \n3. It pulls 3 types of reports:  \n   - By **Query** (keywords people used).  \n   - By **Page** (URLs that ranked).  \n   - By **Date** (daily performance).  \n4. It splits and cleans the data so it’s human-friendly.  \n5. It saves everything into **Airtable**, organized in three tables.  \n\nEnd result: every time you open Airtable, you have a neat SEO database with clicks, impressions, CTR, and average position — no manual work required.  \n\n\n## Prerequisites  \n\nYou’ll need a few things to get started:  \n- Access to [Google Search Console](https://search.google.com/search-console).  \n- A [Google Cloud project](https://console.cloud.google.com/) with the Search Console API enabled.  \n- An [Airtable](https://airtable.com) account to store the data.  \n- An automation tool that can connect APIs (like the one we’re using here).  \n\nThat’s it!  "
      },
      "typeVersion": 1
    },
    {
      "id": "4eb3576c-7590-4d30-857b-da1632fcd074",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1024,
        96
      ],
      "parameters": {
        "height": 688,
        "content": "## Step 1: Schedule the Workflow  \n\nThe very first node in the workflow is the **Schedule Trigger**.  \n\n- **Why?** → So you don’t have to press “Run” every day.  \n- **What it does** → It starts the whole workflow at fixed times.  \n\nIn the JSON, you can configure things like:  \n- Run every day at a specific hour (e.g., 8 AM).  \n- Or run every X hours/minutes if you want more frequent updates.  \n\nThis is the alarm clock of your automation ⏰.  \n\n---"
      },
      "typeVersion": 1
    },
    {
      "id": "38400f18-ed3e-4f39-8424-77a631437b89",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1264,
        96
      ],
      "parameters": {
        "height": 688,
        "content": "## Step 2: Set Your Domain and Time Range  \n\nNext, we define the site and the time window for the report.  \n\nIn the JSON, there’s a **Set node** with two important parameters:  \n- `domain` → your website (example: `https://www.0vni.fr/`).  \n- `days` → how many days back you want the data (default: 30).  \n\n👉 Changing these two values updates the whole workflow. Super handy if you want 7-day reports instead of 30.  "
      },
      "typeVersion": 1
    },
    {
      "id": "0f72bcf5-f4c3-4617-9835-07163ebc381b",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1504,
        -272
      ],
      "parameters": {
        "width": 400,
        "height": 1056,
        "content": "## Step 3: Fetch Data from Google Search Console  \n\nThis is where the workflow talks to the API.  \nThere are **3 HTTP Request nodes**:  \n\n1. **Get Query Report**  \n   - Pulls data grouped by search queries (keywords).  \n   - Parameters in the JSON:  \n     - `startDate` = today - 30 days  \n     - `endDate` = today  \n     - `dimensions` = `\"query\"`  \n     - `rowLimit` = `25000` (maximum rows the API can return)  \n\n2. **Get Page Report**  \n   - Same idea, but grouped by page URLs.  \n   - Parameters:  \n     - `dimensions` = `\"page\"`  \n     - Same dates and row limit.  \n\n3. **Get Date Report**  \n   - This one groups performance by date.  \n   - Parameters:  \n     - `dimensions` = `\"date\"`  \n     - You get a day-by-day performance view.  \n\nEach request returns rows like this:  \n\n\n{\n  \"keys\": [\"example keyword\"],\n  \"clicks\": 42,\n  \"impressions\": 1000,\n  \"ctr\": 0.042,\n  \"position\": 8.5\n}"
      },
      "typeVersion": 1
    },
    {
      "id": "3b260edd-5a2f-4818-9ab9-40db86ad3e96",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1904,
        -272
      ],
      "parameters": {
        "width": 208,
        "height": 1056,
        "content": "## Step 4: Split the Data  \n\n\n\nThe API sends results in a big array (`rows`). That’s not very usable directly.  \n\nSo we add a **Split Out node** for each report.  \n\n**What it does**: breaks the array into single items → 1 item per keyword, per page, or per date.  \n\nThis way, each line can be saved individually into Airtable.  \n\n👉 Think of it like opening a bag of candy and laying each one neatly on the table 🍬.  \n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "f4834663-b817-41b0-82fe-9a1624908979",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2112,
        -272
      ],
      "parameters": {
        "width": 208,
        "height": 1056,
        "content": "## Step 5: Clean and Rename Fields  \n\nAfter splitting, we use **Edit Fields nodes** to make the data human-friendly.  \n\nFor example:  \n- In the **Query report** → rename `keys[0]` into `Keyword`.  \n- In the **Page report** → rename `keys[0]` into `page`.  \n- In the **Date report** → rename `keys[0]` into `date`.  \n\nThis is also where we keep only the useful fields:  \n- `Keyword` / `page` / `date`  \n- `clicks`  \n- `impressions`  \n- `ctr`  \n- `position`  "
      },
      "typeVersion": 1
    },
    {
      "id": "1c81b533-fecf-485f-9269-73fe2975f25d",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2320,
        -704
      ],
      "parameters": {
        "width": 464,
        "height": 1488,
        "content": "## Step 6: Save Everything into Airtable  \n\nFinally, the polished data is sent into Airtable.  \n\nIn the JSON, there are 3 Airtable nodes:  \n- **Queries table** → stores all the keywords.  \n- **Pages table** → stores all the URLs.  \n- **Dates table** → stores day-by-day metrics.  \n\nEach node is set to:  \n- **Operation** = `Create` → adds a new record.  \n- **Base** = `Search Console Reports`.  \n- **Table** = `Queries`, `Pages`, or `Dates`.  \n\n### Field Mapping  \n\nFor **Queries**:  \n- `Keyword` → `{{ $json.Keyword }}`  \n- `clicks` → `{{ $json.clicks }}`  \n- `impressions` → `{{ $json.impressions }}`  \n- `ctr` → `{{ $json.ctr }}`  \n- `position` → `{{ $json.position }}`  \n\n👉 Same logic for **Pages** and **Dates**, just replace `Keyword` with `page` or `date`.  \n\n---\n\n## Expected Output  \n\n\n\nEvery time this workflow runs:  \n- **Queries table** fills with fresh keyword performance data.  \n- **Pages table** shows how your URLs performed.  \n- **Dates table** tracks the evolution day by day.  \n\nIn Airtable, you now have a complete **SEO database** with no manual exports.  \n\n---\n\n## Why This Is Awesome  \n\n- 🚫 No more messy CSV exports.  \n- 📈 Data is always up-to-date.  \n- 🎛 You can build Airtable dashboards, filters, and interfaces.  \n- ⚙️ Easy to adapt → just change `domain` or `days` to customize.  \n\nAnd the best part? You can spend the time you saved on actual **SEO improvements** instead of spreadsheet gymnastics 💃.  \n"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {},
  "versionId": "3f8ec591-388b-45a3-afab-829b086b8fe2",
  "connections": {
    "date": {
      "main": [
        [
          {
            "node": "Split Out2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out": {
      "main": [
        [
          {
            "node": "Edit Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out1": {
      "main": [
        [
          {
            "node": "Edit Fields1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out2": {
      "main": [
        [
          {
            "node": "Edit Fields2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields": {
      "main": [
        [
          {
            "node": "Create a record",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields1": {
      "main": [
        [
          {
            "node": "Create a record1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields2": {
      "main": [
        [
          {
            "node": "Create a record2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Page Report": {
      "main": [
        [
          {
            "node": "Split Out1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set your domain": {
      "main": [
        [
          {
            "node": "Get query Report",
            "type": "main",
            "index": 0
          },
          {
            "node": "Get Page Report",
            "type": "main",
            "index": 0
          },
          {
            "node": "date",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get query Report": {
      "main": [
        [
          {
            "node": "Split Out",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Set your domain",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}