How to Get Google Ads Lead Forms to Google Sheets and Get Notified via Email?

Google has recently released a new extension type called “Lead form extensions”. The new extension allows your customers to submit contact forms directly from the search engine without having to visit your page. This is a great addition to the extension portfolio especially for the service oriented businesses. This article will help you automate processing of these leads into Google Sheets and have them sent in an email. 

Check out this quick preview of what you’ll be able to do if you follow all the steps in this article:

In case you are not familiar with Google Leads, this is how they look in the Google Ads UI:


This is how the Lead form extension appears in SERP:




Google Leads to Google Sheets - 2 - Lead form 1

This is what your customers see after tapping the extension:

Google Leads to Google Sheets - 3 - Lead form preview

The Problem

The problem is that by default, Google Ads let you download your leads via a CSV file which you have to obtain manually in the Google Ads UI.  This is not convenient at all. Also, you don’t really know when a new Google lead arrives so your intake team can go ahead and contact the leads within minutes. And minutes matter in the super-competitive verticals.

In an ideal world:

  1. You want to be notified immediately when a new lead arrives.
  2. You’ll probably also want to send the Google leads to a Google Sheet.
  3. And more advanced users are probably already thinking about sending the Google leads directly to a CRM via API.

Let me tell you right away, all 1-3 scenarios from the above are POSSIBLE even today.

The Solution

The solution is simpler than you think, you don’t really have to have any serious coding skills. You just need to build a scenario in an automation tool called Integromat. Integromat is a more advanced but less known alternative to IFTTT or to Zapier.

By the end of this articles you will be able to create a scenario like this:

Google Leads to Google Sheets - 4 - Integromat Scenario

This is what my scenario does:

  1. User submits a lead form by filling out your Lead form extension in SERP
  2. A webhook receives the lead information from Google Ads
  3. We parse out Full Name, Email, and Phone number of the customer. Optionally, you can parse out more information from the metadata.
  4. Then you send Full Name, Email, Phone number as a new row to a Google Sheet
  5. Then you get a notification via email that a new lead was collected.
  6. And finally, my scenario also makes a HTTP POST request to a CRM system – new customer is automatically created so the intake team can take it from there

The Setup Process

As the very first step, you need to create an Integromat account. Don’t worry, there is a free tier which you can use for testing. Once you run out of your free operations, you should be OK with $10/month plan. That’s what I’m using.

Once you do that, you need to create a new scenario. You are looking for “Webhooks”. Select Webhooks and click “Continue” in the upper right column:

The Webhook


Then you’ll get to your “scenario page” which will be completely blank. At the bottom, click the Webhook symbol and a small menu will open on the top of the symbol. Select “Custom webhook”:


A big Webhook module will be added into your scenario. Doubleclick it to open and click the “Add” button. Type a name of your webhook (does not really matter what it is) and leave the IP restriction field blank. Click Save:
Google Leads to Google Sheets - 7 - Webhook Config


Your webhook URL will be created. Click “Copy address to clipboard” and go to Google Ads now.

Google Leads to Google Sheets - 8 - Webhook Created

In Google Ads, go to extension section and add a new Lead form extension. Fill out all your messaging – descriptions, headlines, business name.

Now the cool part starts.

Scroll down to the “Lead delivery option” section, expand it and paste the webhook URL from Integromat into “Webhook URL” field in Google Ads:
Google Leads to Google Sheets - 9 - Google Ads with a Webhook URL

Now, go back to Integromat and drag the clock over to the Webhook module (it will start looking as a thunder) , then right click the ? module and select “Delete module”.

Google Leads to Google Sheets -10 - Integromat with Webhook Only

You should end up with this view. Press the “Run once” button. At this point, the webhook will start “listening for the information” from Google Ads:

Google Leads to Google Sheets -11 - Webhook Ready

Now go back to Google Ads and press “SEND TEST DATA” button in the configuration of your lead form:

Google Leads to Google Sheets -12 - Send Test Data

Then go back to Integromat and you should see the received data. Click the cloud icon and expand the received data by clicking all the + signs:
Google Leads to Google Sheets -13 - Received Data

We can see that Google Ads indeed sent us a test lead 🙂

Now it’s time to parse the data, send it to a Google Sheet, send it as an email, and optionally post it to a CRM system.


Parsing the Received Data

In this part, we’ll create 3 variables from the received data:

  1. Name
  2. Email
  3. Phone

