Skip to main content

Introduction

Google Local Services Ads (LSA) is Google’s pay-per-lead ad format for local service businesses. Advertisers are charged for phone calls, messages, and bookings rather than clicks or impressions (Local Services Ads Help). This connector imports LSA performance for a connected Google Ads account through two paths: account-level reports (leads, cost, spend rollups) via the Local Services API, and lead-level records (individual leads with type, disposition, and timing) via the Google Ads API. The two paths are combined in a per-asset cache for reporting in Adriel widgets. To connect this data source, see How to connect Google Local Services Ads Report to Adriel.

Data refresh strategy

Architecture data

Each Adriel asset represents one LSA location (or account) inside a connected Google Ads MCC. The login_customer_id for the parent Google Ads MCC is resolved during connection and reused for all API calls.

Reports data

Reports run on two schedules: Account-level reports. Adriel calls accountReports:search on the Local Services API and caches the results with a 5-minute Redis TTL for on-demand access from dashboards. Lead-level records. Adriel calls the Google Ads googleAds:searchStream endpoint (GAQL) and writes per-lead rows to the per-asset Postgres cache table googleLocalServicesAds_{assetId}. Refresh schedule. Daily refresh at a fixed UTC hour (pending tech reviewer confirmation; the KG notes a 6:00 PM UTC default). Refresh strategy. ATOMIC_REPLACE — the per-asset cache is rewritten on each successful run.

Metrics

How to read the columnsData type uses this vocabulary: Number, Currency, Percentage, Ratio, Duration, Date, Text, URL, Array, Boolean.API Key in code style is the literal field name from the Local Services API (account-level reports) or the Google Ads API (lead-level).

Breakdowns

Account & lead

Time & date grouping

These time groupings are Adriel-side aggregations of the same underlying report data, not separate fields returned by the API.

Limitations

  • Beta connector. LSA reporting is currently marked as beta; field coverage and refresh behavior may change.
  • Two API surfaces. Account-level metrics come from the Local Services API; lead-level records come from the Google Ads API. The connected account must have access to both.
  • 5-minute report cache. Account-level reports are cached in Redis for 5 minutes, which means dashboard reads within that window return the cached snapshot.
  • Credited-lead reconciliation. LSA supports post-hoc lead credits; historical leads and cost may change if credits are approved after the initial ingest (Google Ads Help — Local Services Ads lead credits).
  • login_customer_id required. Non-internal Google Ads accounts must resolve a login MCC customer ID at connection time.

API references

See also