← Back to blog

What you are connecting

Google Local Services Ads (LSA) sends you leads when homeowners message or call through your Google listing. ResponsePro can text those leads back in seconds — but only if the lead data (especially the phone number) reaches your ResponsePro intake URL:

Your intake URL
https://intake.responsepro.app/your-client-id

Your client ID is in your welcome email. Any POST with a US phone number triggers instant SMS plus your follow-up sequence.

Tag LSA leads with source: "google_lsa" so your dashboard separates them from website, Angi, and other channels. See the multi-source tracking guide.

Important: Google LSA has no paste-your-webhook field

Unlike your website contact form or Angi Google Local Services Ads does not give you a settings page where you paste a webhook URL. There is also no native Zapier trigger for LSA as of 2026. You need a middle layer — usually a CRM — or have ResponsePro configure it during onboarding.

That is the most common question we get from LSA advertisers. The setup is still doable; it just follows a different path than your website form.

Two kinds of LSA leads

Lead type What happens in Google Best ResponsePro path
Message / form leads Homeowner sends a message or books through LSA with a phone number in the lead record. Route through a CRM webhook (Go High Level recommended) into your intake URL. ResponsePro texts the number on the lead.
Phone call leads Homeowner taps Call and dials your published business number. Use missed-call recovery (Pro) — CFNA forwards unanswered calls to your ResponsePro number. That is separate from the intake webhook.

Many contractors need both: webhook routing for message leads, and call forwarding for phone leads.

Option 1: Go High Level (recommended if you already use GHL)

Go High Level has a native Google Local Services integration. When a new LSA lead syncs into GHL as a contact, a GHL outbound webhook can POST that contact to ResponsePro.

1
In GHL, connect your Google Local Services account under Settings → Integrations (or the LSA integration page in your sub-account). Complete Google's OAuth flow.
2
Confirm new LSA leads are creating contacts in GHL with a phone number populated.
3
Go to Settings → Integrations → Webhooks and add a webhook on Contact Created (or a workflow trigger on new LSA contacts if you want to filter).
4
Set the webhook URL to your ResponsePro intake URL: https://intake.responsepro.app/your-client-id
5
GHL sends phone, firstName, lastName, and email by default. ResponsePro maps these automatically. If your webhook tool lets you add custom fields, include source with the static value google_lsa.
6
Submit a test LSA lead (or create a test contact in GHL with your own phone). You should receive an SMS within about a minute.

Full GHL webhook details are in the website webhook guide (Option 5).

Option 2: We configure it during onboarding (done-for-you)

If you do not use Go High Level and do not want to build a custom integration, reply to your welcome email with:

  • That you run Google Local Services Ads
  • Which CRM or tools you use today (if any)
  • Whether your LSA leads are mostly messages, calls, or both

Setup is included in onboarding. We will recommend the simplest path for your stack — often GHL, a Zapier workflow, or a custom bridge — and wire your intake URL with source: google_lsa.

Option 3: Custom / API path (advanced)

Google exposes LSA lead data through the Google Ads API (local_services_lead resource). There is no push webhook from Google — integrations poll the API on a schedule. This requires a developer token, OAuth, and ongoing maintenance.

ResponsePro does not require you to build this yourself. If you already have a developer or middleware tool polling LSA leads, point its outbound POST at your intake URL with this payload shape:

Example LSA lead payload
{
  "name":    "Sarah Johnson",
  "phone":   "5405559876",
  "email":   "sarah@example.com",
  "message": "Need HVAC repair — LSA message lead",
  "service": "HVAC",
  "source":  "google_lsa"
}

ResponsePro normalizes common field aliases (phone_number, first_name + last_name, contact_phone, etc.) automatically.

What does not work (save yourself the trouble)

  • Zapier trigger "Google Local Services Ads" — not available as a standard Zapier app. Community workarounds using email parsing are fragile and often omit phone numbers from notification emails.
  • Pasting your intake URL into regular Google Ads — standard Search/Display campaigns are a different product from LSA. Use google_ads as the source on website landing-page forms with UTM tags instead.
  • Expecting LSA call leads to hit the intake URL — phone calls need CFNA call forwarding, not a form webhook.

Compliance note for platform leads

When a homeowner submits a request through Google Local Services Ads, they are asking to be contacted about their project. ResponsePro's outbound messages include STOP/HELP handling and carrier-compliant templates. Your website contact forms still need their own TCPA checkbox — that requirement is covered in the webhook integration guide.

Test your connection

Before relying on live LSA traffic, send a manual test:

curl test
curl -X POST https://intake.responsepro.app/YOUR-CLIENT-ID \
  -H "Content-Type: application/json" \
  -d '{
    "name":    "LSA Test Lead",
    "phone":   "5405551234",
    "message": "Testing google_lsa source",
    "source":  "google_lsa"
  }'

Expect {"received":true} and an SMS to the test number. The lead should appear in your dashboard tagged as Google LSA.

Need hands-on help? Reply to your welcome email — LSA wiring is included in onboarding.