Connecting Google Ads starts with one field and one button. This article walks all four sections of the settings page in order and tells you what "finished" looks like at each one.
Setup is not complete when the account link verifies — that only means KarmaFlow can read Google. The agent that answers leads is chosen in step 3, and nothing is answered until it is.
If you do not run Local Services campaigns, steps 2 and 4 are all you need: reporting on Search, Performance Max and Display spend begins as soon as the account is linked and the nightly sync is on. Step 3 configures lead answering, which only Local Services produces.
agents:sms:manage permission to change any setting on the page; agents:sms:read is enough to view it.123-456-7890.Settings (the gear icon, top right) → Channels → Google Ads · Local Services
The four numbered sections on that page are the four steps below.

Section: 1 · Google connection
Nothing to do here — KarmaFlow holds this connection on your behalf.
Move on to step 2, which is where you start.
Section: 2 · Google Ads account link
This is the whole of enrolment: one field, one button.
123-456-7890 in Google Ads; dashes are optional.The status chip tracks where you are: not requested → requested → invite sent → linked, followed by your account's time zone.
Check the time zone once it reads linked. It comes from Google and it is what every daily figure is bucketed by. If it does not match where the business actually operates, fix it in Google Ads — every "today" on the lifecycle page follows it.
If Verify fails, the status shows what Google said. The usual causes are the invitation not yet accepted and a typo in the account ID. Verify is safe to press again — it reads, it does not change anything in your Google account.
If it stays on invite sent for more than a day, check your Google Ads account for a pending manager-link invitation; the link cannot complete until that is accepted.
Section: 3 · Agent & autonomy
This is the step that makes leads get answered.

Google Ads has no lead inbox for Search, Performance Max or Display. What those campaigns produce reaches KarmaFlow through your own numbers and forms, and KarmaFlow works out that Google sent it without asking Google.
Message assets. In Google Ads, a message asset adds a Send message button to the ad. Tapping it opens the consumer's texting app with a prefilled starter message, addressed to the number you typed into the asset.
The conversation itself needs nothing else: it is an ordinary inbound text from the consumer's real phone, answered by the SMS agent bound to that number, with the usual consent keywords. The contact is tagged google-ads-message-asset, and the count appears in section 3 and on the lifecycle report as From ad message & call buttons.
Calls. A call asset on a Search or Performance Max campaign, and the call destination on a Local Services campaign, forward the call to whatever number you configure in Google Ads. Point it at a KarmaFlow number with a voice agent, mark that number as a Google Ads destination number as above, and the call is answered, recorded and attributed to Google Ads. Google passes no click id on a forwarded call, so the landing number is the whole signal — use a number reserved for ads.
Lead forms. Left on in section 3, submissions are imported from every linked account within a few minutes: a contact (matched by email first, then phone), a task titled Follow up Google Ads form lead, and a notification to anyone who can read contacts. Google keeps form leads for 60 days; KarmaFlow keeps the record.
A workspace can link more than one Google Ads account — several locations, a franchise, or a brand run from an agency. Each account has its own link, answering agent, approval setting and starter messages; the lifecycle report combines all of them.
An account can be removed with Remove this account once its channel is switched off; leads, contacts and reports it produced are kept. The daily Google API budget is shared by every account on the platform, so each additional account polling every minute costs the same as the first.
Section: 4 · Revenue lifecycle
Optional, and only useful if you want spend followed through to revenue.
This picker is about attribution only. It decides which system the lifecycle page reads jobs and invoices from. It does not decide what your answering agent can do — that is granted on the agent itself and is not limited to the systems listed here.
Three checks, in order of how much they prove:
New connections deliberately do not answer historical leads — auto-answering months of backlog on day one would be worse than silence. But those leads were also not recorded, which meant leads you paid for could not be worked at all.
Import past leads fixes that: it ingests up to 90 days of history as CRM contacts and replies to nothing. Safe to run once after connecting.
"Google shows leads, we show none." Press Troubleshoot. The usual causes are the channel not enabled, the link not verified, a cold-start floor excluding leads older than your connection, or a Local Services campaign that does not exist on the account.
The answered rate is 0%. Check that an answering agent is selected in step 3. The performance panel reports this state explicitly rather than leaving it to be inferred.
Replies fail while polling works. Your Google developer token may be approved for reporting only. Press Check reply capability — if it reports replies are not permitted, that is fixed with Google, not in KarmaFlow.
The account links but no leads ever arrive. Check whether the account runs a Local Services campaign at all. Search, Performance Max and Display campaigns produce no leads by design — Google reports their performance, not individual contactable people. That is a working integration, not a broken one: spend, impressions, clicks, conversions and (for Search) impression share and top search terms all still arrive. See what each campaign type gives you.
Want calls answered too? Everything above covers message leads, which are generally available. Having a voice agent answer the calls your ads produce is in private beta — request early access.