confirm_and_apply gate as every other write. Combined with Google Ads, it answers the questions neither tool answers alone: real cost per conversion, landing pages that get paid traffic but do not convert, and whether conversions are tracked at all.
Analytics shares one Google connection with Google Ads, Tag Manager, Search Console and Merchant Center.
Connect
- AdLoop Cloud
- Self-hosted
The onboarding wizard (later: Settings → Google & accounts → Connect Google account) asks which Google products your AI may use. Keep Google Analytics (GA4) ticked; Google’s consent dialog then asks to view your Analytics data and to manage your Analytics settings. The edit permission is only used by
draft_key_event; Google has no narrower permission for it.Then pick the property. I do not use Google Analytics switches the Analytics tools off; a workspace needs at least one of Google Ads or Analytics. Agencies pick a property per client under Settings → Clients (see Clients).If you untick the edit permission in Google’s dialog, reports keep working and only key events are unavailable; the dashboard shows the missing permission, and reconnecting restores it with all settings kept.Behaviour worth knowing
- GA4’s own names.
run_ga4_reporttakes dimensions and metrics by their GA4 API names (sessionSource,pagePath,deviceCategory,sessions,totalUsers,eventCount, …). Dates aretoday,yesterday,7daysAgo,28daysAgoorYYYY-MM-DD; without a range the report covers the last seven days. - Row limits are visible. A report returns 100 rows unless you raise
limit, andtotal_row_counttells you how many exist. - Realtime for deploys.
run_realtime_reportshows active users and events right now: the quick way to confirm a new event fires after you ship tracking code. - The event inventory.
get_tracking_eventslists every event name the property received with its count, over the last 28 days by default. - Fewer sessions than ad clicks is normal. GA4 only sees visitors who accepted analytics cookies, while Google Ads counts every click. In EU traffic a ratio of two to five clicks per session is common and not a tracking fault. The
trackingtools (analyze_campaign_conversions,attribution_check,landing_page_analysis) take this into account. Background in Consent and data gaps.
Key events
When an event fires but is not counted as a conversion,draft_key_event marks it as a key event. The counting method is ONCE_PER_EVENT (purchases) or ONCE_PER_SESSION (sign-ups). Two things the preview also tells you:
- It applies to future data only; past events are not reclassified.
- For Google Ads to optimise on it, the property must be linked to the Ads account and the key event imported there as a conversion.
Tools
Reads:get_account_summaries (accounts and properties you can reach), run_ga4_report, run_realtime_report, get_tracking_events.
Write (previewed): draft_key_event.
The full list with parameters is in the tool reference; the toolset slug is ga4. The tools that join Analytics with Google Ads or your codebase (analyze_campaign_conversions, attribution_check, landing_page_analysis, validate_tracking, generate_tracking_code) are in the tracking toolset, and the three-way audit across your code, Tag Manager and GA4 (audit_event_coverage) is in gtm. How they fit together is on Tracking audit.
Operations and limits
On AdLoop Cloud, Analytics tools,draft_key_event included, are unmetered and do not count toward your daily operations. The tracking tools that also read Google Ads do count. See plans and limits. Google’s own GA4 API quotas apply on every setup.
What AdLoop stores
On AdLoop Cloud: the encrypted refresh token shared by all Google products, your Google email address, the permissions you granted, and the selected property (ID and name). Report data passes through and is never stored. Self-hosted, the token stays in~/.adloop/token.json on your machine. See the privacy policy for the full description.