Google Leads to Google Sheets -14 - Variables

In order to do that, we need to use “Set variable” module, click the tool icon at the bottom and choose “Set Variable”:

The”Variable value” field needs to look like this for then “Name” variable:

get(1.user_column_data[]; 1.string_value)

1.user_column_data[] needs to be “dragged” form the suggestion list on the right side. Don’t type it – it won’t work.

Basically, by this formula we tell Integromat to:

  1. Look at the received data, more specifically into user column_data[]
  2. Go into the 1st collection (the 1 part in the formula)
  3. And give me the value of “string_value” – and that’s the name we are after. (the .string_value in the formula).

Set the Variable name as “Name”.

Google Leads to Google Sheets -16 - Variable Values

Now you can, a) Run Once the scenario; b) go back to Google Ads and you can try sending the test data again. If you did everything correctly, you should see this:

Google Leads to Google Sheets -17 - Parsed Name

Yaay… You’ve successfully parsed the name. Now repeat the procedure with Email and Phone. Hints:

  • get(1.user_column_data[]; 2.string_value)
  • get(1.user_column_data[]; 3.string_value)

You should end up with this when you are done with setting the variables:
Google Leads to Google Sheets -18 - Variables Defined

Again, you can run the scenario and send the test data from Google Ads to make sure you did everything correctly.

Tip: When you right click the module icon, you can rename to say e. g. “Name” instead of “Set a variable”.


Inserting Google Ads Form Data into a Google Sheet

Before you we add more steps into our Integromat scenario, we need to create a Google Sheet with these columns:

Date Time | Lead ID | Name | Phone | Email | Form ID | Campaign ID | Google Key | Is Test

Sample is here:

Now, go back to Integromat and add Google Sheets Module > Add a Row:
Google Leads to Google Sheets -19 - Add a Row

And then configure the module. Basically, you just drag’n’drop all the variables into the correct column. Use common sense. The only exception is the first column “Date Time” – you need to use “now” function provided by Integromat. In the suggestion window were all the variables and functions appear, go to the calendar tab and find the “now” function there.

Now you can “Run once” the scenario and send the test data from Google Ads again. If you did everything right, you should see test values coming in the Google Sheets:

Sending Google Form Leads by Gmail

The last step in our scenario will be the Gmail module. Not only we want to drop our leads into Google Sheets, we want to also send them via email as soon as they come. As you are probably guessing right now, we just need to add the Gmail module>Send an email:
Google Leads to Google Sheets -21 - Send Email

Configure it as you wish – you probably don’t have to use all the variables for the email:
Google Leads to Google Sheets -22 - Setup Gmail Module

You might be wondering what’s the google_key variable. It’s a static value you can set up in the Google Ads below the webhook address – just watch my video below. You can use this field to better identify the lead e. g. with a campaign group name (e. g. Christmas 2019) if your form is used only with specific campaigns or you can just type the account name. This value can help the person who is processing the leads to be better prepared before calling the lead.

This is the finalized scenario:

And in Integromat:

Google Leads to Google Sheets - 24 - Final

Beautiful isn’t it? 🙂

For Advanced Users – Sending the Leads Directly into a CRM System

So Google Sheets are nice, so is the Gmail notification. But what if you wanted to send the forms directly to your CRM system? If your CRM has an API or is able to receive HTTP requests then it should be possible. However, the solution of this problem greatly depends on your CRM and I cannot provide a scenario which will work for everybody. I will at least show you “HTTP POST” module configuration in one of my scenarios:
Google Leads to Google Sheets - 23 - Setup Gmail Module


Being able react to incoming Google leads quickly is the first step to generating conversions. This easy integration of Google Ads with Google Sheets and Gmail run through Integromat reduces the wait time to zero. If you are a freelancer running campaigns which generate leads, this scenario is a must-have for you and I’m pretty sure your clients will appreciate it 🙂


Disclaimer: if you end up paying for Integromat, I may receive a commission since I am an affiliate for them.





2 thoughts on “How to Get Google Ads Lead Forms to Google Sheets and Get Notified via Email?

  1. Thank you very much. Just forgot to ACTIVATE the Webhook. 🙂

    Amazing! Thanks for sharing this step-by-step for integrating Google Lead Ads to Google Sheets

Leave a Reply

Your email address will not be published. Required fields are marked *