Growcita

Integration

Growcita + Google Ads

The Paid Media agent connects directly to Google Ads via OAuth so it can read campaign performance, surface optimisation opportunities, and execute approved changes — all under the autonomy level and guardrails you configure.

Looking for the full Google integration? The same OAuth grant also unlocks Google Analytics 4, Search Console, Google Business Profile, and YouTube. See the Google services overview for the complete picture.

What the integration does

Once you connect your Google account, Growcita's Paid Media agent uses the official Google Ads API to power these features:

  • Performance reporting: Pull spend, impressions, clicks, conversions, ROAS, and CPA across your campaigns, ad groups, and ads. Surface the data on the Growcita Paid Media dashboard.
  • Health audits: Run automated checks for conversion-tracking gaps, broken destination URLs, missing negative keywords, exhausted ad inventory, and budget pacing risk.
  • Optimisation suggestions: Recommend bid adjustments, budget reallocations, ad copy iterations, and audience refinements based on actual account data. Suggestions appear in the dashboard for your review.
  • Approved campaign edits: When you instruct an agent — or set the Paid Media agent to an autonomy level that permits it — Growcita can create paused campaigns, adjust budgets within your daily-change guardrail, pause underperformers, and upload SHA-256-hashed Customer Match audiences.
  • Customer Match audiences: Hash and upload first-party audience lists (with explicit user consent, per Google policy) for retargeting and lookalike seeding.

Detailed feature breakdown

The Google Ads integration powers six concrete features inside the Growcita app. Each feature maps to a specific set of Google Ads API services and a specific user-facing surface.

1. Paid Media performance dashboard (Reporting)

Surface: Dashboard → Paid Media in the Growcita app.

On a configurable schedule (default: every 6 hours), our worker calls GoogleAdsService.SearchStream with GAQL queries that return campaign-, ad-group-, ad-, and keyword-level metrics for the last 90 days. Metrics include impressions, clicks, conversions, conversion value, cost, CTR, CPC, average position, ROAS, CPA, and quality scores. Results are persisted as campaignSnapshots rows scoped to the customer's Growcita session and rendered in interactive cards, tables, and time-series charts with date-range, campaign, and ad-group filters.

2. AI-assisted campaign analysis & reports (Reporting)

Surface: Past Reports, Notification bell, and Paid Media chat.

The Paid Media agent reads the campaign snapshots and uses an LLM to generate weekly performance summaries, identify under-performers and over-performers, flag pacing risk, and produce optimisation suggestions with a written rationale. Reports land as notifications in the bell and are archived under Past Reports. Users can also ask the agent ad-hoc questions in chat (“Why is ROAS down on the brand campaign?”), which triggers a fresh GoogleAdsService.Search call and an LLM-generated answer cited with the metrics it pulled.

3. Health audits (Reporting)

Surface: Ads Health Auditor tab on the Paid Media dashboard.

