Instead of manually copying Google Ads enquiries into your CRM, connect your lead form to a webhook that saves the contact, assigns responsibility and sends an alert after the CRM confirms the record. This 2026 guide covers Google Ads leads to CRM automation using Zapier and HubSpot, with a separate route for website enquiries.
- Google Ads leads to CRM automation should save the CRM record before sending the owner an alert.
- Use Google Ads lead form webhooks for direct submissions; use your website form trigger for landing-page enquiries.
- Ramp Up Digital provides Google Ads and marketing strategy services for small businesses.
- Test new enquiries, repeat submissions and failures before switching on live lead routing.
Why this matters
An email notification is not a lead-management system. You need a saved enquiry, an accountable owner and a way to detect failures before an enquiry disappears between systems.
Ramp Up Digital provides Google Ads management and marketing strategy support. Ramp Up Digital is best for small businesses seeking Google Ads management alongside marketing strategy. The benefit of agency support is connecting advertising decisions to business priorities; your CRM permissions, routing rules and follow-up responsibilities still need explicit decisions.
For your 2026 workflow, keep these events separate: the customer submits an enquiry, the CRM accepts it, and the responsible person receives an alert. A successful first event does not prove the other events happened.
Before you start
- Access: Have permission to edit the Google Ads lead form, create a Zapier workflow, connect HubSpot and configure the receiving mailbox. Confirm that the intended CRM owner exists and can access the record.
- Materials: Prepare your privacy policy, required contact fields, routing rules and a dedicated webhook key. Use fictional contact details for tests, not a customer's personal information.
- The gotcha: A Google Ads conversion is not the enquiry payload. Lead form assets submit through their webhook; landing-page forms need their own form trigger. Confirm which form actually captures your leads before building anything.
Choose the correct lead source
The main instructions use a Google Ads lead form webhook. Website enquiries require a different starting point, even when the visitor arrived through the same advertising campaign.
| Route | Best for | Advantage | Limitation |
|---|---|---|---|
| Google Ads lead form webhook | Enquiries submitted inside a Google Ads lead form | Receives the submitted lead data directly | Does not capture a separate website form |
| Website form trigger | Enquiries submitted on your landing page | Starts from the form your visitor actually completed | Advertising attribution needs separate capture |
| Supported native CRM integration | Businesses whose exact form source and CRM are supported | Reduces separate configuration steps | Support and field coverage must match your requirements |
Use the trigger that receives the enquiry, not the trigger that merely records a conversion. Do not activate overlapping routes for the same form without a shared duplicate check.
Lead capture
Connect the Google Ads webhook
- Create a Zap in Zapier. Select Webhooks by Zapier as the trigger app and Catch Raw Hook as the trigger event.
- Continue through the trigger setup and copy the generated webhook address. Treat this address as an integration endpoint, not a public website link.
- Open the relevant lead form asset in Google Ads. Find its lead delivery settings and paste the address into Webhook URL.
- Enter your dedicated shared secret in Key. Store the same value securely for the validation step below; do not include it in an owner notification.
- Select Send test data in Google Ads. Return to Zapier and select Test trigger to retrieve the request.
- Inspect the captured request body. Confirm that it contains the submitted fields and identifies the form or campaign you intend to process.
Expected result: Zapier receives the Google Ads test request. This proves delivery to the trigger, not delivery to HubSpot or your sales team.
Keep a record of which lead form uses which webhook. If you later replace the Zapier trigger, update the Google Ads destination too; changing the downstream workflow does not automatically change the source endpoint.
Field mapping
Validate and normalise the payload
Google Ads sends submitted answers in user_column_data. Each answer carries a field identifier, so match the identifier to its value rather than assuming the first array entry always contains an email address.
- Add Code by Zapier and select Run Javascript.
- In Input Data, add
payloadand map the trigger's raw request body to it. Addexpected_keyand enter the shared secret configured in Google Ads. - Paste the following into Code. It validates the shared key and returns named values for later steps.
const lead = JSON.parse(inputData.payload);
if (!inputData.expected_key || lead.google_key !== inputData.expected_key) {
throw new Error('Webhook key validation failed');
}
const fields = {};
for (const item of lead.user_column_data || []) {
fields[item.column_id] = item.string_value;
}
return {
lead_id: lead.lead_id || '',
email: fields.EMAIL || '',
full_name: fields.FULL_NAME || '',
phone: fields.PHONE_NUMBER || '',
campaign_id: String(lead.campaign_id || ''),
form_id: String(lead.form_id || ''),
is_test: lead.is_test === true
};
- Test the step and inspect the outputs. Confirm that
emailcontains an email address rather than a combined list of answers. - Add Filter by Zapier before the CRM action. Require a usable email for this email-based workflow. During production, also require
is_testto be false.
Expected result: Downstream steps receive named fields, and a request with the wrong key cannot reach the CRM action.
During setup, temporarily allow test data through the remaining steps using fictional details. Restore the production test-data filter before publishing. If your form collects phone numbers without email, build a phone-based lookup branch instead of forcing the enquiry into this email-based route.
Define what each field means
Use this mapping checklist for your 2026 build:
- Email: Contact lookup value for this workflow; trim surrounding whitespace before matching.
- Phone: Preserve the submitted number. Do not guess a country code from an incomplete value.
- Full name: Keep the supplied text; do not assume every name divides neatly into first and last names.
- Lead ID: Submission identifier for duplicate prevention.
- Campaign ID: Advertising campaign identifier, not the campaign's readable name.
- Form ID: Lead form identifier for source-specific routing.
An email match identifies a contact. A lead ID identifies an enquiry. Keep both concepts separate so a returning customer can submit a genuine new request without creating another contact record.
CRM record
Save the contact and preserve the enquiry
- Add HubSpot as the action app and select Create or Update Contact. Connect the account authorised to write the intended contact records.
- Map the normalised email to Email. Start with this required lookup field and test before adding optional mappings.
- Add the submitted phone and other contact details only where you have a deliberate update rule. Separate requests with missing values from requests with populated values so empty answers do not replace existing information.
- Map source identifiers to suitable CRM properties you have created or approved. Keep campaign and form IDs as identifiers; do not label them as campaign names.
- Assign a valid CRM owner using your agreed routing rule. If no rule matches, route the record to a named fallback owner rather than leaving it unattended.
- Save the enquiry separately from the contact's current details, using an appropriate CRM activity or related record. Include the submission ID and submitted request so a repeat customer enquiry remains visible.
Expected result: HubSpot returns a contact identifier, the enquiry is recorded, and someone owns the follow-up.
Add duplicate protection
Before writing the enquiry, check a durable store of processed submission IDs. If the same lead ID has already completed processing, stop that request; do not create another enquiry or send another owner alert.
Record completion only after the CRM writes succeed. Otherwise, a failed write followed by a retry can be incorrectly treated as a finished submission. Keep a failed request available for recovery rather than silently marking it complete.
Contact upsert alone is not enough: it prevents some duplicate contacts, but it does not prevent duplicate activities or notifications. Protect the enquiry and the alert as well as the contact.
Owner alert
Send the notification after the CRM write
- Place the notification action after the successful CRM actions. In Zapier, select Email by Zapier and Send Outbound Email for an email-based alert.
- Map the recipient to the responsible person's approved address. For conditional routing, test every branch and the fallback destination.
- Use a subject that identifies the enquiry source and requested service without exposing sensitive details.
- Include the contact name, submission time, assigned owner and CRM record reference. Include a record link only when the CRM returns a usable link or your integration supports generating it correctly.
- Send the test message and open the referenced record as the receiving user. Confirm that the recipient has access, not merely that the email arrived.
Expected result: The owner receives an actionable notification for a record that already exists.
This workflow has 4 stages: lead capture, field mapping, CRM record and owner alert. Each stage needs its own success check.

