What HireOtto can do in Google Ads
HireOtto connects your AI client to the Google Ads accounts you authorize. Use the tools reference to check which tasks are read-only, which can change an account, and which defaults apply before you run a prompt.- Read and report: discover accessible accounts, inspect campaign structure and settings, analyze performance, run audits, review change history, research keywords, and retrieve supported Search Console data.
- Create and update: manage supported campaigns, ad groups, ads, keywords, negative keyword lists, budgets, bidding settings, assets, conversion actions, Performance Max campaigns, and Demand Gen campaigns.
- Audit safely: daily operations, weekly optimization, and account health audits are read-only and available on the Agency plan.
- Verify every write: name the customer ID and affected entities, review the proposed values, approve the change, and read the live setting back after the tool finishes.
Account discovery
List all Google Ads accounts accessible to your connected Google login(s). Options- Refresh live from Google (useful after being added to new accounts)
- Filter by a specific connected profile / email
Account hygiene
Four point-in-time checks you can run on any account. Good first step whenever you take on a new account or do a quarterly review. What you can check- Auto-tagging — whether auto-tagging is enabled. HireOtto can also turn it on if it’s off.
- Auto-apply recommendations — which Google recommendations are set to apply automatically. HireOtto can disable them.
- Disapproved ads — any ads currently disapproved, with disapproval reasons.
- Negative keywords — negative keywords at the campaign and ad group level. Optionally filtered to a specific campaign.
- Account to audit (required; HireOtto will ask if you have multiple)
- For auto-tagging: whether to apply the fix, or just report
- For auto-apply: whether to disable the subscriptions, or just report
- For negative keywords: optionally filter to a specific campaign
Discovery & listing
Browse the structure of any account — campaigns, ad groups, keywords, ads, and negative keyword lists. These are navigation actions, not performance reports; they return IDs and status, not metrics. What you can list- Campaigns (ID, name, status)
- Ad groups (filterable by campaign)
- Keywords / positive keywords (filterable by campaign or ad group)
- Ads (filterable by campaign, ad group, or ad ID)
- Negative keyword lists (optionally include the keywords inside each list)
- Campaign settings — bidding strategy, geo targeting, networks, ad schedule, devices
- Performance Max asset groups, assets, and signals (see Performance Max section)
- Audiences available in the account (used for PMax audience signals)
- Demand Gen campaign settings — goal, bidding, devices, geo targeting
- Demand Gen ad group settings — channel controls, locations, languages, audiences
- Demand Gen ads and creative asset references
Performance reporting
Pull metrics for any level of your account across any date range. All reports support filtering, sorting, and CSV export. Available reports Common reports- Campaign performance
- Ad group performance
- Ad performance
- Keyword performance
- Search terms report
- Geographic performance
- Device performance
- Impression share (competitive visibility)
- Conversion actions
- Age range performance
- Gender performance
- Extension asset performance
- PMax campaign performance
- PMax campaign placements
- PMax campaign feed types
- PMax asset group performance
- PMax asset group strength (ad strength + action items)
- PMax asset-level performance
- Top asset combinations
- PMax search terms report
- Custom GAQL query — write any read-only SELECT query against the Google Ads API
- Date range: predefined (
LAST_7_DAYS,LAST_30_DAYS,LAST_MONTH,THIS_MONTH, etc.) or a custom start/end date - Filter by campaign or ad group
- Sort by: cost, clicks, impressions, conversions, CTR, average CPC, cost per conversion
- Segment by day
- Output mode:
summary(default),summary_and_csv,csv_only - Inline row limit (default 50)
Keyword research
Generate keyword ideas or get historical metrics for a list of known keywords. Uses the same underlying Google Keyword Planner API. What you can do- Keyword ideas — generate new keyword suggestions from seed keywords or a URL
- Historical metrics — get search volume, competition, and bid ranges for keywords you already have
- Seed keywords or a page URL (for ideas)
- Locations (country, region, or city — one or multiple)
- Location mode: aggregated across all locations, or separate results per location
- Language
- Network: Google Search only, or Google Search + partners
- Date range for historical data (default: last 12 complete months)
- Sort by: average monthly searches, competition, bid ranges
- Filter by minimum search volume or competition level (Low / Medium / High)
Campaign creation
Search campaigns
Create a new Search campaign, paused by default so you can review before launching. What gets set at creation- Campaign name and daily budget
- Location and language targeting
- Bidding strategy
- UTM tracking template (applied automatically)
- EU political advertising: doesn’t contain
- Status: paused
- Network targeting: Google search only (no display or partners)
- Location presence targeting: ‘Presence’ not ‘Presence or Interest’
- Maximise clicks (with optional max CPC cap)
- Maximise conversions (with optional target CPA)
- Maximise conversion value (with optional target ROAS)
- Target impression share (requires: location preference, share target, max CPC cap)
- Manual CPC
Ad & keyword management
Responsive Search Ads Create new RSAs or update existing ones. Create- Requires: ad group, headlines (3–15, max 30 chars each), descriptions (2–4, max 90 chars each), final URL, and optional display URL paths
- Supports headline and description pinning
- Change headlines, descriptions, or display URL paths on an existing ad
- Change ad status (enable, pause, remove)
Keywords
Add positive (targeted) keywords to an ad group, or manage negative keywords at the campaign level. Match types: Broad, Phrase, Exact Example promptsNegative keyword lists
HireOtto can add keywords to a shared negative list, attach or detach a list from campaigns, and remove individual negative keywords. To remove one item, use its exact resource identifier when available. Otherwise provide the exact keyword text and match type, review the resolved match, and then approve the removal. Example promptsIn shared negative list 444555666, find the exact-match negative keyword [free template]. Show its resource identifier and current match type, then remove only that item and verify the remaining list.
Ad groups
Create ad groups or update their name and status. Example promptsPerformance Max campaigns
Create a full PMax campaign with budget, asset group, and initial assets in one step. See the Performance Max section for the full breakdown.App campaigns
Create campaigns to drive app installs, in-app actions, or pre-registrations. Goalsinstalls— drive app downloadsin_app_actions— drive specific in-app eventsin_app_action_value— optimize for conversion valueengagement_in_app_actions— re-engage existing userspre_registration— pre-launch registrations
Demand Gen campaigns
Create and manage Demand Gen campaigns — Google’s cross-inventory campaign type that runs across YouTube (in-stream, in-feed, Shorts), Discover, Gmail, and Display. Demand Gen has more moving parts than Search: campaign shell, ad group channel controls, assets, and ads are all separate layers. HireOtto handles each step in plain English.Campaign shell
What gets set at creation- Campaign name
- Budget: new daily budget (by amount) or an existing non-shared budget ID
- Campaign goal: Conversions, Clicks, Conversion Value, or YouTube Engagements
- Optional bid targets: target CPA, target ROAS, or target CPC
- Device targeting (all devices eligible by default)
- Geo target type (Presence or Presence or Interest)
- Ad schedule
- Status: Paused by default — review before enabling
Ad groups
What you can control- Channel strategy:
ALL_CHANNELS(all supported Demand Gen inventory) orALL_OWNED_AND_OPERATED_CHANNELS(YouTube, Discover, Gmail — no Display) - Explicit channel selection: YouTube in-stream, in-feed, Shorts, Discover, Gmail, Display, Maps
- Location targeting (human-readable names: “India”, “Mumbai”)
- Language targeting
- Audience targeting (audience resource names — use List Audiences to get these)
- Status: Paused by default
Assets
Create reusable assets before or during ad creation. Supported asset typesMARKETING_IMAGE— standard landscape imageSQUARE_MARKETING_IMAGE— square imageLOGO_IMAGE— brand logoYOUTUBE_VIDEO— YouTube video by video IDTEXT— standalone text assetCALL_TO_ACTION/CTA— supported values include: Apply now, Book now, Contact us, Download, Get quote, Learn more, Shop now, Sign up, Subscribe, Visit site
Ads
Supported ad types- Single image / Multi-asset
- Carousel image
- Video / Video responsive
- Final URLs
- Business name
- Headlines, descriptions, long headlines
- Call to action text
- Image assets: marketing, square, portrait, tall portrait, logo, classic display (by resource name or inline URL)
- Video assets (by resource name or YouTube video ID)
- Carousel cards (inline or by existing card asset resource names)
- Breadcrumbs (carousel)
Inspect and update
Inspect Three listing actions are available under Discovery & listing:get_demand_gen_campaign_settings— campaign goal, bidding, devices, geo settingsget_demand_gen_ad_group_settings— channel controls, locations, languages, audiencesget_demand_gen_ads— ads and their creative asset references (optionally include removed ads)
- Campaign name, status, goal, bidding targets
- Budget assignment
- Device targeting, geo target type, ad schedule
- Start and end dates
- Channel strategy or explicit channel selection
- Ad group name and status
- Direct update: change top-level final URLs or supported tracking fields while preserving the ad ID.
- Creative replacement: change images, videos, headlines, descriptions, logos, call-to-action text, or carousel creative. HireOtto creates a replacement ad and pauses the previous ad.
Extension assets
Manage Google Ads extension-style assets such as sitelinks, callouts, structured snippets, call assets, and price assets.These are reusable Google Ads assets. You can create an asset once, link it at the account, campaign, or ad group level where supported, and reuse the same asset across multiple eligible levels without recreating it.
What you can do
- List existing extension assets and see their
asset_resource_name - Create new sitelinks, callouts, structured snippets, call assets, and price assets
- Link an existing asset at the account, campaign, or ad group level
- Reuse the same asset across supported levels
- Unlink an asset association without deleting the underlying reusable asset
- Pull extension asset performance from the reporting tool
Supported asset types
SITELINKCALLOUTSTRUCTURED_SNIPPETCALLPRICE
Unlinking removes the association only. The underlying asset remains available by
asset_resource_name, though Google Ads may show the removed association under removed asset filters in the UI.Example prompts
Campaign settings
Update settings on existing Search campaigns. What you can change- Campaign status (enable / pause)
- Daily budget
- Bidding strategy
- Location and language targeting
- Network settings (Search Partners, Display Network)
- Ad serving optimization
- Campaign start and end dates
- Device and location bid modifiers
- EU political advertising declaration
URL tracking fields
HireOtto can read and update supported URL-tracking settings at account, campaign, ad-group, and ad level. Account level- Tracking template.
- Final URL suffix.
- Account-level custom parameters are not supported.
- Tracking template.
- Final URL suffix.
- Custom parameters.
- Omit a field to leave it unchanged.
- Use an empty string to clear a tracking template or final URL suffix.
- Use an empty object or list to clear custom parameters.
- A custom-parameter update replaces the complete existing set, so include every parameter you want to keep.
- Campaign custom parameters support up to 8 alphanumeric keys.
For customer 123-456-7890, show the current campaign tracking template, suffix, and custom parameters for campaign 111222333. Then replace the suffix with utm_source=google&utm_medium=cpc, preserve the current template, and verify the live values.
- The tracking template is invalid or contains unsupported ValueTrack syntax.
- A custom-parameter key contains punctuation or exceeds platform limits.
- An update unintentionally removes parameters because the complete existing set was not included.
- The final URL belongs to a Demand Gen carousel card rather than the ad’s top-level URL.
- The connected user can read the campaign but does not have permission to edit it.
Campaign budgets, bidding strategies, and conversion actions
Manage advanced optimization settings for existing Google Ads campaigns. These tools are useful when you want to split campaigns out of shared budgets, move campaigns between portfolio and standard bidding, clean up unused portfolio strategies, or update conversion action values for value-based bidding.Campaign budgets
What you can do- List campaign budgets and see which campaigns use each budget
- Create standalone/non-shared budgets
- Create shared budgets
- Move a campaign to an existing budget
- Create a new dedicated budget and attach it to an existing campaign
- Update budget amount and shareability where Google Ads allows it
- Remove unused budgets safely
- Campaigns cannot have no budget.
- “Detaching” a budget means replacing it with another budget.
- Replacing a campaign’s budget can affect spend/overdelivery behavior. If the goal is only to change spend, update the current budget amount instead.
- Otto does not remove old or unused budgets automatically.
Bidding strategies
What you can do- List portfolio bidding strategies
- Create portfolio bidding strategies
- Attach a campaign to an existing portfolio bidding strategy
- Move a campaign back to standard campaign-level bidding
- Remove unused portfolio bidding strategies safely
- Link an existing portfolio bidding strategy to an existing shared budget
- Attach a campaign to an aligned shared budget + portfolio strategy in one update
- Move a campaign out of an aligned shared-budget + portfolio setup into a new dedicated budget and standard bidding
- Standard bidding: Manual CPC, Target Spend, Maximize Conversions, Maximize Conversion Value, Target Impression Share
- Portfolio bidding: Target Spend, Target CPA, Target ROAS, Maximize Conversions, Maximize Conversion Value, Target Impression Share
- Standard bidding belongs to one campaign and is set directly on the campaign.
- Portfolio bidding is an account-level bidding strategy that can be shared across campaigns.
- Shared budgets and portfolio strategies can be explicitly aligned in Google Ads.
- When alignment exists, budget and bidding changes often need to happen together.
- Otto includes atomic workflows for these aligned shared-budget + portfolio cases.
- Otto does not remove unused portfolio strategies automatically.
Conversion actions
HireOtto can inspect conversion actions, create supported native Google Ads conversion actions, import eligible GA4 key events, and update supported conversion settings.Create a native Google Ads conversion action
Provide a name and choose the source type:- WEBPAGE — default.
- UPLOAD_CLICKS.
- UPLOAD_CALLS.
Import a GA4 key event
The event must already be marked as a key event in a Google Analytics property linked to the Google Ads account. Provide the exact event name. Include the GA4 property ID when possible; it is required when the same event name exists in more than one linked property.Update an existing action
Supported settings include the name, status, category, counting type, primary status, default value, value behavior, attribution model, and eligible lookback windows. Editability depends on the action’s source, ownership, and current Google Ads eligibility. Use primary status – not the legacy include-in-conversions field – to control whether an eligible conversion goal can influence optimization. Changing primary status or attribution can affect both reporting and automated bidding.Safe sequence
- List the existing actions and check for duplicates.
- Confirm whether the business outcome belongs in Google Ads natively or should be imported from GA4.
- Prepare the exact settings.
- Create, import, or update one action.
- Validate measurement data before making it primary.
- Read the action back and confirm the live settings.
Examples
Create a secondary WEBPAGE conversion action named Qualified demo request for customer 123-456-7890. Count one conversion, use no default value, and return the new resource without changing campaign goals.
Import the GA4 key event qualified_lead from property 123456789 into customer 123-456-7890 as a secondary conversion. Show eligible matches before importing.
Update conversion action 987654321 so it remains secondary and uses a 30-day click-through lookback window. Show the current and proposed settings before applying the change.
Common failures
- A conversion action with the same purpose already exists.
- The GA4 property is not linked to the Google Ads account.
- The GA4 event is not marked as a key event.
- The event name is ambiguous across linked properties and no property ID was provided.
- The requested field is not editable for that action type or origin.
- The connected Google user lacks permission to make the change.
- The tag or offline upload pipeline has not been implemented; creating the action alone does not solve measurement.
Performance Max
Full management for PMax campaigns — create, update assets, manage signals. → See the Performance Max guide for the full end-to-end walkthrough.Create a PMax campaign
One step: creates the budget, campaign, asset group, and uploads your initial assets. Required assets- Headlines (3–15, max 30 chars each)
- Long headline (1, max 90 chars)
- Descriptions (2–5, max 90 chars each)
- Business name
- At least 1 landscape marketing image
- At least 1 square marketing image
- At least 1 logo
- Audience signals and search themes
- Location and language targeting
- Target CPA / target ROAS
- Brand guidelines (locks business name and logos at campaign level, shared across all asset groups)
- EU political advertising declaration
Add a new asset group
Add a second asset group to an existing PMax campaign.Update asset group status
Pause, enable, or remove an asset group without touching the campaign.Update assets
Add new assets (upload new creative by URL):List brand assets (brand-guidelines campaigns)
Returns business name, logo, and landscape logo assets attached at the campaign level.Manage audience signals and search themes
Change history
See what changed in an account, when it changed, and who changed it. Two levels of detail- Quick scan — which campaigns and ad groups were touched in a given period
- Detailed timeline — field-level change log with timestamps and editor info (last 30 days)
- Date range (required)
- Filter by campaign or ad group
- Output mode:
summary,summary_and_csv,csv_only
Daily ops audit
The daily operations audit is a read-only Agency-plan check for delivery, pacing, and sudden spend changes. It is designed for daily triage, not a full optimization review.What it checks
- Campaigns that stopped serving even though they are enabled.
- Spend spikes or drops against the recent baseline.
- Campaign and shared-budget pacing.
- Coverage gaps or partial results that may make a finding incomplete.
Defaults
- Audit date: yesterday in the Google Ads account time zone.
- Campaign scope: enabled campaigns. Paused campaigns can be included; removed campaigns are excluded.
- Baseline: the previous 14 days.
- Spend spike threshold: at least 1.5 times the baseline.
- Spend drop threshold: at most 0.5 times the baseline.
- Pacing thresholds: above 1.5 times or below 0.5 times expected pacing.
- Minimum baseline activity: 1 unit of account currency in average daily cost and 10 average daily impressions.
- Inline findings: 25 by default; set 1–100.
- CSV link lifetime: 30 minutes by default; set 1–1,440 minutes.
What it does not check
Daily operations does not review search terms, keyword opportunities, ad creative, location performance, or device performance. Use the weekly optimization audit for those questions.Example
Limits and failure cases
- The audit never writes to Google Ads.
- A shared budget is evaluated as a group, so the result may not assign all pacing pressure to one campaign.
- Newly launched or very low-volume campaigns may not have enough baseline activity to classify a spike or drop.
- If Google Ads returns only part of the requested data, treat the audit as partial and review the coverage notes.
- Download links expire. Rerun the audit if a CSV link has expired.
Weekly optimization audit
The weekly optimization audit is a read-only Agency-plan review that turns recent Google Ads performance into a ranked decision queue. It covers campaign trends, search terms, keywords, and responsive search ads without changing the account.Default windows and thresholds
- Performance window: the last 7 days.
- Comparison: the immediately preceding period of equal length.
- Search-term lookback: 30 days, excluding the most recent 3 days to allow for reporting and conversion lag.
- Negative-keyword candidate: fewer than 1 conversion, at least 3 clicks, and no minimum-spend requirement unless you set one.
- New-keyword candidate: at least 1 conversion.
- Keyword review: at least 10 clicks.
- Target CPA: optional. If omitted, HireOtto can use the account CPA when the account has at least 5 conversions in the selected period.
- High-CPA threshold: 1.5 times the target or account CPA.
- RSA review: at least 100 impressions; low CTR is 75% or less of the ad group CTR.
- Campaign performance drop: current conversions at 50% or less of the comparison period.
- Detailed rows: 500 per detailed query by default; set 25–5,000.
- Inline findings: 50 by default; set 1–200.
- CSV link lifetime: 30 minutes by default; set 1–1,440 minutes.
What it can surface
- Campaigns with material changes in spend, conversions, CPA, or search impression share.
- Search terms that may belong on a negative list.
- Converting search terms that may deserve their own keyword.
- Manual CPC keywords that may need a bid review.
- Disapproved or low-CTR responsive search ads.
- Findings that need more evidence before a marketer acts.
Example
Limits and failure cases
- Candidate means review, not automatic action. Check intent, conversion lag, sample size, match type, lead quality, and business context before approving a change.
- A search-term row can be absent because of Google Ads privacy thresholds or reporting limits.
- If the account has fewer than 5 conversions and no target CPA is supplied, CPA-based classifications may be limited.
- Partial results and row limits appear in the coverage notes. Increase limits or narrow the scope when important entities are missing.
- The audit never writes to Google Ads.
Account health audit
The account health audit is a read-only Agency-plan check for structural, tracking, targeting, quality, and coverage risks. Use it monthly, quarterly, or before taking over an account.Defaults
- Review window: the last 90 days.
- Comparison: the immediately preceding 90 days.
- RSA copy review: off by default.
- Detailed checklist: off by default.
- Keyword rows: 5,000 by default; set 100–20,000.
- Ad rows: 1,000 by default when RSA copy review is enabled; set 100–5,000.
- Inline findings: 100 by default; set 1–300.
- CSV link lifetime: 30 minutes by default; set 1–1,440 minutes.
What it reviews
- Auto-tagging and conversion-tracking readiness visible in Google Ads.
- Search and display network settings.
- Location targeting mode and language targeting.
- Keyword count by ad group, match-type mix, Quality Score, and Quality Score components.
- Negative-keyword coverage.
- Geographic and device performance.
- Search impression share lost to budget or rank.
- Optional RSA counts, copy review, and pinning patterns.
Example
Limits and failure cases
- The audit can only evaluate data available through the connected Google Ads account. It does not know CRM lead quality, competitor activity, landing-page experiments, or offline business context unless you provide that context separately.
- Enabling RSA copy review increases the amount of ad data requested and can make large-account audits slower or more likely to return partial coverage.
- A missing signal is not always a broken setup. Confirm account structure, measurement design, and campaign intent before changing anything.
- Review coverage notes whenever limits, permissions, or Google Ads reporting restrictions exclude part of the account.
- The audit never writes to Google Ads.
Google Search Console
Analyze organic search data and URL indexing from Google Search Console. Before using Search Console tools, connect Search Console:What you can do
- List Search Console properties available to your connected Google account
- Pull organic query reports
- Review page performance
- Break down results by country, device, date, hour, or search appearance
- Export Search Console data to CSV
- Check whether a URL is indexed in Google
- List submitted sitemaps
Example prompts
Common access, output, and safety rules
- Account access: HireOtto only sees Google Ads accounts available to the Google identity you connect. The user’s Google Ads role determines whether a write can succeed.
- Customer IDs: use the ten-digit customer ID without guessing. Manager-account access does not remove the need to target the intended client account.
- Audit access: daily operations, weekly optimization, and account health audits are Agency-plan features and are always read-only.
- Search Console: Search Console tools require separate authorization and remain read-only.
- Inline and CSV output: large results may be summarized inline and returned as a downloadable CSV. CSV links expire; rerun the request to create a fresh link.
- Partial coverage: API limits, row limits, permissions, privacy thresholds, and unavailable metrics can produce partial results. Read the coverage notes before acting.
- Validation: Google Ads can reject writes because of account state, entity state, field compatibility, date rules, policy, or permissions. Correct the request and retry only after reviewing the error.
- Verification: for consequential changes, ask HireOtto to show the current value, proposed value, customer ID, and entity IDs; wait for approval; apply one class of change; then read the live value back.
- Pricing and credits: availability and credit use depend on the active HireOtto plan. Check the current pricing page before promising access.