If you have already set up Meta lead ads, this will feel suspiciously short.
Meta sends you a notification and makes you go back and fetch the lead, which is why that setup needs an app, a use case, a system-user token and a publish step. Google just posts the whole lead to your endpoint. No OAuth, no token, no app, no review.
So the entire job is: generate one key in Kredoo, paste it into Google Ads with a URL. About ten minutes.
Before you start
- A Google Ads account with a Search or Display campaign, because lead forms attach to those.
- Admin access to that account.
- Google's lead form assets have their own eligibility requirements: a policy-compliant account and, in some regions, completed advertiser verification.
Which direction things move
Worth a moment, because it is the opposite of Meta.
With Meta you collect four credentials from Meta and paste them into Kredoo. With Google you mint two values in Kredoo and paste them into Google.
| Value | Get it from | Paste it into |
|---|---|---|
| Webhook URL | Kredoo → Automations → Google Ads → Configure | Google Ads → your lead form → Lead delivery options → Webhook → URL |
| Webhook Key | Same panel → Generate key | Same screen → Key |
That is the whole credential story. There is nothing else to collect.
1. Create the lead form
In Google Ads, open a campaign → Assets → + Asset → Lead form.
Add a headline, a description and your business name. Then, for the questions, use the standard fields so Kredoo reads them without any mapping:
| Google field | Becomes in Kredoo |
|---|---|
FULL_NAME |
Lead name |
PHONE_NUMBER |
Phone / WhatsApp |
EMAIL |
|
CITY |
City |
Custom questions are dropped unless you map them. Kredoo reads the four standard fields above automatically. Anything else needs a mapping at Automations → Google Ads → Field Mapping, or the answer silently vanishes, which is a particularly annoying thing to discover a month into a campaign.
2. Generate your webhook key in Kredoo
- Open Automations → Google Ads → Configure.
- In the green Direct Connect panel, press Generate key.
- Copy the Webhook URL and the Key.
The key is shown once. If you lose it, press Regenerate and update the value in Google Ads. Kredoo stores it encrypted and never displays it in full again.
3. Point Google at Kredoo
Back in your Google Ads lead form:
- Open Lead delivery options.
- Choose Webhook.
- Paste the Webhook URL into the URL field.
- Paste the Key into the Key field. Google sends it back with every lead so Kredoo can trust the source.
- Click Send test data.
Google cannot send custom headers, so the key travels in the body as google_key. That looks wrong if you are used to bearer tokens, but it is how Google's webhook works and Kredoo checks it on every single delivery.
The 30-day deadline
Google only keeps lead-form leads for about 30 days, downloadable as a CSV from the asset. After that they are gone from Google's side entirely.
The webhook is the durable path, which means you want it in place before the campaign runs, not after. Leads that arrived before you set the webhook up are only recoverable while that CSV window is still open. This catches people who launch first and integrate later, and by then some of it is simply unrecoverable.
4. Confirm it lands
- After Send test data, open Kredoo Hub → Google Logs.
- A row appears within seconds, tagged Lead created.
- Check CRM Pipeline → New Lead. The test lead is there, tagged Google Ads.
- Delete the test lead once you have seen it.
Unlike Meta, there is no publish gate here. Google delivers real leads as soon as your form is approved and running, so the test in Google Ads is a genuine end-to-end check rather than a rehearsal that passes for the wrong reason.
What Google does not give you
One honest limitation, so it does not read as a bug later.
Google's webhook sends the numeric campaign_id and not the campaign name. So the campaign column on a Google lead shows a number, and you cross-reference it in Google Ads. That is all Google provides; no integration can show you a name it was never sent. Meta, by contrast, sends both the campaign and the ad set name.
Troubleshooting
Start at Kredoo Hub → Google Logs, which records every delivery including the rejected ones. Whether a row exists at all is the first fork: no row means Google never sent it.
Google's test says success, but there is no row in Google Logs. The webhook URL is wrong or points somewhere else. Re-copy it from the Direct Connect panel.
Google Logs says "Rejected, key/signature check". The key in Google Ads does not match the one Kredoo holds. Regenerate in Kredoo and paste the new value into Google Ads.
Google Logs says "Duplicate, already on the board". Working as designed. That phone number already exists in this workspace, so Kredoo logged the delivery instead of creating a second lead for the same person.
The lead lands but a custom answer is missing. Custom questions need a field mapping. Only full name, phone, email and city are read automatically.
The lead lands but no WhatsApp message goes out. Lead capture and WhatsApp are separate systems. Check that the workspace has a WhatsApp account connected and a flow with a new-lead trigger.
Doing Meta as well
Most people run both. The Meta setup is genuinely longer, mostly because of the app and publish steps, and it has two failure modes that look like success: how to connect Meta lead ads to Kredoo.
Questions people ask
Do I need Zapier or n8n to send Google Ads leads to Kredoo?
No. Google's lead form webhook posts the complete lead directly to Kredoo, so there is no relay tool in between and no delay beyond the request itself.
How long does it take to connect Google Ads to Kredoo?
About ten minutes. There is no OAuth, no access token, no app to create and nothing to submit for review. You generate one key in Kredoo and paste it into Google Ads alongside the webhook URL.
Why does my Google lead show a number instead of a campaign name?
Google's webhook only sends the numeric campaign ID, never the campaign name. That is a limit of what Google transmits, so you cross-reference the ID in Google Ads.
What happens to leads that came in before I set up the webhook?
Google keeps lead-form leads for roughly 30 days and lets you download them as a CSV from the asset. After that they are gone. Set the webhook up before the campaign runs rather than after.
Why is my webhook key sent in the request body instead of a header?
Google Ads cannot send custom headers with its lead form webhook, so the key travels in the body as google_key. Kredoo verifies it on every delivery.
Stop losing leads to the follow-up gap
Kredoo captures leads from Meta and Google Ads, then follows up on WhatsApp automatically. Live in 5 minutes.
Get Started