A background task scans the connected Google Ads account for a fixed list of issues: missing or broken conversion tracking, orphaned ad groups (no enabled ads), broken destination URLs (HTTP HEAD checks against final URLs), single-ad ad groups (Google's Optimization Score recommends 3+), missing negative keyword lists at the account level, ad-strength ‘poor’ ratings, and budget pacing variance > 25% from the configured monthly cap. Each issue is reported with the specific resource ID and a one-click remediation suggestion.

4. Campaign management (Ad creation/management)

Surface: Paid Media chat, Action Center, and Approval Queue.

When the user instructs the agent (or, at higher autonomy levels, when a scheduled task fires), Growcita can perform the following write operations through the Google Ads API:

  • · Create campaign budget via CampaignBudgetService.MutateCampaignBudgets.
  • · Create campaign (Search, Performance Max, Display, or Shopping) via CampaignService.MutateCampaigns — always created in PAUSED state. The user must explicitly enable.
  • · Update campaign (status, name, date ranges) via the same service.
  • · Adjust campaign budget within the user-configured maximum daily spend change % guardrail. Larger changes are blocked verbatim and routed to approval.
  • · Create / update ad groups via AdGroupService.MutateAdGroups.
  • · Create responsive search ads (3+ headlines, 2+ descriptions, validated against Google's ad-strength heuristics) via AdGroupAdService.MutateAdGroupAds.
  • · Upload ad image assets via AssetService.MutateAssets with base64 image bytes.
  • · Add negative keywords at the ad group, campaign, or shared-list level via AdGroupCriterionService and CampaignCriterionService.
  • · Pause underperformers— campaigns or ad groups whose CPA exceeds the user's max CPA ceiling, or whose ROAS falls below the min ROAS floor for a configurable lookback window.

Every write passes through Growcita's four-layer safety stack — autonomy gate, budget gate, platform guardrails, human approval — and is recorded in the audit log with the tool name, input size, duration, and outcome.

5. Customer Match audience uploads (Ad creation/management)

Surface: Audiences tab on the Paid Media dashboard.

Users can build first-party audience lists from their connected CRM, sequence platform, or uploaded CSV. Growcita SHA-256 hashes email addresses and phone numbers before upload (per Google policy), creates a Customer Match UserList via UserListService, and adds members via OfflineUserDataJobService. The user must explicitly attest that they have collected the list with appropriate consent before the upload runs — Growcita refuses the upload if the consent flag is missing.

6. Keyword research (Keyword research)

Surface: SEO & Paid Media chat, Keyword Planner tab.

When the user asks the SEO or Paid Media agent for keyword ideas, Growcita calls KeywordPlanIdeaService.GenerateKeywordIdeas with the user's seed terms, target language, and geographic targeting. Suggestions are presented in the UI for review — nothing is auto-added to a campaign. The user picks which keywords to add and the agent then makes the explicit ad-group criterion writes.

Data we read

  • · Accessible Google Ads customer (account) IDs
  • · Campaigns, ad groups, ads, keywords, audiences
  • · Budget, bidding strategy, and status
  • · Performance metrics (spend, impressions, clicks, conversions, ROAS, CPA)
  • · Change history and asset metadata

Data we write

  • · Create campaigns (always in paused state)
  • · Adjust budgets (gated by your max-daily-change %)
  • · Pause / resume campaigns and ad groups
  • · Add or update ads and ad copy
  • · Add negative keywords
  • · Upload SHA-256-hashed Customer Match audiences (consent required)

Every write passes through autonomy, budget, guardrail, and approval gates before reaching the Google Ads API.

OAuth scopes we request

When you click “Connect Google” in your Growcita dashboard, we redirect you to Google's consent screen and request only the scopes required to deliver the features you signed up for. You can review and approve each scope before granting access.

ScopeWhy we need it
openid, email, profileIdentify the connected Google account so we can attach it to your Growcita workspace and surface which account each integration is using.
.../auth/adwordsRead campaign data and execute the approved write actions listed above against your Google Ads accounts. Required by Google for both read and write access — the Google Ads API does not expose a read-only variant.
.../auth/analytics.readonlyPull GA4 attribution data so the Paid Media agent can tie Google Ads spend to downstream conversions. Read-only.
.../auth/webmasters.readonlyRead Search Console performance for the SEO agent. Read-only; we never submit sitemaps or modify Search Console settings.
.../auth/business.manageManage Google Business Profile listings, posts, and review replies for the Local agent. Public posts and review replies always require human approval.
.../auth/youtube.readonlyRead YouTube channel and video analytics for the Organic Social agent. Read-only.

We only request scopes for the features you intend to use. If you connect Google solely for Google Ads, you can decline the other scopes at the consent screen and Growcita will simply skip the features that depend on them.

Limited Use commitment

Growcita's use and transfer of information received from Google APIs to any other app will adhere to the Google API Services User Data Policy, including the Limited Use requirements.

  • No model training. We do not use Google user data to train, develop, or improve generalized or non-personalized AI/ML models.
  • No advertising. We do not use Google user data for advertising, sell it, or share it with data brokers.
  • No third-party transfer. We do not transfer Google user data to third parties except as necessary to provide or improve user-facing features prominent in the Growcita interface, to comply with applicable law, or as part of a merger, acquisition, or sale of assets with notice to users.
  • No human reading. Humans at Growcita do not read your Google data except (a) with your explicit consent for support, (b) for security purposes such as investigating abuse, (c) to comply with applicable law, or (d) for internal operations on aggregated, de-identified data.

How we secure your data

  • Encrypted refresh tokens. Google refresh tokens are stored in our Supabase Postgres database encrypted at rest. Access tokens are short-lived and never written to disk in plaintext.
  • TLS in transit. All requests to Google APIs and between Growcita services use TLS 1.2 or higher.
  • Scoped service identity. Workers run with least-privilege service accounts and can only access the credentials of the user whose task they are processing.
  • Audit log on every write. Every Google Ads write is recorded in our internal tool_executions table with the tool name, input size, duration, and outcome. Paid-media writes also snapshot pre/post campaign state for guardrail evaluation.
  • Guardrails before every write. See our security disclosure policy for vulnerability reporting and the features page for autonomy levels and human-approval gates.

Revoke access at any time

You can revoke Growcita's access to your Google data instantly:

Delete stored Google data

Disconnecting deletes the encrypted refresh token from our database. To delete cached performance data and reports as well, follow the Data Deletion Instructions, or email privacy@growcita.com. Requests are processed within 30 days.

Independent third party

Growcita is an independent third-party application built on the Google Ads API. We are not affiliated with, endorsed by, or sponsored by Google LLC. “Google Ads”, “Google Analytics”, “Search Console”, “Google Business Profile”, and “YouTube” are trademarks of Google LLC.

Company & contact

Growcita

1065 SW 8th St
Miami, FL 33130
United States

Founded 2026 · Subscription SaaS · About Growcita

Get in touch

Ready to connect?

Sign in to Growcita and connect your Google account in two clicks. You stay in control of which accounts the Paid Media agent can see and what it's allowed to change.