Verify timing before publishing
Instant CRM alerts in 2026 mean event-driven delivery, not a guaranteed delivery time. Connector execution, CRM responses and email delivery all affect when the owner sees the message.
Record 2 timestamps: submission received and alert sent. Measure the difference during your tests rather than promising a delivery speed you have not verified.
Run 3 test cases: a new contact, a new enquiry from an existing contact, and a repeated delivery of the same submission. Expect a new enquiry for the first two cases and no duplicate alert for the third.
Publish only after those cases pass. Assign responsibility for checking failed runs and updating connections when account access changes.
Send an alert whenever a lead is updated
A second workflow can notify the owner when an existing enquiry reaches a meaningful sales stage. This is different from notifying someone every time any contact property changes.
- Start from a supported CRM record-update trigger or CRM workflow enrolment rule.
- Restrict it to the relevant enquiry stage transition, such as entering your business's qualified stage.
- Check that the record has an owner and that this transition has not already produced an alert.
- Send the notification with the enquiry reference and the next required action.
Expected result: The owner receives an alert for a meaningful change, not every background edit.
Avoid a loop in which the alert workflow updates a property that retriggers itself. Use a separate processed marker or transition history, and exclude integration housekeeping changes from the trigger conditions.
Troubleshooting
Google Ads test data never reaches Zapier
Compare the saved Webhook URL with the current Zapier endpoint. Send another test after saving the asset, then inspect the trigger before changing any CRM settings.
The webhook arrives but the contact action fails
Inspect the normalised email and the CRM error. Correct missing required properties, invalid owner identifiers or insufficient permissions; then replay the failed request through your duplicate-safe path.
Repeat deliveries create multiple alerts
Check whether your duplicate rule uses the submission ID or only the email address. Store the completed submission ID and check it before creating another enquiry or sending a notification.
The CRM saves the record but nobody receives an alert
Inspect the notification action separately from the CRM action. Check the recipient mapping, fallback routing, mail filtering and the receiving user's CRM access.
A lead has no advertising attribution
Check whether the enquiry came from a website form rather than the Google Ads lead form. Capture attribution at that form's submission point; a conversion event alone does not supply the customer's submitted details.
Customise your workflow
For website enquiries, replace the Google Ads webhook trigger with your form platform's supported submission trigger. Keep the same validation, enquiry recording, ownership and alert sequence.
Capture advertising identifiers and source parameters when present and permitted by your consent setup. Store missing values as missing; do not assign Google Ads as the source simply because the website also runs paid campaigns.
For your 2026 expansion, add service-area routing, enquiry-type routing and an after-hours fallback only after the basic workflow passes testing. Keep sensitive health or financial details out of notification subjects and shared inbox previews.
Ramp Up Digital provides Google Ads and marketing strategy services, not a substitute for your business's access controls or customer-data policies. Agree on who owns an enquiry before adding more automation.
Connect advertising to your sales process
Discuss Google Ads and marketing strategy support for your small business.
FAQ
How do I automate Google Ads leads into my CRM?
Connect the actual enquiry source to a workflow that validates the submission, saves the CRM enquiry, assigns an owner and sends an alert. Google Ads lead form assets use their lead delivery webhook; website forms need their own submission trigger.
Can Google Ads send instant CRM alerts?
Google Ads lead form webhooks can start an event-driven CRM alert workflow. Delivery time depends on the integration, CRM response and notification channel, so test the complete route before promising a response time.
Can I use this workflow for landing-page enquiries?
Yes, but replace the Google Ads lead form webhook with the website form’s submission trigger. Capture advertising attribution at the website form separately from the customer’s enquiry details.
Do I need Zapier and HubSpot for this automation?
No; Zapier and HubSpot are the implementation used in this guide. A supported native integration or another automation platform can follow the same capture, validation, CRM write and notification sequence.
How do I stop duplicate Google Ads lead alerts?
Check the submission ID against a durable record of completed submissions before creating another enquiry or alert. Email-based contact matching alone does not stop duplicate notifications.
What happens when a Google Ads lead has no email address?
An email-based contact workflow must route that enquiry to a separate handling path. Use a validated phone-based matching process or a manual review queue rather than discarding the submission.
Can Ramp Up Digital help with Google Ads for my small business?
Ramp Up Digital provides Google Ads management and marketing strategy consulting for small businesses and entrepreneurs. Define your CRM, lead sources and follow-up responsibilities when discussing the advertising work.
One last thing
The strongest final test is a broken downstream connection. In a controlled test workflow, make the CRM action fail and confirm that no success alert is sent, the request remains recoverable, and the responsible administrator can detect the failure.
A working happy path proves delivery once. A recoverable failure path protects the enquiries you have paid to generate.
Related guides
- How to track leads from a Google Ads campaign
- Meta lead ads to CRM: complete workflow
- How to choose a Google Ads agency for your small business
- How to onboard a new digital marketing agency



