{"id":3471,"date":"2025-12-18T21:34:22","date_gmt":"2025-12-18T20:34:22","guid":{"rendered":"https:\/\/www.suisseo.ch\/en\/?p=3471"},"modified":"2026-01-23T23:20:39","modified_gmt":"2026-01-23T22:20:39","slug":"get-instant-email-notifications-for-google-ads-lead-forms-store-them-in-google-sheets","status":"publish","type":"post","link":"https:\/\/www.suisseo.ch\/en\/blog\/get-instant-email-notifications-for-google-ads-lead-forms-store-them-in-google-sheets\/","title":{"rendered":"Get Instant Email Notifications for Google Ads Lead Forms & Store Them in Google Sheets"},"content":{"rendered":"

If you use Google Ads Lead Form assets<\/strong>, you know how frustrating it is:
you have to manually log in every day to download a CSV file. Meanwhile, your leads are waiting\u2026 and cooling down.<\/p>\n

Today, thanks to Laure’s<\/a><\/strong> idea and code written with the help of Gemini, we\u2019re offering a 100% free, scalable solution<\/b>: a single script capable of managing all your forms<\/b>, which instantly sends your leads to Google Sheets and alerts you by email.<\/p>\n


\n

Step 1: Get the Google Sheets Template<\/h2>\n

Click the link below to create a private copy of the dashboard in your own Google Drive.<\/p>\n

👉 CLICK HERE TO COPY THE TEMPLATE<\/strong><\/a><\/p>\n

This document appears empty, but it contains the necessary script under the hood.<\/p>\n


\n

Step 2: Configure Email Notifications<\/h2>\n

Once your copy is open, we simply need to tell the script where to send notifications.<\/p>\n

    \n
  1. \n

    Go to Extensions > Apps Script<\/strong>.<\/p>\n<\/li>\n

  2. \n

    In the editor that opens, edit line 8<\/strong>:
    replace your-email@example.com<\/code> with your own email address.<\/p>\n<\/li>\n

  3. \n

    Click the Save<\/strong> (disk icon).<\/p>\n<\/li>\n<\/ol>\n


    \n

    Step 3: Deploy & Authorize<\/h2>\n

    This step generates the bridge between Google and your Sheet.<\/p>\n

      \n
    1. \n

      Click the blue Deploy<\/b> button (top right) > New deployment<\/b>.<\/p>\n<\/li>\n

    2. \n

      Click the gear icon ⚙️ and select Web App<\/b>.<\/p>\n<\/li>\n

    3. \n

      Crucial Settings:<\/b><\/p>\n

        \n
      • \n

        Execute as:<\/b> Me<\/p>\n<\/li>\n

      • \n

        Who has access:<\/b> Anyone (Required for Google Ads to connect)<\/i><\/p>\n<\/li>\n<\/ul>\n<\/li>\n

      • \n

        Click Deploy<\/b>.<\/p>\n<\/li>\n

      • \n

        Authorize the script:<\/b> Google will ask for permission. Click “Review Permissions” > Choose account > “Advanced” > “Go to (unsafe)” > Allow.<\/p>\n<\/li>\n

      • \n

        Copy the Web App URL<\/b> that appears.<\/p>\n<\/li>\n<\/ol>\n


        \n

        Step 4: Connect Google Ads<\/h2>\n

        Now it\u2019s time to link everything to your campaigns:<\/p>\n

          \n
        1. \n

          Open your Lead Form asset<\/strong> in Google Ads.<\/p>\n<\/li>\n

        2. \n

          Scroll down to the “Export leads from Google Ads”<\/strong>\u00a0section.<\/p>\n

          <\/li>\n

        3. \n

          Select Webhook<\/strong>.<\/p>\n<\/li>\n

        4. \n

          Paste the URL you just copied.<\/p>\n<\/li>\n

        5. \n

          In the “Key” field:<\/b> Type the name of your form (e.g., “Pool Quote”).<\/p>\n

            \n
          • \n

            This name will appear in your email alerts and your Sheet!<\/i><\/p>\n<\/li>\n<\/ul>\n<\/li>\n

          • \n

            Click Send test data<\/strong>.<\/p>\n<\/li>\n<\/ol>\n


            \n

            The Result<\/h2>\n

            If you go back to your Google Sheet, you\u2019ll see a test row appear instantly.
            You\u2019ll also receive a structured email with the lead\u2019s details and a button to call them directly.<\/p>\n

            If the test works, don’t forget to Save<\/b> your changes in Google Ads!<\/i><\/p>\n


            \n

            Why Use This Method?<\/h3>\n
              \n
            • \n

              Speed:<\/b> Call your leads back in under 2 minutes.<\/p>\n<\/li>\n

            • \n

              Free:<\/b> No Zapier, Make, or third-party licenses required.<\/p>\n<\/li>\n

            • \n

              Clean:<\/b> All data is centralized, including the GCLID for offline conversion tracking.<\/p>\n<\/li>\n

            • \n

              One Webhook for your entire account:<\/b> You can use the exact same URL for 1, 5, or 50 different forms. The script uses the Google Ads “Key” field to automatically identify where the lead came from.<\/p>\n<\/li>\n

            • \n

              Auto-Adaptive Columns:<\/b> If your first form asks for “Email” and your second form asks for “Pool Size,” the script will automatically create the new column in your Google Sheet without you lifting a finger.<\/p>\n<\/li>\n

            • \n

              Zero Maintenance:<\/b> Did you add a question to your form? The script will adapt automatically to the next incoming lead.<\/p>\n<\/li>\n<\/ul>\n

              💡 Pro Tip:<\/b> If you modify the code later (e.g., to change the email recipient), do not<\/b> create a new deployment. Instead, go to Deploy > Manage deployments<\/b>, click the pencil icon ✏️, select “New Version”<\/b> from the dropdown, and click Deploy<\/b>. The URL will stay the same, so you won’t need to touch anything in Google Ads!<\/p>\n

              🔒 Option: Secure the Script (Advanced)<\/h4>\n

              By default, your Webhook URL acts as your “password” (it is impossible to guess). However, if you want maximum security:<\/p>\n

                \n
              1. \n

                In the script (line 15<\/b>), add a secret code: var EXPECTED_SECRET = \"MySecretPassword\";<\/code><\/p>\n<\/li>\n

              2. \n

                In Google Ads (Step 4<\/b>), the Key<\/b> format changes. You must type: Form Name|MySecretPassword<\/code>. (The |<\/code> symbol acts as a separator. If the password doesn’t match, the lead is blocked).<\/i><\/p>\n<\/li>\n<\/ol>\n

                For those who want to inspect the code or customize it (e.g., to send data directly to a CRM), here is the full script:<\/p>\n