Cost per real signup
Match gclid-tagged sessions to signups in your database to get CPA you can trust.
Campaigns, keywords and cost from Google Ads, joined with signups and revenue to show what each click is worth.
Live demo workspace with fictional data · no signup, no credentials needed

Google Ads on its own answers half the question. Joined with the rest of your stack in Kimo, it answers the other half.
Match gclid-tagged sessions to signups in your database to get CPA you can trust.
Compare paid keywords with Search Console queries you already rank for.
Daily pacing against monthly budget, with alerts before you overspend.
Kimo maps Google Ads into clean, typed tables with primary keys and incremental cursors, so syncs stay fast and joins just work.
| Field | Type | Notes |
|---|---|---|
| campaign_id | id | Primary key |
| name | string | |
| type | enum | Low-cardinality dimension |
| budget_micros | integer | Measure |
This model ships with the Marketing demo. Open it to see every join and measure.
Ads spend reconciled with Stripe revenue per campaign.

Fictional data · hover the chart for daily values
No engineers, no pipelines to maintain. Kimo asks for the minimum access it needs and tells you exactly what it will read.
You are redirected to Google Ads to sign in. Kimo never sees your password.
Kimo requests the narrowest scopes available. You can revoke access at any time.
Choose which ad accounts to sync. Add more later without reconnecting.
Kimo backfills history, maps campaigns and suggests joins with your other sources.
Read-only, encrypted, revocable. Credentials are encrypted with a per-workspace key, never logged, and can be rotated without breaking your models.

Kimo wants read-only access to your Google Ads account
adwords (read-only reports)readBy default Kimo syncs Google Ads hourly. You can change the schedule per table, or trigger a sync manually from the connector page.
Try it on the live demo workspace first, then connect your own account when you are ready.